昨日,六角联微信官方账号发布《论比特币和以太坊的宕机》原文后,引发了一些对区块链工作原理感兴趣的朋友的热议。Magic Piper社区的所有者Claire提出了一个好问题:为什么中本聪没有为比特币设计终结性?或者说,为什么中本聪的比特币没有明确的终结性?
透彻理解这一问题,需要对计算机科学的重要分支——分布式系统的发展历史和关键问题有全面的了解和深入的思考。刘娇莲的《上帝掷骰子:比特币的历史》(以下简称《比特币的历史》)一书第七章“拜占庭将军”用了六个小节对这段往事做了比较全面的阐述。接下来,笔者试图用简洁的篇幅和精炼的逻辑对上述问题给出一个通俗易懂的回答。
中本聪发明比特币时克服或解决了哪些关键困难?分散共识问题,或称分布式一致性问题。特别是比特币需要解决的是,在一个有些人可能掉链子(宕机或断网)、有些人可能作恶(人人都是佛系魔法)的不确定环境下,如何在没有中央权威或中央统治者的帮助下自动达成共识或一致性。这个问题就是计算机科学家莱斯利·兰波特(Leslie Lamport)在1982年的著名论文《拜占庭一般问题》中指出并命名的“拜占庭一般问题”。
莱斯利·兰波特并不是第一个意识到这个问题的人,而是他的同事罗伯特·肖斯塔克。那是在1978年。从1978年到2008年中本聪发表《比特币白皮书》的30年间,整个人类计算机科学领域没有人真正解决过这个问题。
为什么这个问题这么难解决?也许有些研究过分布式系统的朋友会说,Lamport在那些年就已经给出了解决方案!这是拜占庭容错(BFT)算法。后来在1999年,有人继续改进算法,提出了实用拜占庭容错(PBFT)等一些新算法。
实际上,兰波特解决问题的思路走错了方向。所有BFT类的算法必须隐含一个假设,即节点时钟同步假设。否则,就无法达成共识或协议。而这种隐含的假设恰恰是自相矛盾的:一个想作恶的人当然可以篡改他所控制的节点的时钟,使其不同步。如果要满足这个假设,就必须取消拜占庭环境的设定。然后,拜占庭容错算法只能在非拜占庭环境下工作,这个解决方案就是解决孤独!如果设置了非拜占庭环境,我们显然可以切换到一种效率上百倍的算法来实现分布式一致性,比如Google Spanner和微信后台使用的Paxos算法(《历史故事》第六章第十九句“时钟同步”)。
你永远不能叫醒一个装睡的人。直到今天,仍有声称去中心化的公共链系统,使用BFT、PBFT和其他变体作为共识算法,并且在错误的道路上顽固不化。事实上,在1985年,三位计算机科学家——耶鲁大学的迈克尔·费舍尔、麻省理工学院的南希·林奇和英国华威大学的迈克·帕特森——联合发表了一篇著名的论文,题为“用一个错误的过程不可能达成分布式共识”,并提出了著名的“FLP不可能定理”。
FLP定理给BFT算法一个打击:只要取消时钟同步的假设,别说有人作恶,哪怕只是有人掉链子,整个系统的共识分分钟就崩塌了。
路被堵住了。兰波特知耻而后勇。你觉得他努力了一下子克服了时钟同步依赖吗?不会的,他的英雄没有吃眼前亏,韩信可以过坡受辱。他借了毛驴,平躺下来,接受了身败名裂的现实。从1990年到1998年,他在非拜占庭环境下提出了一个高效的一致性算法Paxos。为什么花了这么长时间?《石花》第27句“美丽的岛”中,描写了这个离奇曲折的故事,篇幅太长,无法展开。
转眼十年过去了。
上帝似乎总是爱把更多的挫折和挑战给那些更失意更勇敢的人,“收获他们做不到的。”就在Lamport关于Paxos算法的论文发表的同一年,伯克利大学教授Eric Brewer提出了一个理论假设:分布式系统,无论如何,都不可能同时做到这三件事:一致性、可用性和分区容忍度。
它看起来像一个不可能的三角形。但是因为第三点不得不接受,因为网络不可能100%可靠,那么本质上就是一个选择:你要一致性还是可用性?鱼翅,我要的;熊掌才是我想要的。鱼与熊掌不可兼得,你该选哪个?
Paxos选择了什么?Paxos选择了强一致性。那么就意味着它必须、必须、不得不放弃可用性。放弃可用性并不意味着一个使用Paxos算法的系统总是宕机,但它必须有宕机的机会。停机意味着全面干预、协调和重启。这意味着,对集中控制的依赖。思考5秒钟。著名的“停机链”索拉纳倒下后该怎么办?当然是项目方和基金会出面协调全网重启!它不能自我恢复。
同时,别忘了Paxos隐含的前提永远是同步假设。高性能和强一致性的背后是极其精确的时钟同步。Google Spanner系统甚至需要使用原子钟来保证节点之间的精确计时。这种体系几乎无法延伸到比特币面临的拜占庭环境。
埃里克·布鲁尔的理论假说直到2002年才被麻省理工学院的塞斯·吉尔伯特和南希·林奇成功证明。从此,它就成了一个众所周知的“上限定理”。
’互联网在20世纪90年代开始发展。如今许多互联网巨头都在& # 8217;90-’成立于1999年。面对拜占庭问题,互联网技术直接选择了“平躺”,向拜占庭一般的问题投降,直接设置公司级防火墙,将坏人拒之门外,营造非拜占庭的环境,与自己集中控制的计算机组成分布式集群,对外提供高性能的互联网服务。
面对拜占庭一般的问题,行业选择了投降。这和Lamport在看到FLP定理被证明后的选择是一样的。
你可以逃避拜占庭一般的问题,但是你逃不掉上限问题。工业界的实践并不比学术界晚。然而,兰波特再次成为“反向指标”(reverse indicator)。互联网系统的经典技术路线不是像Paxos一样选择一致性,而是反其道而行之,选择可用性。
为什么?这很容易理解。你可以接受互联网服务中的少量数据不准确、不及时(一致性问题),但不能接受互联网停止服务、拒绝服务(可用性问题)。而且随着互联网用户规模和数据量的爆炸式增长,保持全网数据的强一致性(无时无刻的一致性)是非常困难的。
这既是必要的,也是困难的。心软,适当妥协才是明智之举。互联网界自然选择了攻击一致性,在强一致性上妥协,在一段时间后削弱强一致性达成一致,也就是所谓的“终极一致性”。
换句话说,互联网系统可以随时响应用户的访问请求,但不能保证操作后立即得到想要的结果。数据同步更新通常需要很短的时间t。比如作者在蛟刘链家的微信官方账号推送这篇文章,并没有立刻被所有读者收到,而是陆续收到。但最终,或长或短的一段时间后,每个人都会收到相同(一致)的文章内容。
这种最终达到全局一致性的状态叫做最终性,或者叫“终结性”。
最终,consistency走上了与Lamport不同的道路,为互联网数十年的大规模发展铺平了道路。然而,虽然它解决了上限问题,但它只能在集中控制的非拜占庭环境中工作。
好了,现在让我们回到原来的问题,拜占庭一般的问题。如果我们想要一致性(记账数据不能出错)、可用性(系统不能有任何宕机的可能)、拜占庭环境(有破节点和恶节点)、时钟同步(任何一个节点都可能不准确或故意篡改时间),这样的分布式共识系统能设计出来吗?
几乎每个人都会说不。而且越是有专业知识的人,他们可能越相信这样的系统是不可能的。因为我见过困难,我害怕。当中本聪在2008年10月31日首次披露比特币白皮书时,几乎所有看过白皮书的人都有同感。
中本聪的解决方案是放弃(明确的)终结性。把最终的一致性变成概率性的一致性,把决赛变成概率性的终局,也就是有一定的概率达成一致,达到决赛,而且这个概率随着时间的推移迅速增加,很快接近100%,但永远达不到100%。在这个意义上,也可以说中本聪把最终一致性中“最终”这个词所代表的短暂时间t推向了无限。
用数学语言来说,它适用于任何测试
如果我们允许一致性的概率p = 1,那么显式终结或最终一致性是概率终结的一个特例:有t
如果中本聪共识中的概率收敛得足够快,用不了多久,P就会非常非常接近1。在《比特币白皮书》第11节的“计算”部分,中本聪计算了两个例子:当恶意计算能力占10%时,10块后,一致性概率将达到99.99988%;当比例为30%时,50块后,概率会达到99.99994%。(历史故事附录B:比特币白皮书翻译刘娇莲)
随着时间的不断进步,区块链的不断延伸,一致性概率会从0.9、0.99、0.999迅速增加,并会逼近0.9循环小数,即1。
比特币不再定义“最终”,而是把“最终”的定义留给了用户和我们。这也意味着比特币的终结也是主观的。在中本聪的白皮书中,乐观的计算是一致性的概率是99.9%。只要错误或恶意算力占比不超过10%,我们进入区块后只需要将交易延长五个区块,也就是所谓的“六区块确认”,就可以认为已经达到了最好的足够终结性。
六个街区,大约一个小时。比较乐观的人可以主观认为三块就够好了。比较悲观的人,也可以默默等待更久。
通过放弃设置一个强迫所有人接受的明确的终结性,比特币系统只提供一致的概率计算,把接受共识的时间留给每个用户的主观性,从而一举突破了上限定理和FLP不可能定理,放弃了对时钟同步假设的依赖,真正解决了拜占庭一般问题,实现了真正去中心化的记账系统。
我们有没有可能继续往上爬,即保持和比特币一样的去中心化水平,解决拜占庭一般问题,而不放弃显式终结,通过确定性算法和机制达到显式终结?我对此并不十分乐观。直观来看,可能类似于“发明永动机”来解决拜占庭将军的问题,而不需要明确放弃。不同的是,在计算机分布式系统领域,什么是“热力学第二定律”目前还不得而知。
更大的矛盾在于:如果放弃中本聪推出的工作量证明(POW)——出于任何政治正确或者环保等其他原因,比如改成PoS或者其他算法;或者说,我们不使用中本聪推出的链式块分类帐(区块链),而是使用其他数据结构,比如DAG (graph),所以实现显式终结是必然的、必要的、必须的,否则,不需要消耗巨大外部能量和成本的数据就很容易被推翻、颠覆和篡改。这样,我们真的能同时拥有必须实现的明确的最终性和必须克服的拜占庭一般问题吗?如果实践和理论最终证明,想要外显是不可能克服拜占庭一般问题的,想要克服拜占庭一般问题就必须抛弃外显的终结性,那么我们将面临怎样的未来?是巨大的挫折还是理论极限的突破?
写到这里,笔者不禁心里冒了一把冷汗,耳边似乎回响着当年(2009年2月15日)中本聪说的话: (石华第三十八句中的“更好的金子”)
“许多人自动忽略了电子货币是亏损的原因,因为自上世纪90年代以来,所有(从事这项业务的)公司都已倒闭。很明显,只是因为那些系统的集中控制,才注定了他们的灭亡。我认为这是我们第一次尝试一个分散的、不可信的系统。”
本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信(j7hr0a@163.com),我们会及时处理和回复。
原文地址"中本聪的比特币值多少钱,中本聪发布了首个比特币软件":http://www.guoyinggangguan.com/qkl/149281.html。

微信扫描二维码关注官方微信
▲长按图片识别二维码