導讀:在遠古之前的戰(zhàn)爭時代,沒有無線電通訊,將軍與將軍、將軍與下屬間只能采用最原始的方式「口頭傳輸」
在遠古之前的戰(zhàn)爭時代,沒有無線電通訊,將軍與將軍、將軍與下屬間只能采用最原始的方式「口頭傳輸」。Leslie Lamport的論文The Byzantine Generals Problem中所提出算法的第一部分,OM(m)算法,m為間諜數(shù)量。在拜占庭將軍問題的情形之下,難以分辨真?zhèn)?,只有當叛徒的總?shù)不超過將軍總數(shù)的三分之一,才能形成特殊的「拜占庭容錯」。這樣的容錯只能在特定條件下才能形成,無法成立的變量實在太多與太大,或又如果只有三個將軍,其中一個是叛變者,那么此時無解。但這樣的錯誤,這樣的有意、無意的「叛徒」卻可能經(jīng)常出現(xiàn)。無論是我們把「叛變的將軍」替換成以下哪種,該問題都成立(來自區(qū)塊鏈革命中的例子)。.
。 一份失效的醫(yī)療糾紛合約;
。 一份含混不清的保單;
。 一個可以發(fā)出消息,做出行動的錯誤信息節(jié)點。
。 一個故障的、不斷向其他計算機發(fā)出不同錯誤信息的服務(wù)器;
。 一份為獲取暴利而做出來的金融票據(jù);
而這里,叛徒將軍(節(jié)點)可能做出以下響應(yīng):
。 不回應(yīng)
。 發(fā)送錯誤信息
。 對不同節(jié)點發(fā)送不同決定
。 不同錯誤節(jié)點聯(lián)合起來攻擊其他節(jié)點等。就是一些荒謬的錯誤。
如果說「叛變的拜占庭將軍」是我們社會中各種類型的信息節(jié)點的隱喻,那么「拜占庭將軍問題」所描述的情景,則就是我們?nèi)狈θブ行幕?、難以判別信息與產(chǎn)生信任的社會的極度悲觀的隱喻。
*參考數(shù)據(jù):
核心議題:分布式一致性問題 (Distributed Consistency Problems) / https://rickhw.github.io/2018/08/11/Architecture/Distributed-Consistency-and-Consensus-Algorithm/