(一)BFT類共識
BFT(Byzantine Fault-Tolerant)算法于20世紀80年代開始被研究,旨在解決所謂拜占庭將軍問題。BFT類算法中最著名的是PBFT,該算法是基于消息傳遞的一致性算法,在弱同步網絡下,算法經過三個階段可以達成一致性,復雜度為O(n2)。在無法達成一致時,這些階段會重復進行,直到超時。
PBFT的優點是收斂速度快、節省資源、具有理論上的安全界(理論上允許不超過1/3的惡意節點存在,即總節點數為3k + 1,其中正常節點超過2k + 1個時,算法可以正常工作)。
Andrew Miller在2016年提出的HoneyBadgerBFT對PBFT做了改進,其過程由原子廣播(Atomic Broadcast)和異步公共子集協議(Asynchronous Common Subset)兩部分組成,它使用N個二進制共識協議實例并根據其結果來決定一個公共子集。HoneyBadgerBFT可以在異步網絡下進行共識,不依賴于任何關于網絡環境的時間假設 。
BFT類共識隨著參與共識節點的增加,通信開銷會急劇上升,達成共識的速度則快速下降,難以支撐上萬節點規模的分布式系統。此外,節點參與共識首先要獲得投票權,因此要為節點的加入和退出過程設計額外的機制,增加了協議復雜度和實現難度。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。