作者 | 张先生
来源 | Wetez
Polkadot 是被誉为“以太坊隐形大脑”的 Gavin Wood 领军的项目,是 Web3.0 版图上不可或缺的板块。
Polkadaot 独特的跨链机制旨在将当下各自独立的区块链网络串联起来,让不同链间可以进行通信和数据传递,或将成为下一代价值互联网的基石。
除了更为宏大的区块链技术框架,在实现更公平的点对点数字交易等方面,Polkadot 都意义非凡。
加密谷长期关注 Polkadot 项目,此前曾从不同维度对其进行过深度介绍。我们将持续关注项目发展进程,陆续刊载系列文章,敬请期待。
“系列谈”此前篇目请见:
《独家编译 | 区块链互操作性深度解读:Cosmos vs.
Polkadot (上)》
《独家编译 | 区块链互操作性深度解读:Cosmos vs.
Polkadot (下)》
《Polkadot 系列谈之一 |
「地表最强」跨链项目的缘起与沿革》
《Polkadot 系列谈之二 | 一文读懂 Cosmos 和 Polkadot
五大差异》
《Polkadot 系列谈之三 |
跨链机制或将引发去中心化应用的第三次浪潮》
Polkadot 可以写的东西还很多,这篇文章将会主要环绕 Staking 部分与 NPoS 公式挑选验证人节点的方法,这两个方面与持币人与节的收益有非常密切的关系。
简单为大家复习一下 PoS 共识项目的完整出块过程
1. 团队运行节点
2. 注册成为验证人
3. Staking 过程(持币人委托给节点,或是团队自由代币进行 Staking 委托)
4. 选举验证人(系统通过某种算法选出每一轮的出块节点或是验证节点,这篇文章细说的就是 Polkadot 的 NPoS 选举算法)
5. 打包交易、广播交易、验证人确认一连串过程
6. 获得奖励(奖励是由节点与持币人按照 Staking 比例分配)
从持币人的角度,更简单理解 PoS
持币人拥有以 PoS 为共识的代币 Moon,将 Moon 进行 Staking 委托给喜欢的节点,节点代持币人进行出块并获得奖励,奖励依照 Staking 比例进行分发。(Staking 比例 = 持币人参与 Staking 的 Moon 数量 / 所有参与 Staking 的 Moon 数量)。
上面提到的是一般的 PoS 项目计算奖励的做法(奖励多寡与持币人 Staking 量为正相关)。
Polkadot 提出了 NPoS, 初衷是为了解决过去 PoS 运行后,遇到的问题,因为奖励与 Staking 量正相关造成富有节点更富有,代币分配趋向中心化。
NPoS 里最终奖励结果不是依据 Staking 量,而是依据每个被选出节点确实出块的工作量计算(不管节点拥有多少 Staking 量,出一个块或是验证一个块得到的奖励是一样的),NPoS 将解决一部分大节点因为 Staking 量大获得更多奖励的问题,但同时也损害了一些大节点利益。
Polkadot 究竟是怎么做到的呢?
NPoS 既然有别于传统 PoS 项目,不是 Staking 权重越高出块概率越高,我们就要详细说明下 NPoS 选举验证人的算法。
非常详细的文档在 Web3 的研究中,另外有一篇 medium 文章“How Nominated Proof-of-Stake will work in
Polkadot”,我参考了里面的举例。
NPoS 的共识算法历史
NPoS 参考了当时 19 世纪末,一个瑞典数学家 Lars Edvard
Phragmén 提议的选举方法,当时瑞典的国会席位都是被主流党派占据,通过他的算法能更公平的让席位分配是和投票的比例有更高的联系,小党派能够获取过去没有办法获得的席位,Polkadot 团队认为两者在设计理念上有相似之处,改良后就是现在看到的 NPoS。
NPoS 的选举人算法,我们都知道区块链这个分布式系统是由众多分散各地的节点(验证人)来维护,在 PoS 共识里大部分的链为了保证一定效率及安全下,会限制一定数量的验证人进行出块,也就是没有被选上的验证人就只是备选出块人,而 NPoS 就是从一群验证人中选取出正式验证人,Polkadot 里把一群正式验证人成为选举人委员会(Committee)。
选举人算法有三大客观目标
1. 平衡 Balance:
一旦选举人委员会确定后,会将持币人 Nominators 的 Staking 量尽可能平均分配给每个选上的选举人 Validators。
PS: 持币人是可以选择多个选举人的,所以存在系统重新分配空间
2. 最大支持 Support:
选出一个选举人委员会,委员会中的选举人 Validators 收到的 Staking 量要尽可能贴近总持币用户 Nominators 的 Staking 量。
3. 公平代表 Fair Representation:
选出一个选举人委员会,其中持币人 Nominators 的投票权不会被过度代表,也不会被低估代表。
PS:
持币人可以选择多个节点,公平代表最简化是,每个持币人对应到的节点至少有一个会被选出,加上现实条件(持币状况及系统要选出几个节点)后有些节点会被淘汰,但尽可能保证拥有一定 Staking 权重的持币人可以至少对应到一个节点。
基于这三大原则筛选出来的验证人群(选举人委员会)可能有多个,最终系统会挑选出一组最合理的 Committee (选举人委员会)进行出块,看起来很复杂很懵吧,我最开始也绕了很久,接下来会搭配下面持币人选举验证人的例子,大家会更加清晰的理解,建议先快速看过这个例子,然后阅读过程中搭配上面三个选举人算法的客观目标思考,最后再仔细看一次例子。
这是 Medium 上官方人员的举例:
假设有 5 个持币人(左边),5 个节点(右边),要从中选出 4 个节点进行出块,为了简化模型先忽略节点自己拥有 Staking 量。
下面是选举结果的举例:
第一张图(最左边):并不符合公平代表(Fair Representation)的目标,因为图中第一个持币人拥有 10Dot 的权重 ,
相比第五个持币人只有 3Dot 的权重,最终却没有对应到任何他支持的节点,不符合公平代表目标拥有一定 Staking 权重的持币人至少对应到一个节点(在现在情况下,第一个持币人是拿不到奖励的)。
第二张图:符合公平代表(Fair
Representation)的目标,有些人可能会质疑为什么 E 节点选上了,而 B 节点没有选上,这和接下来会举例的重新分配算法相关,这边简单理解,图中第二个持币人同时支持了 3 个节点,系统只要保证他支持的节点至少有一个被选举上就好(这边他支持的节点有两个选上,第二个持币人所有 Staking 量将会被分配到这两个节点上),同时保持第五个持币人也有支持的节点 E,对于 Polkadot 这样的选举结果是可能之一。
第三张图:符合公平代表(Fair
Representation)的目标,有些人可能会质疑这个与第二张图产生矛盾,目标是尽可能让每个持币人最少要有一个支持节点被选上,那第 5 个持币人支持的节点没有被选上,因为整个系统只需要选出 4 个节点,所以第五个 Staking 权重低的持币人支持的节点没有选上的结果是可能之一。
以下是上述两个符合公平原则的选举人委员会可能结果,确立选举人委员会后系统还要经过 Staking 权重重新分配。
Polkadot 系统会在每次从中选出一个更公平分配且具备安全性的结果,这个例子中选择右边因为它平均分配的更好,右边的节点中平均最低都拥有了 9 的 Staking 权重。
以上就介绍完 Polkadot 的选举算法了,上面的逻辑非常的绕,背后的数学更是复杂,官方的举例是在一个简单的情况下,真实情况如果放大到 100 个节点,每个持币人 Staking 权重都不同,同时又委托给多个节点,就会相当相当复杂,大家可以多思考几遍,依照上面提到的三大目标,每一个目标都可以当作标准检验一遍,就能够更明白。
NPoS 这个选举算法动态分配持币人 Staking 权重,还基于一些规则挑选出最后的选上的节点,对现有的 PoS 生态中造成了一些不同:
1. 在持币人可以选择多个节点下,大节点不努力争取社区支持,也有机会在算法下被排除在外(如图二中间 B 节点);
2.
在平衡 staking 量目标下,小且没有资本的节点更有利,因为只要社区中越多人选择它,在系统分配 Staking 量的机制下,选上出块可以获得奖励概率更高(如图二右边 D 节点);
3. 在平衡 staking 量目标下,大节点利润相对被压缩,大节点需要思考是否将自己的币委托出去,能获得更多利润;
4.
持币人更有动机去选择小节点,利润更高,因为奖励是依据被选上节点的工作量计算的,只要持币人支持的小节点成功选上进行出块,小节点上累积的 Staking 的权重没有那么高,不同持币人依据委托给小节点的 Staking 比例分奖励,相对于委托给大节点,委托给小结点利润更高(就想像每个节点都赚 10 块钱,大节点需要和 100 个人分,小节点只需要和 30 个人分)。
Polkadot 到底想解决现有 PoS 什么问题
1. 一部分不可避免的中心化问题。
2.
低手续费未来不会无限地吸引 Staking 量,因为收益是看节点工作量(现在 Cosmos 上就出现 0 手续费节点吸引大量持币人委托,在 Polkadot 里这样高 Staking 权重的节点与普通 Staking 权重的节点获得的收益是一样的)。
3.
持币人可以通过挑选不同节点最大化自己利益,同时促进去中心化(对于持币人就可以有多种委托策略,我可以挑选安全可靠的节点,同时也可以挑选一些小但是也挺靠谱节点,可以获得更高收益率)。
张先生 作者
Roy **排版**
内容仅供参考 不作为投资建议 风险自担
版权所有 未经允许 严禁转载
本文转自公众号“Wetez”
原标题为《Polkadot 创新 NPoS 共识下的 Staking 经济》
**
**
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:分享区块链领域专业、前沿、有趣的内容
评论0条