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