美文网首页百日写作
55/100拜占庭将军问题

55/100拜占庭将军问题

作者: 刘先生的哲 | 来源:发表于2018-11-06 21:44 被阅读0次

    20181106坚持百日写作,第55天。

    今天看到了晓书童频道关于《罗马帝国衰亡史》的送书福利,这本书是何帆搭建自己知识框架200本书单中历史类25本之一,也是我还未曾读过的,所以我抱着占便宜的心态,看到了晓书童要求留下所知道的罗马帝国的种种,脑海第一反应出来的就是前几天了解区块链时候接触到的“拜占庭将军问题”,借此机和大家一起分享所学,供指正。

    当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,采取将军投票的策略来决定是进攻还是撤退,也就是说如果多数人决定进攻,才能去攻打敌人的阵营。但是军队中如果有奸细,比如个别将军已经反水故意乱投票,或者传令官叛变擅自修改军令等情况,这就很容易造成了最终达成的意见,可能并不代表大多数人的意见。这时在已知有人谋反的情况下,怎么样才能让其余忠诚的将军在不受叛徒的影响下达成一致?这个问题,就是拜占庭将军问题。

    那么,现在大家已经知道拜占庭将军问题是什么了,但我要说的是拜占庭将军问题并不是真实存在的历史事件,而是图灵奖得主莱斯利·兰伯特和他的两位同事于1982年在其论文中提出的一个问题。

    拜占庭将军问题其实就是一个共识问题模型。比如,此时有5个拜占庭的将军,要通过投票一起决定进攻还是撤退,以及进退的时间。每个将军都派出信差,将自己的决定传达给其他四人,这样一来,每个人看到信息后,加上自己的票数,获得3票的就是最终结果。那么问题来了,困扰这些将军的是:不确定他们中是否有叛徒?叛徒会不会擅自变更进攻意向或者进攻时间?

    我们试想如果这5位将军中,有1位叛徒,会有两种情况:

    1️⃣其他4位将军投票,2进攻2撤退时,这个叛徒放出虚假消息:“撤退”。得到2进攻3撤退的投票结果,最终撤退。

    2️⃣如果4位将军投票,2进攻2撤退时,叛徒狡诈得很,两边骗。对2位进攻的将军说“进攻”,对2位撤退的将军又说“撤退”。2位进攻的将军以为:3进攻2撤退,最终进攻;2位撤退的将军以为:3撤退2进攻,最终撤退。最终内部混乱,一触即溃。

    而且,即使没有叛徒,五位将军一致进攻,但通讯消息不即时,设想的进攻时间不一致,秩序混乱,又怎么办?能否找到一种办法,让他们能够远程协商,即时沟通,从而赢得胜利呢?现代通信技术给拜占庭将军们创造了打赢的条件,给这5个将军分别配了一台电脑,首先这是不是就解决了通讯时间延迟的问题?但是问题来了,如果这5个将军同时发起决策,决策还有分歧,势必会造成混乱,行动难以一致。那该怎么办?但如果将军A首先对将军B、C、D、E发起一条决策内容:“我将在明天下午3点进攻,你愿意加入吗?”将军B、C、D、E看到将军A签过名的决策提议,同意的话,他们也会在上面盖个戳,轮流确认,多重签名。这种共识机制,就有效地确保了大家行动的统一。 邀请卡.jpeg

    相关文章

      网友评论

        本文标题:55/100拜占庭将军问题

        本文链接:https://www.haomeiwen.com/subject/rdupxqtx.html