什么是拜占庭将军问题(一)

如果你刚接触区块链,会发现经常被一堆PoW,PoS搞得头晕晕的,特别是哪个项目对应哪个机制的时候,就会处于一种懵逼ing状态。

要了解PoW,PoS,那就要从拜占庭将军问题说起。

拜占庭将军问题是Leslie Lamport(论文排版系统 LaTeX 的开发者。2013年的图灵讲得主)用来为描述分布式系统一致性问题(Distributed Consensus)在论文中抽象出来一个著名的例子。

这个例子大意是这样的:

拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。这个敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的同时袭击。这10支军队在分开的包围状态下同时攻击。他们任一支军队单独进攻都毫无胜算,除非有至少6支军队(一半以上)同时袭击才能攻下敌国。他们分散在敌国的四周,依靠通信兵骑马相互通信来协商进攻意向及进攻时间。

困扰这些将军的问题是,他们不确定他们中是否有叛徒,叛徒可能擅自变更进攻意向或者进攻时间,来破坏行动。

简化一下问题,就是,如何能在有叛徒的情况下,所有忠诚的将军都能让别的将军收到自己的真实意图,最终保持正确一致行动

问题的重点的并不是“进攻”、“撤退”的发送,而是“消息1”、“消息2”、“消息3”等信息的发送。

分布式计算中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有時候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。

所以说:拜占庭将军问题被认为是容错性问题中最难的问题类型之一。

这个问题的根本是“一致性”和“正确性”的算法问题。算法针对的是忠诚的将军们,干扰因素是叛徒(叛徒可以做出任何超出约定的判断)。

所以我们需要在有叛徒干扰的情况下,找到抗干扰算法,解决这个问题。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论