1. 程式人生 > >從傳統服務端開發的角度來理解區塊鏈共識演算法. 為什麼 pbft 是三分之二+1即2/3+1,paxos 是二分之一+1即1/2+1

從傳統服務端開發的角度來理解區塊鏈共識演算法. 為什麼 pbft 是三分之二+1即2/3+1,paxos 是二分之一+1即1/2+1

  傳統服務端開發人員對 paxos,zab,raft 可能更熟悉. zab 和 raft 本質上是兩次選舉.實際上這是拜占庭問題的簡化版本,沒有叛徒.但是通訊通道可能被破壞.
   公開環境中拜占庭錯誤容忍(bft b fault tolerance)會有破壞分子,例如加密貨幣中的 double pay 問題.
   一言以蔽之,共識最好的設計是模組化,例如Notary,共識演算法的選擇與應用場景高度相關,可信環境使用paxos 或者raft,帶許可的聯盟可使用pbft ,非許可鏈可以是pow,pos,ripple共識等,根據對手方信任度分級,自由選擇共識機制,這樣才是真的最優.

   pbft( PBFT是Practical Byzantine Fault Tolerance的縮寫,意為實用拜占庭容錯算演算法 ):