深入解读 Polkadot 的质押机制:参与角色、选举方式与质押策略

Polkadot 网络中所有验证人拥有同等出块机会,Staking 策略与参与者角色以及持有的 DOT 数量有关。
头等仓APP下载

Polkadot 网络中所有验证人拥有同等出块机会,Staking 策略与参与者角色以及持有的 DOT 数量有关。

原文标题:《对 Polkadot 抵押(Staking)问题的研究》
撰文:郝凯,就职于 HashKey Capital Research

本文简单介绍了参与 Polkadot 网络中 Staking 的几种角色,并分析了 NPoS 机制对于选举验证人的准则和特点。本文还讨论了在不同情况下参与 Staking 的策略,以及 Polkadot 对生态中各方参与者的影响。Polkadot 是区块链领域的明星项目,影响力非常大,值得持续保持关注。

Polkadot 是 Web3 基金会旗下的重点项目,旨在解决当前区块链存在的可扩展性(Scalability)和孤立性(Isolatability)等问题。通过 Polkadot 创建的异构多链平台,不同区块链之间可以进行连接和交互,实现信息和价值的跨链传递。在官网给出的 链接中,Polkadot 团队已经对项目的整体架构、共识机制等内容给出了非常详细介绍,本文对技术部分不做赘述,主要针对 Polkadot 的抵押(Staking)问题进行研究。

一、参与 Staking 的角色

Polkadot 网络中共有四种角色:验证人(Validator)、提名人(Nominator)、收集人(Collator)和钓鱼人(Fisherman),其中,直接参与 Staking 的角色是验证人和提名人。

深入解读 Polkadot 的质押机制:参与角色、选举方式与质押策略图 1:Polkadot 网络中的四种角色,图片来源:Polkadot 白皮书

验证人

验证人是 Polkadot 网络中的重要角色,他们的职责主要包括运行中继链节点、保护中继链的安全、验证来自收集人的证明以及打包生成新的区块。参与者想要成为 Polkadot 网络中的验证人,必须抵押一定数量的 DOT,这些 DOT 既可以是参与者自己抵押的,也可以是其它提名人抵押的。参与者成功当选验证人之后,如果能够及时且正确地履行职责,那么就可以获得相应的区块奖励;如果不能按要求履行职责,就会受到惩罚,并根据错误的严重程度扣除部分或全部抵押的 DOT。验证人的选举机制会在下文详细介绍。

提名人

有些参与者不想运行中继链节点,但期望参与 Staking 获得收益,那么他们可以将持有的 DOT 抵押给参与验证人选举的候选人,成为 Polkadot 网络中的提名人。除抵押 DOT 之外,提名人不需要再承担其它职责。如果提名人选择的候选人成功当选验证人,那么在验证人扣除佣金之后,提名人可以按照抵押比例获得相应的区块奖励。注意,如果验证人因不良行为受到系统惩罚,提名人也会按照抵押比例扣除 DOT。Polkadot 允许提名人同时选择多个候选人,最多可以选择 16 个。

收集人

收集人的职责是帮助验证人生成有效的平行链区块。为了履行职责,收集人需要维护平行链的「全节点」,以便收集该平行链的全部必要信息。同时,收集人会创建「未验证」的区块并提交给当前负责该平行链的验证人。收集人通过交易手续费获得激励。

钓鱼人

钓鱼人是 Polkadot 网络中的「赏金猎人」,他们监控网络中的不良行为,并将这些行为报告给验证人以获得奖励。在这样的机制下,钓鱼人是 Polkadot 网络中作恶者的威慑力量。成为钓鱼人的门槛不高,参与者不需要承诺稳定的在线时间和大的带宽,只需要抵押少量 DOT 并运行节点以监控网络。钓鱼人报告的不良行为越严重,他们获得的奖励越多。

二、验证人选举

