PoS (Proof of Stake) 區塊鏈系統廣遭詬病的缺陷之一便是馬太效應,即富者愈富貧者愈貧。目前,已有諸多項目通過新穎的設計來緩解和改善該問
PoS (Proof of Stake) 區塊鏈系統廣遭詬病的缺陷之一便是馬太效應,即富者愈富貧者愈貧。目前,已有諸多項目通過新穎的設計來緩解和改善該問題:Polkadot 的 NPoS (Nominated Proof-of-Stake) 使得每個 validator 獲得的系統獎勵相同,與票數無關;
Decred 的選票機制由于票價不固定,且浮動的投票時間是導致短期收益不確定,加之 PoS 只獲得區塊獎勵的 30%, 因此大節點無法僅通過持有現有權益而維持其在 DCR 流通中的相對份額;CPChain 則引入了榮譽度評估算法,除節點持倉量外,還將節點交易量、數據貢獻、區塊鏈維護、代理榮譽等納入了考核指標。
本文介紹一種創新的 Staking 機制——著名分片項目 Harmony 設計的有效抵押證明機制 EPoS (Effective Proof-of-Stake) ,基于有效抵押的區塊獎勵來緩解馬太效應。
1. 馬太效應
馬太效應典出《新約圣經·馬太福音》:“凡是少的,就連他所有的也要奪過來。凡是多的,還要給他,叫他多多益善。”反映的社會現象是兩極分化,即富者愈富,貧者愈貧。
在某些 PoS 項目的設計中,驗證者按照他們接受抵押的數量占比獲得等比例的區塊獎勵,這極易導致抵押代幣的過度集中。
2. Harmony共識機制
Harmony 的整體架構與以太坊 2.0 類似,由信標鏈和分片鏈組成。分片作為一種區塊鏈的拓展方案,首先在 Zilliqa 上實現;但 Zilliqa 僅實現了網絡分片和交易分片。Zilliqa 將其網絡分為多個分片,每個分片有數百個節點(網絡分片),允許不同的交易由不同的分片同時處理(交易分片)。
但為了能夠處理交易,分片中的每個節點都必須存儲整個區塊鏈狀態信息,這使得網絡對節點的要求較高,阻止了硬件資源一般的節點加入網絡,不利于網絡的去中心化。Harmony 進一步實現了狀態分片,并將其分片技術命名為深度分片 (Deep Sharding),不僅對交易層面進行分片,還對共識發生的層面進行分片,從而提升網絡吞吐量。此外,由于所有節點都無需存儲整個區塊鏈狀態,因此一般的個人計算機也可以作為節點加入網絡,進一步推動網絡去中心化。
Harmony 采用 PoS+FBFT 共識機制,即首先通過 PoS 選出參與區塊簽名的節點,再通過 FBFT 達成共識。成為 Harmony 的驗證者需要質押一定數量的 ONE 通證,抵押的通證數量代表驗證者的投票份額,每個投票份額對應 FBFT 共識的一票。
為防止單個分片中出現單個/多個節點投票份額過大等問題, Harmony 采用了自適應閥值 PoS,根據分布式隨機生成協議把節點的投票份額隨機分配到不同的分片當中,而非單個驗證者連同其所有選票隨機分配到一個分片(如上圖所示)。這樣一來,即使某惡意節點持有大量的選票份額,也無法影響單個分片的選票結果。
每個周期(epoch)伊始,Harmony 網絡會通過分布式隨機生成協議產生隨機數,基于隨機數來確定分片結構。周期是預定的時間間隔,在此期間,分片結構是固定的,每個分片持續與同一組驗證者運行共識。
為防止分片保持結構固定可能會出現的靜態循環攻擊、慢適應攻擊或完全適應攻擊等,Harmony 還采用基于 Cuckoo 規則的重新分片機制對分片的選票進行重新洗牌。此外,Harmony 還設置了使驗證者快速進行狀態同步與驗證的機制。
簡單來說,每個周期的首個區塊都包含上一個周期首個區塊的哈希鏈接。當驗證者新加入一個分片時,它們需要檢索狀態,并確保狀態有效。新加入的驗證者只需下載當前狀態即可獲得從當前狀態到創始區塊的路徑,新驗證者可通過灰色區塊快速驗證當前狀態(如上圖所示)。
3. Harmony EPoS 設計
Harmony 的抵押證明機制 EPoS(Effective Proof-of-Stake)是一種高效的抵押機制,可避免抵押代幣中心化,同時支持抵押復利和代幣委托,適合需要大量同等權利驗證者的分片系統。
EPoS 系統基于抵押者代幣數量的排名選取驗證者,對于每個 epoch(約為1天),前 1600 名抵押者將獲得有限的 1600 個驗證者席位(4個分片* 400個席位)。epoch 更新后,新的抵押排名將決定誰是下一個 epoch 的驗證者。在 EPoS 中,驗證者的區塊獎勵按照其“有效抵押量”的比例進行分配,而非實際抵押量。有效抵押量的共識定義如下:
其中,c 是鏈上設定的參數,median stake 表示前1600名抵押者的中位數抵押量,actual stake 則是每個驗證者持有的實際抵押數量。驗證者的有效抵押量本質上為其實際抵押量介于上限閾值(1 + c)* median stake 和下限閾值(1-c)* median stake 之間的數量。除區塊獎勵外,每個驗證者在共識中的投票權也根據驗證者的有效抵押按比例確定。
上圖為當 c = 0.15 時前 1600 位驗證者的實際抵押量和有效抵押量曲線。
隨著有效抵押的引入,排名較高的驗證者會因為抵押代幣數量過高而獲得較低回報,間接蒙受一定經濟損失;而排名較低的驗證者則可享受額外獎勵。有效抵押在此充當均衡器,推動驗證者之間更均勻地分配抵押代幣,避免集中。
為實現復利,藍色和綠色區域中的驗證者可通過在同一驗證者節點中反復抵押區塊獎勵來直接獲得復利,黃色區域中的驗證者則只能通過啟動新驗證者節點來獲得更多區塊獎勵。對于持有大量代幣的礦池而言,這種設計迫使其自身加強去中心化,從而避免單點故障。
此外,EPoS 支持直觀有效的代幣委托:代幣持有者可根據驗證者的傭金率、正常運行時間和其在排名中的位置,自行選擇將代幣委托給一個或多個驗證者。扣除驗證者設定的傭金費用后,塊獎勵將按委托代幣的比例分配給委托者。對委托者而言,委托給綠色區域的驗證者會獲得更高回報,這也避免大量代幣被委托給頭部驗證者,從而降低抵押中心化風險。
在節點懲罰機制設計中,節點若觸發 slash ,將削減至少 2% 的抵押代幣,且削減數量將隨著同時間被削減的驗證者的數量呈線性增加。舉例來說,若三分之一驗證者觸發雙重簽名,則每位驗證者的削減比例上升為 33%。這一規則與有效抵押機制相得益彰。若大戶的多個抵押者節點同時發起攻擊,他們的抵押代幣也會受到更為嚴重的削減。
通過上述設計,Harmony 網絡得以有效避免抵押中心化,從而進一步緩解馬太效應。(張良慧)