Dora網路——DVBC共識演算法介紹

買賣虛擬貨幣
為了平衡高效能和高安全的兩個需求,Dora網路提出了一種兼顧安全和效能的混合共識演算法 - DVBC (Delegate Verifiable BFT Consensus) 共識演算法。1) DVBC共識演算法流程

DVBC共識演算法分為三層:DPoS,VRF隨機選擇,PBFT流水線共識演算法。

假設Dora網路總共有M個節點,一共選出 N+1= 22個節點(在本文中,為了直觀的描述,N舉例設定為21)。在每一輪共識開始時,Dora網路先採用DPoS共識演算法根據投票從M個節點中選舉出得票數排名靠前的N/3=7個候選節點。其次,從剩下的其他節點中,採用可驗證隨機數 VRF 演算法隨機挑選出 2*N/3+1=15 個候選節點。從DPoS共識演算法以及VRF隨機演算法選出的7+15=22個候選節點本輪的記賬者。Dora網路首次提出了PBFT流水線共識演算法,比傳統的PBFT流水線演算法效能高2~4倍。每一輪中的22個共識節點採用PBFT流水線共識演算法對每次生成的區塊進行確認。整個DVBC的共識演算法流程如下圖所示:

在X+1個節點,只要不超過X/3個作惡節點的情況下,Dora網路的DVBC共識演算法保證安全性和活性。並且,Dora網路的DVBC共識演算法保證不存在任何分叉。

2)PBFT流水線演算法

Dora網路從CPU流水線設計獲取靈感,創新設計開發了PBFT流水線共識演算法,比傳統的PBFT流水線演算法效能高2~4倍。傳統的PBFT共識演算法,由四個狀態組成:Propose,Prevote,Precommit以及Commit組成,如下圖所示:

Dora網路在傳統的PBFT共識演算法的基礎上,額外增加了四個狀態:WaitToPropose,WaitToPrevote,WaitToPrecommit,WaitToCommit。PBFT流水線共識演算法的狀態圖如下圖所示:

PBFT流水線共識演算法實現一個節點能同時參與四個區塊的流水線式共識。也就是說,一個節點可以同時參與一個區塊的Propose,一個區塊的Prevote,一個區塊的Precommit以及一個區塊的Commit。

PBFT流水線共識演算法能極大地提高區塊生成效率,有效地降低了區塊和區塊共識之間的等待時間。Dora網路在測試網路下資料表明,PBFT流水線共識演算法的效能是傳統PBFT共識演算法的2~4倍。

3)網路流量均衡演算法

在PBFT流水線共識演算法的基礎上,Dora網路使用網路流量均衡演算法進一步提高共識過程中網路流量的利用率。PBFT流水線共識演算法在Propose階段將生成的區塊廣播給網路中的所有節點。很容易發現,因為一個節點需要向其他所有節點廣播區塊,單節點的網路頻寬限制了共識的效能。Dora網路從HoneyBadgerBFT共識演算法得到啟發,整合了網路流量均衡演算法:節點在廣播區塊時,先透過EC(糾刪碼)演算法將區塊切分,然後將切分後的小區塊分發給其他節點,其他節點之間互相廣播小區塊,再組合成完整的區塊。整個網路流量均衡演算法示意如下圖:

以四個節點為例說明,節點P先向三個網路節點A,B和C傳送糾刪碼演算法生成的分割後的小區塊。網路節點A,B和C在接收到小區塊資料後,再廣播給其他節點。任何節點只要收到超過一定數量的小區塊就可以恢復出原始區塊。這種拆分的思想就能充分提高每一個節點的流量利用率,整個網路不再存在單個節點網路流量使用瓶頸。

總結:Dora網路公有鏈,為了平衡高效能和高安全需求,創新提出了一種兼顧安全和效能的混合共識演算法 - DVBC (Delegate Verifiable BFT Consensus) 共識演算法。DVBC共識演算法由三層組成。第一層DPoS演算法和第二層VRF隨機選擇演算法挑選出記賬節點。選出的節點透過第三層PBFT流水線共識演算法確定區塊,而且不存在分叉。Dora網路透過網路流量均衡演算法進一步最佳化網路流量,提高共識速度。


更多區塊鏈資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;