Polkadot 网络中验证人的选举采用提名权益证明机制,即 NPoS (Nominated Proof of Stake)。需要指出的是,NPoS 是验证人的选举机制,而 Polkadot 网络中区块的生成和确认采用的是一个混合共识算法,称为 GRANDPA/BABE。

NPoS 机制的特点

首先,在 NPoS 机制中,提名人可以选择多个候选人进行 Staking,提名人可以设定参与 Staking 的 DOT 数量,但不能决定这些 DOT 的具体分配,系统会决定候选人能否当选以及参与 Staking 的 DOT 具体分配情况。

举例来讲,提名人 A 持有 100 个 DOT 参与 Staking,并选择抵押给三个候选人 B、C 和 D,此时 A 不能指定给 B、C 和 D 投票的具体数量。如果 B、C 和 D 都当选,系统会决定这 100 个 DOT 在 B、C 和 D 之间的具体分配;如果只有 B 和 C 当选,系统会决定这 100 个 DOT 在 B 和 C 之间的具体分配;如果只有 B 当选,系统会将这 100 个 DOT 全部分配给 B;如果 B、C 和 D 都没有当选,提名人 A 不能参与下一轮的 Staking,无法获得收益。

第二,验证人委员会选举确认后,系统会将提名人的投票尽可能平均分配给每一个验证人,但验证人的最终得票并不是完全相等的,甚至可能存在比较大的差距。

举例来讲,提名人 A 持有 100 个 DOT 参与 Staking,并选择抵押给三个候选人 B、C 和 D。系统在分配投票时,这 100 个 DOT 只能在候选人 B、C 和 D 之间进行分配,不能分给其它候选人 E、F 等。如果很多提名人都只选择某个验证人进行 Staking,那么这个验证人的最终得票肯定远超过其它验证人。

第三,现有 PoS 机制的验证人获得的出块奖励与 Staking 的数量成正相关,马太效应非常明显,富有节点会变得更富有,代币分配趋向中心化。NPoS 机制中当选的所有验证人都有同等的出块机会,与 Staking 的数量无关。因此,在按比例分配出块奖励时,投票给小节点所获得的收益率可能会更高,这会在一定程度上防止代币分配趋向中心化。

第四,作恶者想要成为验证人,那么他持有的 DOT 数量必须要高于得票最少的验证人。从整体来看,NPoS 机制能够使每一个验证人的 Staking 数量不会过高也不会过低,这会增加作恶者的攻击成本,提高整个系统的安全性。

选举准则

NPoS 机制的设计理念参考了 Phragmén 算法,这是瑞典数学家 Lars Edvard Phragmén 提出的一种选举方法。Phragmén 算法可以使席位分配和投票比例之间有更强的关联,改变了当时瑞典国会席位全部被主流党派所占据的现象,让小党派也能够获得席位。NPoS 机制是 Polkadot 团队在 Phragmén 算法的基础上进行的改良。NPoS 机制在选举验证人的过程中有三个准则。

平衡(Balance)

验证人委员会选举确认后,系统会将提名人的投票尽可能平均分配给委员会中每一个验证人。因为每个提名人可以给多个候选人投票,所以系统存在重新分配的空间。

最大支持(Support)

对于最终选出的验证人委员会,委员会中验证人所获得的投票数量之和,要尽可能接近所有提名人的投票数量。

公平代表(Fair Representation)

对于最终选出的验证人委员会,提名人的投票既不会被过度代表,也不会被低估代表。对于提名人选择的多个候选人,尽量保证至少一个候选人会当选验证人,也就是说,尽量使每个提名人对应到至少一个验证人。假如某个提名人投票的数量超过总投票数量的 1/n (n 是验证人数量),那么需要确保这个提名人对应至少一个验证人。

基于上述三个准则筛选出来的验证人委员会可能会有很多不同的结果,系统会根据验证人之间投票分配尽可能平均、系统安全性尽可能高等条件挑选出一个最合理方案,这个方案中得票最多的前 n 名候选人(n 是验证人数量)组成验证人委员会。

