DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

摘要

本文旨在闡述Penta公鏈(PNT)網絡所採用的動態權益共識(Dynamic Stake Consensus, DSC)這一共識算法的概念和實現。

英文版已於Penta Medium官方賬號同步

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

閱讀鏈接:https://medium.com/penta-network/dynamic-stake-consensus-dsc-the-penta-concensus-algorithm-for-optimized-decentralization-f37206ba93a

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

設計理念

DSC動態權益共識是一種全新獨特的共識機制,旨在兼顧公平與效率,並能確保數據的一致性。參與節點具有同等的機會參與共識記賬並獲得激勵。DSC共識基於自身算法確保了對最終一致性的快速確認,較好的延遲控制,較高的安全性和交易吞吐量,為Penta公鏈去中心化和多方協作生態提供了良好的底層支持。

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

DSC共識流程

在正式引入DSC共識流程前,對其中涉及的名詞進行以下說明:

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

DSC共識流程

DSC共識步驟如下:

議員和觀察員申請與選舉

滿足申請要求的普通節點通過Penta客戶端提出申請,並通過節點投票競選議員和觀察員。具體要求包括節點投票數量、PNT質押數量以及硬件設備要求等。一旦當選,議員和觀察員會進入共識節點候選池中為第二步生成共識組做準備。

生成共識組

通過散列抽籤算法(RSA)從議員和觀察員中隨機選擇組成共識組,共識組數量根據網絡情況動態調節。每組總人數為n,n也是一個動態數值,每組中議員的數量n1,則:

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

每組中觀察員的數量為:n2 =n-n1。根據BFT機制,會在每一輪BFT共識中選擇一位議員成為出塊人,議長出塊人負責打包交易並生成區塊。該區塊生成後需要向整個共識組進行廣播並收集組員簽名,當收集到超過2/3以上的簽名後,備選區塊確認。

正式塊生成

每一個BFT共識組產生並驗證的備選區塊將被加入備選區塊池中,並通過RSA算法隨機選擇並確定最後的正式區塊,並對全網進行廣播。所有節點同步賬本確認正式區塊生成。

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

(DSC 共識機制示意圖)

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

RESET機制

下列情況會使得共識在一段時間內無法達成:

議長出塊人作惡,提出兩個及以上的區塊BFT共識提案;

網絡傳輸問題,比如網絡延遲或中斷;

當前區塊的記賬人超過1/3為不誠實的節點,收集不到足夠的簽名。

上述情況將啟動RESET機制。所有議員進行一輪BFT共識,產生一個RESET塊,重新生成共識組成員,以便恢復網絡正常運行。

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

優點

【防作惡】

在共識過程中,如果出塊人、議員或者觀察員試圖作惡來故意破壞系統運行,並且被一部分節點發現並舉報,惡意節點將會受到保證金扣除以及一段時間禁止參與共識的懲罰。

【安全性】

由於共識小組是基於散列抽籤算法隨機生成的,所以相比起幾十個較為集中的記賬節點,DSC可以更好地防範攻擊也更加安全。

【公正性】

共識組的創建過程完全基於隨機參數而與節點的實力無關。每一個節點都有相同的機會參與共識過程。

【公平激勵】

基於隨機算法以及節點投票給予議員和觀察員相應的激勵,確保激勵分發的普惠性和公平性。

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

挑戰

  • RSA算法實現

RSA算法實現是DSC共識的關鍵,作為一種全新的算法仍然有很多技術難題需要攻克。

  • 性能與公平的平衡

追求更好的可擴展性往往會指定節點,從來帶來中心化問題。而節點選擇的隨機化可能影響網絡的可用性。

  • 網絡傳輸問題

洲際間網絡傳輸情況不佳導致網絡可用性變差(DSC的共識組成員會來自世界多個國家)。

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法

結論

本文闡述了Penta網絡所採用動態權益共識DSC,其通過散列抽籤算法確保共識過程的公平性,是平衡了效率、規模、安全性、一致性、可用性的民主化共識機制。

DSC動態權益共識|一種兼顧性能、去中心化和安全的共識算法


分享到:


相關文章: