【摘要】:“拜占庭将军问题”并非如传说中那样,源于公元5世纪的东罗马战场,而是产生于1982年一位美国计算机科学家的头脑当中。这种情形,真伪很难辨别,只有当叛徒的总数不超过将军总数的1/3,成为一个特殊的“拜占庭容错系统”时,才能在很大的消息验证代价后,实现最终的一致行动。
“拜占庭将军问题”并非如传说中那样,源于公元5世纪的东罗马战场,而是产生于1982年一位美国计算机科学家的头脑当中。因此,我们不会使用任何1982年之前的案例来描述这个问题在古老年代的意义,因为再往前追溯,它并未真正、严肃地被提出并加以审视。
在原始的战争年代,将军与将军、将军与下属间只能采用原始的方式——“出行靠走,通讯靠吼”的口头传输。这对应兰伯特论文提出算法中的第一部分的口头消息算法,简称OM(m)算法。这种情形,真伪很难辨别,只有当叛徒的总数不超过将军总数的1/3,成为一个特殊的“拜占庭容错系统”时,才能在很大的消息验证代价后,实现最终的一致行动。这个结果非常令人惊讶,如果将军们只能发送口头消息,除非超过2/3的将军是忠诚的,否则该问题无解。尤其是,如果只有三个将军,其中一个是叛变者,那么此时无解。但这样的错误,这样的有意、无意的“叛徒”却可能经常出现。无论是我们把“叛变的将军”替换成以下哪种,该问题都成立。
• 一个出故障的,向其他计算机不停发出不同错误信息的服务器;
• 一份失效的医疗纠纷合同;(www.daowen.com)
• 一份含混不清的保单;
• 一个可以发出消息,做出行动的错误信息节点。
而这里,每一个错误节点可以做任意事情:不响应;发送错误信息;对不同节点发送不同决定;不同错误节点联合起来攻击其他节点等。没准会出现比这更严重、更荒谬的错误。
如果说“叛变的拜占庭将军”是我们社会中各种类型的信息节点的隐喻,那么“拜占庭将军问题”所描述的情景,这样一个进攻/撤退命令极难验证真伪的中世纪战场,则无疑是我们当今越发缺乏中心化的、难以判别信息与产生信任的社会的极度悲观的隐喻。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关区块链:重塑经济与世界的文章