选举流程

验证人的选举流程如下图所示。参与者运行一个节点安装包,并将自己的地址与节点绑定;参与者声明成为候选人,进入候选人集合中等待投票;提名人对候选人进行投票,每个提名人可以给多个候选人投票;系统根据 NPoS 机制选出下一轮的验证人委员会,并进行全网广播;验证人确认,完成选举。

深入解读 Polkadot 的质押机制:参与角色、选举方式与质押策略图 2:验证人选举流程图

三、参与 Staking 的策略

在 Polkadot 网络中参与 Staking 的方式总结如下图所示,参与者可以选择成为验证人或者提名人。

深入解读 Polkadot 的质押机制:参与角色、选举方式与质押策略图 3:参与 Staking 的方式

成为验证人

验证人的职责主要包括运行中继链节点、保护中继链的安全、验证来自收集人的证明以及打包生成新的区块。验证人承担的职责很多,因此他们获得的收益也会更高。验证人的收益分为两部分:一是佣金,验证人可以自己设定一个佣金比例,对本节点的所有出块奖励收取佣金;二是抵押收益,扣除佣金之后,验证人自己抵押的 DOT 可以按照抵押比例获得相应的区块奖励。

当参与者选择以验证人的身份参与 Staking 时,参与策略与他们持有的 DOT 数量有很大的关系。

持有 DOT 数量非常多

当参与者自己持有的 DOT 数量非常多时,他不需要依靠其它提名人的投票,抵押自己持有的 DOT 就足以当选验证人。此时,他不希望与其它提名人分享出块奖励,会将佣金比例设置到最高(100%)。

假如参与者自己持有的 DOT 数量超过得票最少验证人的票数两倍以上时,他不但不需要依靠其它提名人的投票,还应该将自己持有的 DOT 拆分,获得两个或更多验证人名额,提高自己的收益率。

因此,对于持有 DOT 数量非常多的验证人,他们参与 Staking 的最佳策略是将佣金比例设置为 100%,并且合理拆分持有的 DOT,以获得最佳收益。

持有 DOT 数量非常少

当参与者自己持有的 DOT 数量非常少时,他必须依靠其它提名人的投票才有可能当选验证人。此时,他必须要吸引更多的提名人对自己进行投票,会将佣金比例设置的比较低。

持有的 DOT 数量非常少的参与者想要得到提名人的支持,必须要有很明显的优点,例如他在 Polkadot 社区有很高的声望,或者他对区块链节点的运维有非常丰富的经验。对于普通人来讲,吸引其它提名人的投票成为验证人是非常困难的。

因此,对于持有 DOT 数量非常少的验证人,他们参与 Staking 的最佳策略是将佣金比例设置的比较低,并且向提名人展示出自己成为节点的优势,吸引更多的提名人为自己投票。

成为提名人

Polkadot 网络中的提名人不需要承担太多职责。在验证人收取佣金后,提名人根据抵押比例获得出块奖励;当验证人受到惩罚时,提名人会按照抵押比例扣除 DOT。因此,提名人的收益与验证人有很大的关系,提名人在选择验证人时必须非常谨慎。

选择一个候选人

当提名人选择只对一个候选人进行投票时,如果这个候选人当选,提名人可以获得出块奖励,如果这个候选人落选,提名人不能参与 Staking 获得出块奖励。在这种情况下,提名人倾向于选择一个排名靠前的大节点,因为大节点当选验证人的概率更高。但是,大节点往往会将佣金比例设置得比较高,提名人的收益率会受到影响。

选择多个候选人

当提名人选择对多个候选人进行投票时,只要有一个候选人当选,提名人抵押的所有 DOT 都可以参与 Staking 获得出块奖励。在这种情况下,提名人可以选择几个排名靠前的大节点,提高当选的概率,再选择几个小节点,提高自己的收益率。需要注意的是,提名人选择的小节点越多,意味着承担的处罚风险越高,提名人在选择时必须认真了解这些节点过往的运行情况。

