NPOS —— 一名驗證人的誕生

NPOS** —— **一名驗證人的誕生

NPOS —— 一名驗證人的誕生

Polkadot 區塊鏈將實施提名形式的質押證明(NPoS),這是一種相對新型的方案,用於篩選被允許參加共識協議的驗證人。在本文中,我們將對 NPoS 進行介紹,並我們在 Web3 基金會進行的研究的基礎上,又進行了深入瞭解。我們還將解釋驗證人被選舉的特殊模式。那麼接下來,我們將一起了解 NPoS 將以什麼樣的方式在 Polkadot 中工作。

驗證人和提名人

該系統每天將會多次選擇一組驗證人的實體,這些實體在接下來的幾個小時內將在高度敏感的協議(例如區塊生產和 GRANDPA 收尾等小工具)中發揮關鍵作用。他們的工作要求很高,因爲他們需要進行高昂代價的操作,來確保迅捷的通信響應速度,並建立長期的高可靠性能的聲譽。爲了規範運行行爲,他們(驗證人)還必須質押自己的 DOT,這是 Polkadot 的原生通證,每當他們的操作背離協議時,他們的質押就會被削減。相反,當他們遵守規則時,他們便會獲得高昂的報酬。任何能勝任該任務的節點都可以公開宣佈自己有意願作爲驗證人的候選者。但是,出於操作原因,只能選擇有限數量的驗證人,預計將是數百或數千。

該系統還鼓勵任何 DOT 的持有人可作爲提名人蔘加競選。提名人會發布它信任的驗證人候選人列表,並質押一定數量的 DOT 來爲他們提供支持。如果這些候選人中的一些候選人當選爲驗證人,提名人將與他們分擔每筆質押 DOT 的支付或懲罰。與驗證人不同,無數節點可以作爲提名人蔘加。只要提名人盡職盡責,並且僅支持具有良好安全操作行爲的驗證人作爲候選人,它的角色風險就很小,並且可以獲得連續的收入來源。Polkadot 網絡中還有其他特殊角色,但是我們這次僅關注這兩個角色之間的關係。

NPOS —— 一名驗證人的誕生

NPoS 的具體方案

這種由提名人→驗證人的安排提供了強有力的安全保證。它使系統能夠選擇擁有大量質押的驗證人(比任何一方的 DOT 持有量都高得多),並淘汰低質押的候選人。實際上,在任何時候,我們都希望將所有供應的 DOT 中相當一部分都質押入 NPoS。這使得有敵意的實體很難當選爲驗證人(因爲他們需要建立相當數量的聲譽以獲得所需的支持),並且攻擊系統的成本也很高(因爲任何攻擊都將導致大量 DOT 被削減)。

我們的 NPoS 方案比工作量證明(PoW)擁有更高的效率,並且比標準的質押證明(PoS)更迅捷。具有明確結果導向性(deterministic finality)的網絡只能含有有限個的驗證人節點集(可以通過管理來更改大小)。NPoS 幾乎允許所有 DOT 持有者長期參與,在保持越來越多的人根據其持有量來獲得收益的同時將更多的價值資產置於風險中,來維持高水平的安全性。

選舉流程

NPOS —— 一名驗證人的誕生

在給定提名人的選票的情形下,如何選舉驗證人呢?與其他基於 PoS 的項目不同的是,在 Polkadot 中驗證人是通過質押加權的,並且 Polkadot 在共識協議中賦予當選的驗證人同等的投票權。爲了反映這一事實,提名人的股份應儘可能平均地分配給當選的驗證人,同時還要尊重提名人的偏好。在 Web3 Foundation 研究團隊中,我們使用了從選舉理論到博弈論再到離散優化的工具,用以開發有效的選舉過程,希望提供公平代表性和安全性,並可在將來使 NPoS 可應用於任何區塊鏈。我們將在下面探討這些目標以及一些示例。

公平代表性原則

19 世紀末,瑞典數學家拉斯·愛德華·普拉格曼(Lars Edvard Phragmén)提出了一種選舉該國議會議員的方法。他注意到當時的選舉方法傾向於將所有席位分配給最受歡迎的政黨。相反,他的新方法可確保分配給每個政黨的席位數量與分配給他們的票數成正比,因此它賦予了少數羣體更多的席位。通過他的方法獲得的這種公證屬性,在形式上被稱爲比例代表制(PJR),並且非常適合 NPoS 選舉,因爲它確保了選出的驗證人不會按其所佔質押比例使得任何節點池的代表人數過多,或過少。我們深受 Phragmén 的啓發,並採取其建議的方法做爲基礎,並確保每次選舉均具有此屬性。

NPOS —— 一名驗證人的誕生

該圖代表了選舉過程典型的輸入模式,左側的提名人擁有不同數量的質押,並通過連線到右側他們信任的那些驗證人的候選人(爲簡單起見,在此示例中,驗證人沒有自己的質押 ,儘管它們會在實際情況下出現)。假設我們需要選擇 n = 4 個驗證人。以比例代表制爲指導思想下,大致可轉換爲以下規則:任何提名人至少應持有總股份的 n 分之一,才能保證其至少在受信驗證人池中選舉出一位。由於總質押爲 40 個 DOTS,其中四分之一爲 10 DOTS,因此要保證前兩個提名人能被驗證人代表。在下圖中,我們看到三種可能的選舉結果:第一種違反了公平代表原則,而其他兩種則是符合公平代表原則的。

NPOS —— 一名驗證人的誕生

安全性

如果提名人選出了兩個或多個其信任的驗證人,則我們需要在他們之間分配質押份額,以使驗證人的支持儘可能一碗水端平。回想一下,我們希望使有敵意的節點池儘可能地選不出驗證人,除非獲得足夠高的支持,他們纔有可能實現當選驗證人這一目標。因此,我們將選舉結果的安全級別等同於任何當選驗證人的最小支持量。對於最後兩個具有公平代表權的選舉結果,我們提供了質押分佈,表明它們分別達到了 6 和 9 的安全級別。

NPOS —— 一名驗證人的誕生

右側的選舉結果可以達到更高的安全級別,並且顯然可以更好地將提名人的質押分配給驗證人,並使其獲得大致相等規模的支持。因此,NPoS 選舉過程的目的是提供一種可最大程度實現公平的選舉,和達到儘可能高的安全級別的結果。這帶來了一個極具挑戰性的優化問題(既 NP 完備問題),爲此,我們開發了快速的近似和啓發式(fast approximate heuristics)算法,並在安全性和可擴展性上提供了有力的保證。

我們對 Polkadot 即將實現的技術發展,以及 NPoS 在區塊鏈領域開發的高效方案帶來的無限可能性感到無比興奮。

編譯 / 潛行之堯

往期回顧

海外社區:Gavin 親筆回答主網上線時間(另附詳細解讀)
Polkadot CC1 - 主網未至,聞雷失箸:PoA 波卡初階段到底意味着什麼
Libp2p :雙劍合璧會有時
波卡 DOT 新面值提案最全官方解讀:1 比 100 拆分將被擱置!

NPOS —— 一名驗證人的誕生

來源鏈接:mp.weixin.qq.com