星球日报
搜索
手机客户端
iPhone · Android
公众号
微信公众号

经常听说的拜占庭将军问题指的是什么?| 区块链课堂第 16 问

2018-09-02

拜占庭将军问题是在问题已解、“信道”可靠的前提下,讨论各军之间如何达成共识。

编者按:本文来自哈希派(ID:hashpai),作者:LucyCheng,星球日报经授权转载。

经常听说的拜占庭将军问题指的是什么?| 区块链课堂第 16 问

区块链的出现解决了闻名已久的拜占庭将军问题——1982年由Leslie Lampoort提出用于解释一致性问题的模拟场景,也是共识机制需要解决的问题。 

在介绍之前不得不提一下两军问题(计算机领域经典思想实验)。该模拟场景下,位于峡谷两侧的红军和蓝军想要合力攻下处于谷底且军力强盛的白军。但是红蓝两军之间通信需要穿过白军领地,中间可能会出现信件被截、掉包等情况;使得双方难以达成统一的出兵时间。而绝对可靠的“信道”并不存在,所以两军问题在经典情景下是无解的。

而拜占庭将军问题则是在两军问题已解、“信道”可靠的前提下,讨论各军之间如何达成共识。在这一场景之下,参与讨论的军队不止两个,而是分散在拜占庭帝国辽阔疆域的多支军队。具体来说,拜占庭帝国虽军力强盛,但兵力分散,为此需集齐一定数量的军队才可攻下敌国。也就是说,在出兵之前拜占庭内所有的将军必须达成共识,决定是否发起战争。

不过军队内可能会有叛徒以及敌军间谍等的存在,他们可通过扣留消息或发送错误消息来扰乱整个军队的秩序,左右将军的决定。即使最后共识达成也只能作废,因为忠诚的将军无法判断传信人或者说信件是否可靠。

如果将场景放回现实世界中,那就是一个去中心化的分布式系统,将军们是里面的节点,而节点间通信过程中可能会出现的信息丢失、重复,甚至是内容损坏和篡改问题。如果要让系统运行顺利起来,就需要一个可信的“客观机器”。

本文来自投稿,不代表Odaily立场。如若转载请注明出处。

参与讨论

登录后参与讨论

总文章数:


分享至

微信扫一扫分享

0
企业服务区块链

Copyright 2017-2018 Beijing Star Node Media Culture Co., Ltd.