共識(shí)算法4 (BFT)

拜占庭將軍問題(Byzantine Generals Problem),由Leslie Lamport短曾、Robert Shostak和Marshall Pease寒砖,在其同名論文中提出(1982年)。拜占庭將軍問題現(xiàn)在主要指分布式對(duì)等網(wǎng)絡(luò)節(jié)點(diǎn)間的通信容錯(cuò)問題嫉拐。在分布式網(wǎng)絡(luò)中哩都,不同的計(jì)節(jié)點(diǎn)通過交換信息達(dá)成共識(shí)。但有時(shí)候婉徘,系統(tǒng)中的成員節(jié)點(diǎn)可能出錯(cuò)而發(fā)送錯(cuò)誤的信息漠嵌,用于傳遞信息的通訊網(wǎng)絡(luò)也可能導(dǎo)致信息損壞,也可能存在惡意節(jié)點(diǎn)或被黑客攻破的節(jié)點(diǎn)故意發(fā)送錯(cuò)誤的信息盖呼,從而導(dǎo)致系統(tǒng)無法達(dá)成共識(shí)或者達(dá)成錯(cuò)誤的共識(shí)儒鹿。(參考:BFT Wikipedia

拜占庭將軍問題提出后,有很多的算法被提出用于解決這個(gè)問題塌计。這類算法統(tǒng)稱拜占庭容錯(cuò)算法(BFT: Byzantine Fault Tolerance)挺身。BFT從上世紀(jì)80年代開始被研究侯谁,目前已經(jīng)是一個(gè)被研究得比較透徹的理論锌仅,具體實(shí)現(xiàn)都已經(jīng)有現(xiàn)成的算法章钾。

BFT算法中最典型的是PBFT(Practical BFT)。PBFT是由Miguel Castro和Barbara Liskov于1999年提出热芹。PBFT算法解決了之前拜占庭容錯(cuò)算法效率不高的問題贱傀,將算法復(fù)雜度由指數(shù)級(jí)降低到多項(xiàng)式級(jí),使得拜占庭容錯(cuò)算法在實(shí)際系統(tǒng)應(yīng)用中變得可行伊脓。PBFT在保證安全性和可用性的前提下府寒,提供了 (n-1)/3 的容錯(cuò)性。(細(xì)節(jié)請(qǐng)參考:PBFT

PBFT之后报腔,很多進(jìn)一步提升性能或魯棒性的BFT算法先后被提出株搔,例如Zyzzyva、ABsTRACTs纯蛾、Aardvark纤房、RBFT等等。近幾年翻诉,由于區(qū)塊鏈的熱度炮姨,無數(shù)針對(duì)區(qū)塊鏈應(yīng)用場(chǎng)景優(yōu)化過的BFT算法也不斷涌現(xiàn)出來。雖然目前PBFT已經(jīng)不能說是最好的碰煌,或最適合區(qū)塊鏈的BFT算法舒岸。但是PBFT已經(jīng)足夠好了,而且在實(shí)際應(yīng)用中已經(jīng)非常成熟芦圾。

在BFT共識(shí)機(jī)制中蛾派,網(wǎng)絡(luò)中節(jié)點(diǎn)的數(shù)量和身份必須是提前確定好的。BFT共識(shí)機(jī)制無法做到PoW共識(shí)機(jī)制中實(shí)現(xiàn)的任何人都可以隨時(shí)加入挖礦个少。另外碍脏,BFT算法無法應(yīng)用到大量的節(jié)點(diǎn),業(yè)內(nèi)普遍認(rèn)為100個(gè)節(jié)點(diǎn)是BFT算法的上限稍算。所以BFT算法無法直接用于公有鏈典尾,BFT算法適合的場(chǎng)景是私有鏈和聯(lián)盟鏈。業(yè)內(nèi)大名鼎鼎的聯(lián)盟鏈Hyperledger fabric v0.6采用的是PBFT糊探,v1.0又推出PBFT的改進(jìn)版本SBFT钾埂。這里再順便提一句,在可信環(huán)境下共識(shí)算法一般使用傳統(tǒng)的分布式一致算法PAXOS或者RAFT科平。

公有鏈?zhǔn)褂肂FT的一個(gè)例外是NEO褥紫,NEO使用了DBFT(delegated BFT)共識(shí)機(jī)制。DBFT共識(shí)機(jī)制下投票選出7個(gè)共識(shí)節(jié)點(diǎn)瞪慧。這些代理節(jié)點(diǎn)是通過靜態(tài)選出的髓考,并完全由項(xiàng)目方部署。這也是NEO被外界質(zhì)疑過于中心化的原因弃酌。(參考:早期公有鏈明星項(xiàng)目-NEO

BFT算法和公有鏈合適的結(jié)合點(diǎn)在于基于BFT的PoS共識(shí)算法(BFT based PoS)氨菇±芰叮基于BFT的PoS共識(shí)算法要點(diǎn)有:一,網(wǎng)絡(luò)節(jié)點(diǎn)通過鎖定虛擬資產(chǎn)申請(qǐng)成為區(qū)塊鏈系統(tǒng)的驗(yàn)證者(或礦工)查蓉。系統(tǒng)驗(yàn)證者的數(shù)量是動(dòng)態(tài)變化的乌询。二,系統(tǒng)從當(dāng)前驗(yàn)證者中隨機(jī)選擇一個(gè)人作為區(qū)塊提案人豌研。三妹田,系統(tǒng)驗(yàn)證者對(duì)區(qū)塊提案進(jìn)行投票表決,投票可能要進(jìn)行多輪才能達(dá)成共識(shí)鹃共。每個(gè)人的投票比重與鎖定的虛擬資產(chǎn)成比例鬼佣。

基于BFT的PoS的典型例子是tendermint(Cosmos采用了tendermint作為共識(shí)核心)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末霜浴,一起剝皮案震驚了整個(gè)濱河市沮趣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坷随,老刑警劉巖房铭,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異温眉,居然都是意外死亡缸匪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門类溢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌蔬,“玉大人,你說我怎么就攤上這事闯冷∩靶模” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蛇耀,是天一觀的道長(zhǎng)辩诞。 經(jīng)常有香客問我,道長(zhǎng)纺涤,這世上最難降的妖魔是什么译暂? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮撩炊,結(jié)果婚禮上外永,老公的妹妹穿的比我還像新娘。我一直安慰自己拧咳,他們只是感情好伯顶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般祭衩。 火紅的嫁衣襯著肌膚如雪灶体。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天汪厨,我揣著相機(jī)與錄音,去河邊找鬼愉择。 笑死劫乱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锥涕。 我是一名探鬼主播衷戈,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼层坠!你這毒婦竟也來了殖妇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤破花,失蹤者是張志新(化名)和其女友劉穎谦趣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體座每,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡前鹅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了峭梳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舰绘。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖葱椭,靈堂內(nèi)的尸體忽然破棺而出捂寿,到底是詐尸還是另有隱情,我是刑警寧澤孵运,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布秦陋,位于F島的核電站,受9級(jí)特大地震影響治笨,放射性物質(zhì)發(fā)生泄漏踱侣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一大磺、第九天 我趴在偏房一處隱蔽的房頂上張望抡句。 院中可真熱鬧,春花似錦杠愧、人聲如沸待榔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锐锣。三九已至腌闯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雕憔,已是汗流浹背姿骏。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斤彼,地道東北人分瘦。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像琉苇,于是被迫代替她去往敵國(guó)和親嘲玫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 原文鏈接:https://mp.weixin.qq.com/s/nr7nNMaDZ7b1PP25glrWWA區(qū)塊鏈...
    vdes閱讀 966評(píng)論 0 4
  • 本文由幣乎社區(qū)(bihu.com)內(nèi)容支持計(jì)劃贊助并扇。 權(quán)益證明的漫漫長(zhǎng)路 權(quán)益證明的定義可以查看理解權(quán)益證明去团。 1...
    Lilymoana閱讀 6,614評(píng)論 0 22
  • 現(xiàn)在有手機(jī)的人幾乎都有了支付寶,付賬轉(zhuǎn)賬非常方便(收費(fèi)前提前也很方便)穷蛹。不過土陪,在意支付寶芝麻信用的人還不是有太多,...
    楊寶寶漫談閱讀 641評(píng)論 2 3
  • 提到家紡肴熏,很多人第一時(shí)間內(nèi)就想到市場(chǎng)上熱銷的“然牌源生活”家紡品牌旺坠,該品牌的家紡產(chǎn)品,不僅以超級(jí)柔軟的觸感而備受用...
    呆呆love閱讀 341評(píng)論 0 0
  • 這個(gè)城市的菊花開了扮超。 珍打電話過來說取刃,我想到你的城市看菊花。 我說出刷,好璧疗。你什么時(shí)候過來?我等你馁龟。 那我現(xiàn)在就過去吧...
    蓮葦閱讀 456評(píng)論 3 5