拜占庭帝国,又名东罗马帝国,在历史上是个军事强国,位于现在的土耳其。但这里所说的拜占庭将军问题(Byzantine failures)并不是历史真实事件,而是计算机科学家莱斯利·兰伯特针对点对点通信中的基本问题——分布式系统一致性问题特意编造的故事。
故事是这样编的:拜占庭帝国要去进攻一个敌国,派出了10支军队去包围这个敌国城池,这10支军队必须分开驻扎包围,而这个敌国十分强大,拜占庭军队里的任何一支,想要单独进攻的话都毫无胜算,除非至少超过一半(即6支及上面这些的军队)同时进攻,才能打败敌人。10支军队的拜占庭将军们不能够聚在一起开会商量“要不要进攻”和“什么时候进攻”,只能依靠通信兵传递信息,万一将军当中存在叛徒,传递了虚假信息,比如告诉其中5个军队去进攻,其它4个军队不进攻,就会导致全盘失败。在这种状态下,拜占庭将军们讲解保证有多于6支军队在同一时间一起发起进攻,从而赢取战斗?
因此,拜占庭将军问题的简单描述就是说在互不见面、互不信任的分布式网络中,节点与节点之间讲解达成共识,执行真实性的共同行动计划,达到行动一致的结果。
在比特币系统里,一个个分散的节点(矿工),就好比包围敌人的一个个拜占庭将军,如果有矿工作恶制造假账,就好比军队里出现叛徒。向其它节点传送假账就会破坏系统的真实性,而使用POW机制使得矿工需要找到一个正确的随机数才能记账,这个随机数谁都控制不了,这样到底就形成了共识努力去挖矿,这就是我们常说的拜占庭将军问题。
免责声明: 文章源于会员发布,不作为任何投资建议
如有侵权请联系我们删除,本文链接:https://www.sws100.com/biquan/309125.html