DPoS 是 PoS 的改良版,兩者最大的不同在於。PoS 是根據節點的持幣數量與持幣時兼爭取記帳權, 而 DPoS 則是以網路中利益相關人的選票選擇記帳節點,相當於菁英政治中的代議機制。DPoS 最初由 Bitshares、Steemit 以及 EOS 的創辦人 Dan Larimer 提出,他在區塊鏈項目 Bitshares 中實現了 DPoS 共識機制。在 DPoS 網路中,有兩個重要的角色「見證人」與「利益相關者」。
DPoS 利益相關者
利益相關者也就是網路中的持幣者,能夠透過交易所或錢包,在抵押代幣後選擇要支持誰來擔任驗證人,利益相關者持有的代幣越多,投票的權重就越高,而有些驗證人會提供分紅,將挖礦獎勵分享給支持他的利益相關者。
DPoS 的一個重要特點是,任何系統參數都可以通過利益相關者的投票進行更改。這些參數包括區塊間隔和大小、交易費用、見證人獎勵、甚至見證人數量(具體支援參數會依據不同項目而有所不同),這為網路提供了更大的靈活性與分散式治理。
DPoS 見證人
DPoS 中另一個重要的角色為見證人(或稱為超級節點),其工作是為區塊鏈添加新的區塊,也就是記帳。理論上,只要具備一定程度的設備與計算能力,任何人都有機會擔任見證人。但實務上見證人大多都是社群中活耀的實名組織,具有可靠的社群貢獻紀錄。想成為見證人的節點可以通過對網路做出積極的貢獻來提高聲譽,例如市場營銷、貢獻代碼、籌集資金、社群建立等。
理性的見證人會保持中立,維護帳本的安全,因為見證人始終處於利益相關者的控制之下,當驗證人因不良行為(未記帳或簽署無效區塊等)導致網絡運行出現問題時,利益相關者的損失最大,因此,利益相關者會隨時將其選票重新分配給其他見證人。理論上,網路規模越大,見證人彼此的競爭就越激烈,因此,成為社區中具備良好聲譽的成員以避免被替換,才符合見證人的最大利益。見證人的數量是固定的,具體取決於項目方的設計,Ark 的見證人有 51 個、 Lisk 有 101 個、EOS 則有 21 個。
DPoS 運作機制
DPoS 透過聲譽和實時投票機制選出一批見證人,見證人會負責輪流產出並驗證新的區塊,
假設網路中有 A、B、C 三個見證人,則 A 產出第一個區塊、B 產出第二個區塊、C 產出第三個區塊,保證所有見證人都能夠產出區塊。在每 t 個時間間隔(例如,每 10 分鐘),見證人的順序會重新排列,然後再次輪流產出區塊。
簡單來說,第一輪出塊順序是 A→B→C,三個見證人都產出過區塊後,便開啟下一輪出塊,並將順序隨機改變例如 B→C→A。
DPoS 不需要像 PoW 一樣,浪費算力爭取記帳權,且 PoW 必須控制出塊時間以降低同時產出兩個甚至多個區塊的機率,比特幣就是為了降低孤塊 率才會固定十分鐘出塊一次。而 DPoS 因為只有少數見證人負責出塊與驗證區塊,且出塊的順序是經過協議決定好的,因此不會發生兩個見證人同時產出區塊的問題,可以大幅降低出塊時間,例如 EOS 的出塊時間為 3 秒,EOS 2.0 將進一步降低到 0.5 秒,因此在效率上遙遙領先 PoW。
DPoS 去中心化的爭議
DPoS 是否有違背權力下放的精神是許多人關注的問題,DPoS 的支持者認為,PoW 雖然所有節點都有權利能夠爭取記帳權,但實際上計帳權大多被大型礦場或礦池壟斷,從下圖中可以看到,2018 十月 ~2019 十月,前七大礦場或礦池就占了比特幣全網算力的 80%,即使你持有比特幣,你也無權決定未來比特幣的開發方向以及由哪些人生產區塊,所以你不得不授權給那些擁有算力的人,讓他們代理產塊。
然而,DPoS 只有少數見證人負責產出區塊與驗證區塊,帳本安全性會因此降低是不爭的事實,此外,菁英政治的代議機制,往往會延伸出黨派鬥爭,使用 DPoS 共識機制的 EOS 便時常傳出為了爭取見證人地位,拉攏利益相關者相互鬥爭的問題。
DPoS 優點
- 與 PoW 和 PoS 相比擁有更高的效率。
- 解決了 PoW 的能源問題、PoS 的權益粉碎攻擊以及降低硬分叉的可能性。
DPoS 缺點
- 為了提高效率,DPoS 以代理人共識取代全網共識,因此時常被抨擊與區塊鏈去中心化的理念相違背。