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