拜占庭將軍問題(Byzantine Generals Problem/BGP)
拜占庭將軍問題是指“在存在消息丟失的不可靠信道上試圖通過消息傳遞的方式達(dá)到一致性是不可能的”。因此在系統(tǒng)中存在除了消息延遲或不可送達(dá)的故障以外的錯(cuò)誤结笨,包括消息被篡改然痊、節(jié)點(diǎn)不按照協(xié)議進(jìn)行處理等整吆,將會(huì)潛在地會(huì)對(duì)系統(tǒng)造成針對(duì)性的破壞。
改進(jìn)型實(shí)用拜占庭容錯(cuò) (Practical Byzantine Fault Tolerance/PBFT)
PBET共識(shí)機(jī)制是少數(shù)服從多數(shù)壳繁,根據(jù)信息在分布式網(wǎng)絡(luò)中節(jié)點(diǎn)間互相交換后各節(jié)點(diǎn)列出所有得到的信息坟募,一個(gè)節(jié)點(diǎn)代表一票,選擇大多數(shù)的結(jié)果作為解決辦法番川。PBET將容錯(cuò)量控制在全部節(jié)點(diǎn)數(shù)的1/3到涂,即如只要有超過2/3的正常節(jié)點(diǎn),整個(gè)系統(tǒng)便可正常運(yùn)作颁督。
授權(quán)拜占庭容錯(cuò)算法(Delegated Byzantine Fault Tolerance/dBFT)
dBFT践啄,是基于持有權(quán)益比例來選出專門的記賬人(記賬節(jié)點(diǎn)),然后記賬人之間通過拜占庭容錯(cuò)算法(即少數(shù)服從多數(shù)的投票機(jī)制)來達(dá)成共識(shí)沉御,決定動(dòng)態(tài)參與節(jié)點(diǎn)屿讽。dBFT可以容忍任何類型的錯(cuò)誤,且專門的多個(gè)記賬人使得每一個(gè)區(qū)塊都有最終性吠裆、不會(huì)分叉伐谈。
拜占庭協(xié)議
拜占庭協(xié)議采用的方法是確保可以通過分布式的方法達(dá)成共識(shí)试疙,即使出現(xiàn)了拜占庭式的失敗也不會(huì)影響诵棵。“拜占庭失敗”指的則是分布式系統(tǒng)中算法執(zhí)行過程中的任意一個(gè)錯(cuò)誤,也包括非理性的行為祝旷。
而聯(lián)邦拜占庭協(xié)議的主要特點(diǎn)是權(quán)力下放和任意行為容忍:
FBA帶來了開放的成員名單以及對(duì)拜占庭協(xié)議的去中心化控制履澳;
任何人都可以加入其中;
通過分布式的方式怀跛,F(xiàn)BA使得法定人數(shù)或者節(jié)點(diǎn)足夠的群體能夠達(dá)成一致距贷。每個(gè)節(jié)點(diǎn)決定信任對(duì)象,不同的節(jié)點(diǎn)也不需要依賴于信賴相同的參與者組合敌完,即可完成共識(shí)储耐。
與傳統(tǒng)的非聯(lián)邦拜占庭協(xié)議的區(qū)別
非聯(lián)邦拜占庭協(xié)議的主要特點(diǎn)包括了中心化和任意行為容忍。它要求所有參與者對(duì)系統(tǒng)成員資源達(dá)成一致共識(shí)——這意味著這是一個(gè)中心化的系統(tǒng)滨溉。網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)必須提前知曉且驗(yàn)證過什湘。
和非聯(lián)盟的拜占庭協(xié)議相比长赞,比特幣設(shè)定理性行為者控制著大多數(shù)的計(jì)算能力,并通過分發(fā)硬幣來激勵(lì)潛在攻擊者遵守協(xié)議闽撤。因此得哆,拜占庭協(xié)議可以抵御擁有巨大計(jì)算能力的外部攻擊者,但是成員名單是非公開的哟旗。
而SCP靈感正是來源于比特幣贩据。同時(shí)它從比特幣中汲取經(jīng)驗(yàn),同時(shí)在低算力環(huán)境中擴(kuò)展了對(duì)非理性行為的容忍能力闸餐。