近日比原鏈(BYTOM)技術團隊發布了Bystack
區塊鏈BaaS平臺,其中包括側鏈的共識算法BBFT(Bystack Byzantine Fault Tolerance)。筆者將在這篇文章中闡述比原鏈BBFT嘗試解決的問題以及分析BBFT與其他各家共識協議的主要差異。BBFT是一個PBFT的變形,它的原理與PBFT一脈相承。若想深刻理解BBFT的巧思,則必須進入PBFT的脈絡推敲。早在區塊鏈藉由
比特幣的大紅大紫之前,PBFT就作為共識協議存在于世界上了。由Castro和Liskov于1999年發明,它是一個具有20年歷史的經典設計,它的發明是為了解決分布式系統中的一個經典問題:拜占庭將軍問題。直到今日,PBFT仍蘊含許多值得反復推敲的巧思,不斷啟發后世發明出更好的協定。
PBFT基本的運作流程
PBFT是一個具有二輪投票的三階段協議,每個視域(View)都會有一個特定的節點作為領導節點(Primary/Leader),負責通知所有節點進入投票流程。各節點則會經歷Pre-prepare/Prepare/Commit這三個階段,并依據接收的訊息決定是否投票/進入下一階段,每個節點投完票后將訊息發給所有其他的節點。若個節點在兩階段投票之后取得多數共識,則各節點可以更新本機的狀態,結束這一回合。 視域變換(View-change)僅當多數節點發起時執行,當目前的領導節點并未正常執行任務時,這可以替換當前的領導節點,保證協議正常運作。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。