如何理解拜占庭将军问题?

关于拜占庭将军问题,一个简易的非正式描述如下:

拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。

这个敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的同时袭击。

基于一些原因,这10支军队不能集合在一起单点突破,必须在分开的包围状态下同时攻击。

他们任一支军队单独进攻都毫无胜算,除非有至少6支军队同时袭击才能攻下敌国。

他们分散在敌国的四周,依靠通信兵相互通信来协商进攻意向及进攻时间。

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

在这种状态下,拜占庭将军们能否找到一种分布式的协议来让他们能够远程协商,从而赢取战斗 。

这就是著名的拜占庭将军问题。

应该明确的是,拜占庭将军问题中并不去考虑通信兵是否会被截获或无法传达信息等问题,即消息传递的信道绝无问。

Lamport已经证明了在消息可能丢失的不可靠信道上试通过消息传递的方式达到一致性是不可能的。

所以,在研究拜占庭将军问题的时候,已经假定了信道是没有问题的,并在这个前提下,去做一致性和容错性相关研究

文章分类 Binance消息