共識演算法之爭(PBFT,Raft,PoW,PoS,DPoS,Ripple)

yunwuji發表於2022-03-08

一.拜占庭容錯技術(Byzantine Fault Tolerance,BFT)

  拜占庭容錯技術(Byzantine Fault Tolerance,BFT)是一類分散式計算領域的容錯技術。拜占庭假設是對現實世界的模型化,由於硬體錯誤、網路擁塞或中斷以及遭到惡意攻擊等原因,計算機和網路可能出現不可預料的行為。拜占庭容錯技術被設計用來處理這些異常行為,並滿足所要解決的問題的規範要求。

  拜占庭容錯技術來源於 拜占庭將軍問題(猛擊!檢視該問題)。

  在分散式系統中,特別是在區塊鏈網路環境中,也和拜占庭將軍的環境類似,有執行正常的伺服器(類似忠誠的拜占庭將軍),有故障的伺服器,還有破壞者的伺服器(類似叛變的拜占庭將軍)。共識演算法的核心是在正常的節點間形成對網路狀態的共識。

  通常,這些發生故障節點被稱為 拜占庭節點,而正常的節點即為 非拜占庭節點

  拜占庭容錯系統是一個擁有n臺節點的系統,整個系統對於每一個請求,滿足以下條件:

  1)所有非拜占庭節點使用相同的輸入資訊,產生同樣的結果;

  2)如果輸入的資訊正確,那麼所有非拜占庭節點必須接收這個資訊,並計算相應的結果。

  拜占庭系統普遍採用的假設條件包括:

  1)拜占庭節點的行為可以是任意的,拜占庭節點之間可以共謀;

  2)節點之間的錯誤是不相關的;

  3)節點之間通過非同步網路連線,網路中的訊息可能丟失、亂序並延時到達,但大部分協議假設訊息在有限的時間裡能傳達到目的地;

  4)伺服器之間傳遞的資訊,第三方可以嗅探到,但是不能篡改、偽造資訊的內容和驗證資訊的完整性。

  原始的拜占庭容錯系統由於需要展示其理論上的可行性而 缺乏實用性。另外,還 需要額外的時鐘同步機制支援演算法的複雜度也是隨節點增加而指數級增加


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10067991/viewspace-2867355/,如需轉載,請註明出處,否則將追究法律責任。

相關文章