EOS 目前采用DPoS+Pipelined BFT 共識機制,
DPoS共識 - 如何成為出塊節點
DPoS(Delegated Proof of Stake)是權益委托證明機制,相比于位元幣的PoW機制,DPoS不用浪費算力資源爭奪記賬權,而是通過賦予通證持有人投票權,EOS 將投票選出21個“超級節點”來擔任記賬人(Block Producer:區塊生產者簡稱BP)的角色,保證整個網路的正常運行,
出塊機制
每0.5秒生產一個區塊,超級節點輪流出塊,每輪每個超級節點連續出12個塊,以 21*12 個區塊為一個周期,在每個出塊周期開始時,21個區塊生產者會被投票選出,同時,為了防止因網路延遲而使超級節點漏掉區塊,EOS 采用確定的出塊順序,通信時延低的超級節點互為鄰居出塊者,
Pipelined BFT - 如何進行區塊確認
Pipelined BFT(Pipelined Byzantine Fault Tolerance)是基于流水線的拜占庭容錯機制,
常規的PBFT(Practical Byzantine Fault Tolerance)都是生產一個區塊,等待共識,然后再生產一個區塊,因而共識需要比較長的時間,沒法滿足0.5s出塊的需求,
EOS 采取了不同的實作方式,出塊和共識是可以流水并行作業的,區塊生產完成后,不等待PBFT共識,繼續生產同時參與并處理上一個區塊的PBFT共識,當PBFT共識完成后即修改為不可逆狀態,
懲罰機制
任何時刻,只有一個生產者被授權產生區塊,如果在某個時間內沒有成功出塊,則跳過該塊,如果出塊者錯過了一個塊,并且在最近24小時內沒有產生任何塊,則這個出塊者將被洗掉,這確保了網路的順利運行,
會不會分叉
在正常情況下,DPS區塊鏈不會經歷分叉,因為塊生產者合作生產區塊而不是競爭,如果有區塊分叉,共識將自動切換到最長的鏈條,具有更多生產者的區塊鏈長度將比具有較少生產者的區塊鏈增長速度更快,此外,應該沒有塊生產者會同時在兩個區塊鏈分叉上生產塊,如果一個塊生產者發現這么做了,就可能被投票出局,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/116360.html
標籤:其他
