共識演算法之爭(PBFT,Raft,PoW,PoS,DPoS,Ripple)
一.拜占庭容錯技術(Byzantine Fault Tolerance,BFT)
拜占庭容錯技術(Byzantine Fault Tolerance,BFT)是一類分散式計算領域的容錯技術。拜占庭假設是對現實世界的模型化,由於硬體錯誤、網路擁塞或中斷以及遭到惡意攻擊等原因,計算機和網路可能出現不可預料的行為。拜占庭容錯技術被設計用來處理這些異常行為,並滿足所要解決的問題的規範要求。
拜占庭容錯技術來源於 拜占庭將軍問題(猛擊!檢視該問題)。
在分散式系統中,特別是在區塊鏈網路環境中,也和拜占庭將軍的環境類似,有執行正常的伺服器(類似忠誠的拜占庭將軍),有故障的伺服器,還有破壞者的伺服器(類似叛變的拜占庭將軍)。共識演算法的核心是在正常的節點間形成對網路狀態的共識。
通常,這些發生故障節點被稱為 拜占庭節點,而正常的節點即為 非拜占庭節點。
拜占庭容錯系統是一個擁有n臺節點的系統,整個系統對於每一個請求,滿足以下條件:
1)所有非拜占庭節點使用相同的輸入資訊,產生同樣的結果;
2)如果輸入的資訊正確,那麼所有非拜占庭節點必須接收這個資訊,並計算相應的結果。
拜占庭系統普遍採用的假設條件包括:
1)拜占庭節點的行為可以是任意的,拜占庭節點之間可以共謀;
2)節點之間的錯誤是不相關的;
3)節點之間通過非同步網路連線,網路中的訊息可能丟失、亂序並延時到達,但大部分協議假設訊息在有限的時間裡能傳達到目的地;
4)伺服器之間傳遞的資訊,第三方可以嗅探到,但是不能篡改、偽造資訊的內容和驗證資訊的完整性。
原始的拜占庭容錯系統由於需要展示其理論上的可行性而 缺乏實用性。另外,還 需要額外的時鐘同步機制支援, 演算法的複雜度也是隨節點增加而指數級增加。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10067991/viewspace-2867355/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 近幾天對區塊鏈中幾種常見的共識機制(PBFT,Raft,PoW,PoS,DPoS,Ripple)區塊鏈Raft
- 讀懂區塊鏈共識機制 :PoW、PoS、PAXOS、RAFT、PBFT區塊鏈Raft
- PBFT共識演算法演算法
- Pow共識演算法演算法
- 共識演算法-PoW演算法
- 【go共識演算法】-POWGo演算法
- DPOS 共識演算法 - 缺失的白皮書演算法
- 分散式系統之Raft共識演算法分散式Raft演算法
- Raft共識演算法詳解Raft演算法
- 深入剖析共識性演算法 Raft演算法Raft
- 區塊鏈知識系列 - PBFT 共識區塊鏈
- 共識演算法PoS及Go語言實現演算法Go
- 通俗講解:PoW共識機制與以太坊的關係、Ghost協議 及 Casper PoS共識機制的變種協議
- 區塊鏈共識演算法(5)DPoS股份授權證明演算法區塊鏈演算法
- 以太坊的POS共識機制
- 區塊鏈共識演算法(3)PoS權益證明演算法區塊鏈演算法
- kafka和raft共識機制KafkaRaft
- 區塊鏈知識系列 - Raft 共識區塊鏈Raft
- tikv/raft-rs:在 Rust 中實現的 Raft 分散式共識演算法原始碼RaftRust分散式演算法原始碼
- (二)區塊鏈的共識演算法:PoS 及其 例子 程式碼 實現區塊鏈演算法
- 以太坊原始碼分析(11)eth目前的共識演算法pow的整理原始碼演算法
- Fabric2.x中Raft共識演算法核心資料結構Raft演算法資料結構
- zarusz/SlimCluster:在.NET中實現的Raft分散式共識演算法Raft分散式演算法
- 區塊鏈共識演算法(1)分散式一致性演算法Raft區塊鏈演算法分散式Raft
- 4.4 PBFT演算法演算法
- 區塊鏈共識機制技術一--POW(工作量證明)共識機制區塊鏈
- 【許曉笛】詳解 EOS 的新共識機制 BFT-DPoS
- 一個基於PoS共識演算法的區塊鏈例項解析(升級版)演算法區塊鏈
- 從分散式一致性到共識機制(二)Raft演算法分散式Raft演算法
- 區塊鏈共識演算法(2)PoW挖礦演算法原理及其在比特幣、以太坊中的實現區塊鏈演算法比特幣
- 共識演算法-LevelDB演算法
- 分散式共識演算法分散式演算法
- Raft 演算法之叢集成員變更Raft演算法
- 死磕以太坊原始碼分析之Ethash共識演算法原始碼演算法
- Paxos共識演算法詳解演算法
- CSA GCR:共識演算法與共識安全白皮書(附下載)GC演算法
- ETH-Pow演算法分析演算法
- 4.3 Raft演算法Raft演算法