【每天一個web3概念】共識機制的分類

不瞭解共識機制的人一定有這樣的疑問:爲什麼共識機制這麼多?

前面講過共識機制是爲了解決“信任問題”,即讓所有人相信一件事情真的發生了。迴歸到技術上,其實就是讓分佈式系統達成一致的狀態,但這並不是分佈式系統的唯一特性。一般來說,分佈式系統有幾個最重要的特性:一致性,可用性,分區容錯性,活性,可擴展性等等。但是根據FLP定理和CAP定理,一個分佈式系統是沒有辦法同時擁有一致性和高可用性的,這意味着所有共識機制的設計都必須做一個權衡。

所以現在的項目基本上都會在共識機制層面進行一些創新,來更好地適配實際需求和應用場景。但是大體上,共識機制的分類是有標準的。

最簡單的就是基於參與權限進行分類,需要授權才能參與的共識機制,常常用於私有鏈和聯盟鏈,比如PBFT;而無需授權人人皆可參與的共識機制則用於公鏈,比如PoW。

其次可以根據資源類型分類,算力資源如PoW,質押資產如PoS,使用存儲空間的如PoC(Proof of Space/Storage)等等,這也是目前公鏈採用最多的共識機制類型。

當然,也可以根據一致性的強弱進行分類,強一致性如Paxos,Raft,PBFT,非強一致則如PoW,PoS等。

還可以根據我們之前講的容錯類型來分類,比如可以容忍崩潰故障,但不能容忍拜占庭錯誤的,如Paxos,VR等;也有可以容忍惡意節點和惡意行爲的,如PBFT,PoW,PoS等。

最後,還可以按照最終性來分類。決策執行之後就不可逆的機制,以PBFT爲代表;決策執行後的某一段時間內可逆,但隨着時間越來越久,可逆的可能就越來越小的機制,則以PoW爲代表。

共識機制是一門大學問,我們總是聽到層出不窮的創新,但是萬變不離其宗,只要理解了分佈式系統的特性,共識機制其實並不神祕。

#共識機制 #熱門話題