第26讲:拜占庭将军问题
 1512

试听90第26讲:拜占庭将军问题

倍速播放下载收听

00:00
09:02


购买所属专辑,收听更多内容

你好,我是朱嘉伟,欢迎收听由虫洞社区和火币集团共同打造的《从0到1,全面学透区块链》V3.0最新版。

 

在结束区块链全球发展现状的学习后,即将进入区块链共识机制与社区治理学习之前,让我们一起来复习下,在区块链全球发展现状这部分我们学习到的知识点。

 

第21讲:国内巨头是如何布局区块链的? 我们学习了国内巨头阿里、腾讯、京东等在区块链上的布局。

 

第22讲:海外巨头如何区块链布局的?我们学习了海外巨头IBM、微软、谷歌、亚马逊、苹果等在区块链上的布局。

 

第23讲:中国央行及地方政府区块链政策。我们学习了中国央行及地方政府区块链政策,包括央行、北京、上海、深圳、杭州、香港、雄安的区块链政策。

 

第24讲:全球各国区块链立法和政策现状。我们学习了北美洲的美国、加拿大;亚洲的中国、新加坡、日本、韩国、印度;澳大利亚及欧洲的欧盟、英国、俄罗斯的区块链立法与政策。

 

第25讲:全球稳定币发展的现状及趋势。我们学习了从USDT崛起到三种主要模式稳定币的兴起,包括法定资产抵押模式、数字资产抵押模式、算法模式,最后讲解了项目方参与稳定币获取红利收入的两种方式,一种是稳定币商业模式延展带来的收益,另外一种是参与稳定币生态中稳定机制执行的收益。

 

如果记忆的不是很清楚了的话,建议你再重复听下。今天我们将进入区块链共识机制和社区治理的学习,第26讲:拜占庭将军问题。

 

一、拜占庭将军问题由来与含义

 

拜占庭将军问题最早是由 Leslie Lamport 等科学家在其论文《The Byzantine Generals Problem》中提出:

 

在公元1000年,拜占庭帝国派9支军队攻打一个强敌,将敌人的城市包围。由于某些原因,军队分散在城市的四周,相互之间只能依靠军队的将军相互通信来协商是进攻还是撤退。由于敌人实力强大,必须同一时间有5支以上的军队进攻,拜占庭帝国才能获胜,否则一定会失败。

 

这时候困扰将军们的问题来了:将军中可能出现叛徒,他们可能故意向其他将军传递假消息。假设有9位将军投票,其中1名叛徒。8名忠诚的将军中出现了4人投进攻,4人投撤离的情况。这时候叛徒可能故意给4名投进攻的将领送信表示投票进攻,而给4名投撤离的将领送信表示投撤离。

 

这样一来在4名投进攻的将领看来,投票结果是5人投进攻,从而发起进攻;而在4名投撤离的将军看来则是5人投撤离。这样各支军队的一致协同就遭到了破坏。那么当你是其中一名将军,在准备进攻时,如何判断一定会有另外4支军队与你并肩作战呢?

 

拜占庭问题即讨论在此情况下,如何让忠诚的将军们能达成行动的一致。

 

上述的故事映射到分布式网络里,将军便成了计算机,而信差就是通信系统。在分布式网络中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的成员计算机可能因为故障不响应或者发出”恶性“响应,同时传递信息的通讯网络也可能造成信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。

 

如何让使得网络中不同的成员关于全体协作的策略得出一致性的结论,是必须解决的问题。

 

二、拜占庭将军问题的解决方法

 

在比特币出现之前,解决分布式系统一致性问题的主要方法是Lamport提出的Paxos算法或拜占庭容错(BFT)算法。Paxos类算法仅适用于中心化的分布式系统,这样的系统的没有“叛徒”(不会发送虚假错误消息,但允许出现网络不通或宕机出现的消息延迟)。对于拜占庭容错算法,Lamport 在其论文中指出,假如将军总数(总节点数)为 N,叛变者(故障节点)数为 F,只有当 N >= 3F + 1 时,此问题才有可能解决。

 

比特币网络同样是分布式网络,一样需要解决拜占庭将军问题,但它并没有采用Lamport提出的两种解决办法。比特币的区块链网络在设计时使用了 工作量证明(Proof of Work) 的思路,引入了奖励和惩罚、随机性的概念。

 

工作量证明,也就是俗称的“挖矿”,指的是比特币矿工们共同去解同一道超级复杂的“数学题”,这道数学题需要一定的计算量才能做出来,而率先得到答案的矿工能获得奖励,并有权利宣布新区块。

 

但如何保证率先得到答案的矿工宣布的区块信息是正确的呢?

 

依靠博弈论理论。

 

在传统分布式系统中,基本假设是有一定比例的节点是诚实的。但博弈论理论则给出了另一种完全不同、更加符合真实世界人的行为的方法。比特币网络的基本假设不限定节点是否”诚实“,假定的是每个节点都按照自己的意愿行动。每个节点考虑其他节点的所有可能策略后,发现”诚实“地维护比特币区块链,能让自己受益最高。

 

与此同时,比特币网络还引入了随机性的概念,即概率。比特币网络不再纠结共识的确定性,相反,共识的最终确认是概率意义上的存在。在比特币网络中,最长链为有效链,随着时间的流逝,我们对于一个区块的认识和最终总体共识相吻合的概率将越来越大。

 

虽然打破了原来分布式网络的假设,但事实上,比特币的运行情况的想象情况比众多专家设想的好很多。后来的各种 Proof of X 的算法,也都是沿着比特币的思路进行改进。

 

好了,总结下,今天我们学习了什么是拜占庭将军问题以及比特币是如何解决拜占庭将军问题的。这对你是不是有些启发呢?

 

留一个思考题给你:

 

在比特币的工作量证明中,所有参与“挖矿”的矿工都要耗费大量的算力和电。最后只有率先解出数学题的矿工才有资格获得区块奖励,其他矿工将一无所获。你认为这算不算一种浪费呢?

 

最后,恭喜你完成《从0到1,全面学透区块链》第26讲的学习。下节课,我们将一起学习第27节课:共识机制历史及3种主流共识机制。


评论

    还没有评论,快来发表第一个评论!

打开喜马拉雅,发表评论