加入PolkaWorld 社區,共建Web 3.0!

Polkadot 理事會在9 月13 日通過了Motion 108。目前正在等待進行公投和執行。該議案是由Parity 的Staking 團隊提出,旨在將DOT 質押的最低金額增加到120 DOT,允許高於120 DOT的新提名人參與維護Polkadot 網絡的安全。

請注意,在最新的runtime 升級(9090) 之後,現有的提名人還是可以在所有條件下更新他們對驗證人的選擇。

當前的Staking 參數如下:

驗證人最低綁定金額:無最大驗證人數:1200提名人最低質押:80 DOT提名人最大數:22500凍結閾值:90%

新議案的參數只更新一個值:提名人最低質押:120 DOT

Parity 團隊的目標是將限制提高到足夠大,以便至少在一個月內不需要再做一次調整。 Parity 開發團隊也正在其他解決方案上進行優化,你可以在這裡查看有關它們的更多信息。 https://github.com/paritytech/substrate/issues/9511

此外,Parity 團隊發布了8 月份的Staking 進度報告以分享技術細節。 https://gist.github.com/kianenigma/aa835946455b9a3f167821b9d05ba376

將參數值增加到120 DOT 可以讓團隊有更多時間去進行優化,直到在更持久的解決方案上取得了進展。請記住,這些措施是暫時的,總體目標是網絡的穩定性和安全性。

如果你想了解技術版的NPoS 機制難點,解決方案和瓶頸,可以繼續閱讀下面內容。

NPoS 介紹

NPoS 在區塊鏈中是一個非常難以解決的問題。原因是我們想要一個主權算法(無論是不是我們目前使用的phragmen 算法)為我們在鏈下解決NPoS 的問題,並將解決方案重新提交到鏈上。

NPoS 的問題可以概括為:給定一個提名的輸入graph,找到每個提名人的質押分佈,然後優化某些目標。例如,假設Alice 提名Bob、Charlie 和Dave。 Bob 和Charlie 在活躍的驗證人節點池中。 Alice 的質押應該如何在他們之間分配? Dave 呢?

對比DPoS 的簡單性,他不存在這樣的問題,因為每個提名人只支持一個賬戶。即使你可以支持多個賬戶,你的質押也是在它們之間平均分配,或者根據一些預定義的順序進行分配。

NPoS 在Substrate 鏈中的設計目標為:

獲得最少支持的驗證人的支持質押數額,應該被最大化。所有當選的驗證人的支持質押總和,應該是最大的。所有當選的驗證人的支持質押的平方和,應該最小化。

當前的解決方案

我們有一套算法來解決NPoS 問題,進一步優化它並減小它的大小,所有這些都打包在sp-npos-election 中。

在runtime 中,我們有一個專用的模塊來執行我們的多階段、面向鏈下的選舉過程,命名為pallet-election-provider(-multi-phase),Pallet-staking 只會使用選舉模塊,不處理選舉本身的細節。

當前系統的一個重要部分是pallet-staking 和pallet-election-provider 沒有跟上彼此的變化,但這是故意的。在某些時候,pallet-staking 將需要向pallet-election-provider 提供其提名人和驗證人(或其子集)的快照。從這一點開始,兩個模塊可以獨立工作。

這個設計對我們有很多好處。最重要的是,我們可以使用快照作為所有提名人和驗證人的索引查找來源。在鏈下計算和提交的所有解決方案中,我們從不使用帳戶ID,而是使用更高效的快照索引。

瓶頸

考慮到系統的設計,讓我們看看主要的瓶頸:

快照創建:這種情況發生在on_initialize 上,很容易造成繁重的塊。更重要的是,每個塊可以使用多少內存是有嚴格限制的,所以我們肯定不能在一個塊中迭代大量的提名人。解決方案提交:提交的解決方案也不能達到塊大小限制,也不能達到塊內存限制。後者是低擁塞的真正瓶頸。解決方案驗證:解決方案需要在某個時候進行驗證。這需要針對快照發生,因此又是一個內存密集型操作。

所有這一切的解決方案,以及我們的行動方向是在多個塊上完成所有這些。快照將在多個塊上進行,結果快照將是一個page-index -> snapshot-page 的映射,而不是一個大的平面快照。

解決方案需要考慮到這一點。它需要以一種可以理解的方式向鏈提供提名人指數。每個提名人現在都可以通過(頁面,索引)元組識別,而不是通過單個索引來識別提名人。

同樣,解決方案驗證也需要考慮到這一點,將解決方案的每個頁面與快照中對應的頁面進行驗證。最後,需要將部分解決方案合併為一個解決方案。

直播預告:

本週四晚7 點,PolkaWorld 邀請Bifrost 的創始人Lurpis和Zenlink 的中國區負責人郭濤加入我們的視頻號直播間「波卡世界」,一起聊聊:

如何通過Bifrost SALP 協議釋放鎖定在crowdloan 中的KSM 流動性?如何通過Zenlink SlotVault DApp 參與crowdloan,並獲得ZLK 獎勵?

歡迎學習Substrate:https://substrate.dev/關注Substrate 進展:https://github.com/paritytech/substrate關注Polkadot 進展:https://github.com/paritytech/polkadot

更多內容:

「Sub0 Online」Substrate 開發者大會演講者名單公佈! Gavin 和這些生態項目都會來!

#0 公投提案: 移除Sudo,Bifrost 升級v0.8.5

波卡週報| Sub0 在線會議將於10 月中旬舉辦!

掃碼關注公眾號,回复“1” 加入波卡群

關注PolkaWorld

發現Web 3.0 時代新機遇

點個“在看” 再走吧!

閱讀原文