综合比较以上两种方式,对提名人来讲,选择多个候选人明显是更好的策略。

四、Polkadot 带来的影响

Polkadot 是区块链领域的明星项目,影响力非常大。Polkadot 主网上线之后,会对节点服务商、交易所和开发者等参与者带来很大影响。

节点服务商

Polkadot 在上一轮融资时的估值是 12 亿美元。从下表中可以看出,虽然主网还没有上线,Polkadot 的市值与 Tezos、TRON 和 Cosmos 等热门 Staking 项目的市值非常接近,后续也会成为参与者非常多的 Staking 项目。因此,Polkadot 对于所有的节点服务商都是一个不错的机会。

深入解读 Polkadot 的质押机制:参与角色、选举方式与质押策略表 1:热门 PoS 项目的市值,数据来源:CoinMarketCap,2020 年 3 月 6 日

在 Polkadot 生态中,节点服务商提供的服务主要有以下几种。

一是搭建自己的节点成为验证人,用丰富的运维经验吸引提名人为自己投票,共同参与 Staking 获得收益。例如,HashQuark 已经成为 40 多条公链的验证节点,其丰富的运维经验会大大降低遭到系统处罚的概率,提名人会倾向于投票给这类节点参与 Staking。

二是存币服务,即以中心化的方式收集用户持有的 DOT,然后综合考量搭建多少验证人节点或者给哪些候选人进行投票以获得最佳收益。但存币服务只适用于规模较大、信誉较好的节点服务商,并且可能会受到当地法规政策的监管。

三是开发周边小程序,为用户提供更好的 Staking 体验。HashQuark 开发的 PolkaCube 项目获得 Web3 基金会资助,目前可以为验证人和提名人提供链上数据展示和 Staking 最优策略指导两大功能。

交易所

目前,很多交易所建立了自己的 PoS 矿池,使用用户托管的数字货币进行 Staking 获得利润。Polkadot 主网上线之后,这些交易所矿池肯定也会参与 Staking。

开发者

Polkadot 非常注重生态发展,积极吸引区块链领域的开发者到 Polkadot 生态中来。近期,Chainlink 已经在 Polkadot 测试网 Kusama 上完成了初始集成工作。同时,MelonPort、IDEX、ChainX 和 0x 等其它团队的开发者正在探索在 Polkadot 网络中建立平行链。

五、思考和总结

Polkadot 网络直接参与 Staking 的角色是验证人和提名人。验证人的选举采用 NPoS 机制。NPoS 机制中当选的所有验证人都有同等的出块机会,与 Staking 的数量无关。验证人委员会选举确认后,系统会将提名人的投票尽可能平均分配给委员会中每一个验证人。从整体来看,NPoS 机制能够将每一个验证人的 Staking 数量不会过高也不会过低,提高整个系统的安全性和去中心化程度。

对于参与 Staking 的策略,与参与者选择的角色以及持有的 DOT 数量有很大的关系。对于持有 DOT 数量非常多的验证人,他们参与 Staking 的最佳策略是将佣金比例设置为 100%,并且合理拆分持有的 DOT,以获得最佳收益。对于持有 DOT 数量非常少的验证人,他们参与 Staking 的最佳策略是将佣金比例设置的比较低,并且向提名人展示出自己成为节点的优势,吸引更多的提名人为自己投票。对提名人来讲,选择多个候选人明显是更好的策略。

Polkadot 是区块链领域的明星项目,影响力非常大。Polkadot 主网上线之后,会对节点服务商、交易所和开发者等参与者带来很大影响,各方需要提前做好相应的准备。

本文由 区块链资讯平台头等仓 作者:链闻CHAINNEWS 发表,其版权均为 区块链资讯平台头等仓 所有,文章内容系作者个人观点,不代表 区块链资讯平台头等仓 对观点赞同或支持。如需转载,请注明文章来源。
头等仓APP下载

发表评论