EOS系列(三):BFT-DPOS共識機制

眾所周知,區塊鏈主要有三大共識機制:工作量證明(POW);權益證明(POS);股份授權證明(DPOS)。EOS在DPOS的基礎上,融合了拜占庭容錯BFT,構建了BFT-DPOS共識機制。

EOS系列(三):BFT-DPOS共識機制

DPOS共識機制中,持有股份的使用者透過投票來選取超級節點,由選出的超級節點來產生區塊並記錄區塊鏈,保障系統安全執行。一旦超級節點作惡,例如出現宕機、延遲等情況,它就會被投票出局。超級節點一般為奇數,EOS採用21個超級節點。DPOS要求21個超級節點的三分之二以上確認後,區塊才能生效。超級節點按照一定順序輪流產生新的區塊,由於每個超級節點產生新區塊才能完成確認,假定出塊速度是3秒,則確認時間需3*15=45秒。

BFT是拜占庭容錯演算法,EOS引入PBFT演算法對DPOS進行改造。每個超級節點在收到新區塊的瞬間就完成驗證,無需等自己產生區塊時再來確認。14個驗證幾乎是同時進行,因此,確認時間能夠降低到3秒左右。為了防止因網路延遲而使超級節點漏掉區塊,EOS規定了超級節點出塊的順序,兩個相鄰超級節點之間的延遲最短,降低了丟包的風險。此外,為了保證萬無一失,EOS 規定每個超級節點連續生產 6 個區塊。最惡劣的情況下,6 個區塊中,最後幾個有可能因為網路延遲或其他意外被略過,但 6 個區塊中的前幾個會有足夠的時間傳遞給下一個超級節點。

實踐證明:EOS的這種BFT-DPOS共識機制切實可行。

頂部