复制成功

分享至

主页 > 数字货币 >

为什么中本聪不给比特币设计最终性?

2023.05.15

昨日刘教链发布原创文章《论比特币和以太坊的“宕机”》之后,引发了一些对区块链工作原理感兴趣的朋友的热烈讨论。其中,魔笛手社区群主Claire提了一个好问题:为什么中本聪不给比特币设计最终性(finality)呢?或者说,为什么中本聪设计的比特币没有显式最终性(explicit finality)呢?

透彻地了解这个问题,需要对计算机科学的一个重要分支——分布式系统——的发展历史和关键问题作一个全面了解和深入思考。在刘教链所著《上帝掷骰子:比特币史话》一书(https://leanpub.com/history-of-bitcoin 有售,以下简称《史话》)第七章“拜占庭将军”用了6个小节的篇幅对这段往事做了较为全面的铺陈。接下来,笔者试着用简单的篇幅和精炼的逻辑,来对上述问题做一个较为通俗易懂的解答。

中本聪发明比特币,克服了什么关键困难,或者说解决了什么关键问题?去中心化共识问题,或者叫做分布式一致性问题。特别的,比特币要解决的,是如何在有人可能会掉链子(宕机、掉线)、有人可能会作恶(人人皆佛魔两面)的不确定环境中,不借助于一个中心权威或者说中央统治者,就能自动达成共识(consensus)或者一致(consistency)的问题。这个问题,就是由计算机科学家Leslie Lamport在1982年的著名论文《拜占庭将军问题》中所指出和命名的“拜占庭将军问题”。

最早意识到此问题的人,并非Leslie Lamport,而是他的同事Robert Shostak。那是1978年。从1978年到中本聪发表比特币白皮书的2008年,整整30年,整个人类计算机科学界,没有人真正解决这个问题。

为什么这个问题如此难以解决?也许有学过分布式系统的朋友会说,当年Lamport就已经给出了解决方法了呀!就是拜占庭容错(BFT)算法。后来1999年的时候还有人继续改进该算法,提出了实用拜占庭容错(PBFT)等新算法。

事实上,Lamport的解题思路走向了一个错误的方向。所有BFT类的算法,都必须隐含一个假设,节点时钟同步性假设。否则,就无法形成共识、达成一致。而这个隐含假设,恰恰是自相矛盾的:想作恶的人,当然可以篡改他所控制的节点的时钟,使之不同步。要想满足这个假设,就要取消拜占庭环境的设定,那么,拜占庭容错算法只能在非拜占庭环境中工作,这解决方案是解了个寂寞!而如果作了非拜占庭环境设定,我们显然可以换用效率高出成百上千倍的算法来达成分布式一致性,比如谷歌Spanner和微信后台所用的Paxos算法(《史话》第六章第19话“时钟同步性”)。

你永远叫不醒一个装睡的人。直到今天,还有宣称去中心化的公链系统采用BFT、PBFT以及其他变体作为共识算法,在错误道路上执迷不悟。事实上,到了1985年,三个计算机科学家——耶鲁的Michael Fisher、MIT的Nancy Linch和华威大学(英)的Mike Paterson——联合发表了一篇名为《有一个错误进程即不可能达成分布式共识》的著名论文,提出了著名的“FLP不可能定理”。

FLP定理给了BFT类算法当头棒喝:只要取消掉时钟同步性假设,别说有人作恶了,即便只是有人掉链子,分分钟就把整个系统的共识搞崩溃。

路被堵死了。Lamport知耻后勇。你以为他奋发图强,一举克服了时钟同步性依赖了吗?不。他好汉不吃眼前亏、韩信能受跨下辱,借坡下驴、顺势躺平,乖乖接受了这个五雷轰顶的现实。1990-1998年,他提出了在非拜占庭环境下的高效共识算法Paxos。为啥花了这么久?在《史话》第27话“美丽的小岛”有记述这段离奇而曲折的故事,篇幅过长,不再展开。

这一下子就过去了十年。

老天爷似乎总爱给越挫越勇的人更多的挫折和挑战,“增益其所不能”。就在Lamport关于Paxos算法的论文发表的同一年,伯克利大学教授Eric Brewer提出了一个理论假说:分布式系统,无论如何,都不可能同时做到这3点:一致性(consistency),可用性(availability),分区容忍(partition tolerance)。

看起来好像一个不可能三角形。但是由于第三点不得不接受,因为网络不可能100%可靠,那么本质上就是二选一了:你要一致性呢,还是要可用性?鱼翅,我所欲也;熊掌,亦我所欲也。二者不可得兼,舍哪个而取哪个呢?

Paxos选得啥?Paxos选的是强一致性。那么就意味着,它必然、一定、不得不舍弃可用性。舍弃可用性不意味着一个采用Paxos算法的系统总是在宕机,但是它一定有机会宕机。宕机,就意味着要整体干预、协调和重启。也就意味着,对中心化控制的依赖。5秒钟思考一下,著名的“宕机链”Solana宕机之后怎么办?当然是项目方、基金会出面协调全网重启啦!它无法自我恢复。

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier