萬良中@IQB6星評(píng)價(jià)
2020-10-12 23:15:17
拜占庭帝國,又名東羅馬帝國,在歷史上是個(gè)軍事強(qiáng)國,位于現(xiàn)在的土耳其。但這里所說的拜占庭將軍問題(Byzantine failures)并不是歷史真實(shí)事件,而是計(jì)算機(jī)科學(xué)家萊斯利·蘭伯特針對點(diǎn)對點(diǎn)通信中的基本問題——分布式系統(tǒng)一致性問題特意編造的故事。
故事是這樣編的:拜占庭帝國要去進(jìn)攻一個(gè)敵國,派出了10支軍隊(duì)去包圍這個(gè)敵國城池,這10支軍隊(duì)必須分開駐扎包圍,而這個(gè)敵國十分強(qiáng)大,拜占庭軍隊(duì)里的任何一支,想要單獨(dú)進(jìn)攻的話都毫無勝算,除非至少超過一半(即6支及以上的軍隊(duì))同時(shí)進(jìn)攻,才能打敗敵人。10支軍隊(duì)的拜占庭將軍們不能夠聚在一起開會(huì)商量“要不要進(jìn)攻”和“什么時(shí)候進(jìn)攻”,只能依靠通信兵傳遞信息,萬一將軍當(dāng)中存在叛徒,傳遞了虛假信息,比如告訴其中5個(gè)軍隊(duì)去進(jìn)攻,其它4個(gè)軍隊(duì)不進(jìn)攻,就會(huì)導(dǎo)致全盤失敗。在這種狀態(tài)下,拜占庭將軍們?nèi)绾伪WC有多于6支軍隊(duì)在同一時(shí)間一起發(fā)起進(jìn)攻,從而贏取戰(zhàn)斗?
因此,拜占庭將軍問題的簡單描述就是說在互不見面、互不信任的分布式網(wǎng)絡(luò)中,節(jié)點(diǎn)與節(jié)點(diǎn)之間如何達(dá)成共識(shí),執(zhí)行真實(shí)性的共同行動(dòng)計(jì)劃,達(dá)到行動(dòng)一致的結(jié)果。
在比特幣系統(tǒng)里,一個(gè)個(gè)分散的節(jié)點(diǎn)(礦工),就好比包圍敵人的一個(gè)個(gè)拜占庭將軍,如果有礦工作惡制造假賬,就好比軍隊(duì)里出現(xiàn)叛徒。向其它節(jié)點(diǎn)傳送假賬就會(huì)破壞系統(tǒng)的真實(shí)性,而使用POW機(jī)制使得礦工需要找到一個(gè)正確的隨機(jī)數(shù)才能記賬,這個(gè)隨機(jī)數(shù)誰都控制不了,這樣大家就形成了共識(shí)努力去挖礦,這就是我們常說的拜占庭將軍問題。