Leslie Lamport在論文中提出的口信訊息解決方案就屬于BFT,需要考慮惡意節點的篡改、攻擊等問題,但是,口信訊息解決方案在現實場景中很難落地,比如,它并不關心這個共識的結果是什么,這會出現一種情況:現在適合進攻,但將軍們達成的共識卻是撤退,
另外,實際場景中,我們往往需要就提議的一系列值(而不是單值)在拜占庭錯誤發生的時候,也能被達成共識,那應該怎么做呢?一種方案就是本文要講解的PBFT演算法,PBFT演算法,是一種能在實際場景中落地的BFT演算法,它在區塊鏈中應用廣泛,
一、oral message的問題
要理解PBFT演算法,首先必須要明白口信訊息解決方案(A solution with oral message)到底存在哪些問題?這些問題都是后續眾多BFT演算法在努力改進和解決的,理解了這些問題,能幫助你更好地理解后來的拜占庭容錯演算法的思想(包括 PBFT 演算法),
oral message方案存在一個致命的缺陷:當將軍總數為n,叛將數為f時,演算法需要遞回協商 f+1 輪,訊息復雜度為 O(n^(f+1)),訊息數量指數級暴增,
你可以想象一下,如果叛將數為 64,訊息數已經遠遠超過 int64 所能表示的了,這是無法想象的,
二、PBFT演算法流程
PBFT 演算法,通過簽名(或訊息認證碼 MAC)約束惡意節點的行為,每個節點都可以通過驗證訊息簽名確認訊息的發送來源&#x
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/287921.html
標籤:其他
