? ? ? ?前文我們談了算力51%的問題,比特幣網(wǎng)絡(luò)為了解決這個問題,設(shè)計(jì)者中本聰引用了拜占庭容錯算法摩窃。在談拜占庭容錯之前,我們先了解一下拜占庭將軍問題芬骄。因?yàn)榘菡纪ト蒎e就是為了解決拜占庭將軍問題的猾愿。
1.什么是拜占庭將軍問題
? ? ? ?拜占庭帝國即中世紀(jì)的土耳其,擁有巨大的財(cái)富账阻,周圍10個鄰邦垂誕已久蒂秘,但拜占庭高墻聳立,固若金湯淘太,沒有一個單獨(dú)的鄰邦能夠成功入侵姻僧。任何單個鄰邦入侵的都會失敗规丽,同時也有可能自身被其他9個鄰邦入侵。拜占庭帝國防御能力如此之強(qiáng)段化,至少要有十個鄰邦中的一半以上同時進(jìn)攻嘁捷,才有可能攻破。然而显熏,如果其中的一個或者幾個鄰邦本身答應(yīng)好一起進(jìn)攻雄嚣,但實(shí)際過程出現(xiàn)背叛,那么入侵者可能都會被殲滅喘蟆。于是每一方都小心行事缓升,不敢輕易相信鄰國。這就是拜占庭將軍問題蕴轨。
2.什么是拜占庭容錯(PBFT)
? ? ? ? 容錯拜占庭PBFT是一種算法港谊,簡單理解就在一個系統(tǒng)里面出現(xiàn)了惡意的節(jié)點(diǎn),或者是故意作惡的人橙弱,那么在這個系統(tǒng)了在至少要有比惡意的節(jié)點(diǎn)多兩倍加一個的正確節(jié)點(diǎn)歧寺,或者是比故意作惡的人多兩倍加一個正確做事的人。那么系統(tǒng)需要最少的節(jié)點(diǎn)就是比惡意節(jié)點(diǎn)多一倍加一個棘脐,比故意作惡的人多一倍再加一個斜筐。用公式描述就是如下所示:
3f+1個節(jié)點(diǎn),2f+1個正確節(jié)點(diǎn)蛀缝,f個惡意節(jié)點(diǎn)顷链。
這樣就解決了拜占庭將軍的問題了。