拜占庭将军问题

拜占庭将军问题是一个共识问题,首先由莱斯利兰伯特等人在1982年提出,又名拜占庭容错问题、类两军问题。对于该问题的非正式描述是:拜占庭帝国想要进攻一个强大的敌人,为此派出了十支军队去包围这个敌人。这个敌人的实力虽然无法与拜占庭帝国相匹敌,但也足以抵御五支常规拜占庭军队的同时袭击。基于某些原因,这十支军队不能集合在一起单点突破,只能在分开的包围状态下同时攻击。他们任一支军队单独进攻都毫无胜算,除非有至少6支军队同时袭击才能打败敌人的进攻。这些军队分散在敌人的四周,依靠军中信使相互通信来协商进攻意向及进攻时间。眼下困扰这些将军的问题是,他们不确定军中信使是否绝对忠诚。信使中一旦混入敌国奸细,就可能擅自改变进攻意向或者进攻时间并将错误传递给其他将军,阻碍军事行动的顺利进行。在这种状态下,拜占庭将军们该如何找到一种分布式的协议来让他们远程协商、臝取战斗呢?

拜占庭将军问题

将上述概念引入到P2P通信网络中,则可以理解为在分布式网络中,处于不同地理位置的计算机通过讯息交换尝试达成共识,但有时候系统中的协调计算机和成员计算机可能由于系统错误而交换错的讯息,影响最终的系统一致性。

区块链通过对这个系统做出一个简单的修改,解决了拜占庭将军问题。以比特币系统为例,比特币的区块链通过基于哈希算法的工作量证明机制为发送信息加入了成本,进而降低了信息传递的速率,并引入了随机元素以保证在一个时间之内只有一个城邦(即用户)可以进行广播。那台成功计算出有效哈希值的计算机将所有之前的信息汇聚在一起,再将自己的信息附于末尾,加之以数字签名,向网络中的其他机器广播出去。只要网络中的其他机器接收到并验证了这个正确的哈希值和附着在上面的信息,它们就会停止当下的计算,使用新的信息更新各自手中持有的账本副本,然后在更新后的账本的基础上开始新一轮的哈希值计算。如此这般,所有网络上的计算机都能够保证使用着同一版本的账本,拜占庭将军问题得以完美解决。

玖壹区块链声明

加微信:469649885区块链培训教程
还可免费获取区块链培训班试学名额

分享:

扫一扫在手机阅读、分享本文

区块链评论

玖壹区块链培训

玖壹区块链培训学院简称(玖壹学院http://www.91xiubbs.com/)提供区块链技术培训资料、区块链开发培训视频教程等下载,不过网上自学区块链技术课程必然存在一些缺陷:遇到问题易卡壳、学习周期漫长、无针对性等。区块链培训机构现场面对面的讲授区块链培训课程可以让您和团队在最短时间内掌握正确、系统、高效的区块链实战技术。