风险提示:请理性看待区块链,树立正确的货币观念和投资理念,不要盲目跟风投资,本站内容不构成投资建议,请谨慎对待。 免责声明:本站所发布文章仅代表个人观点,与CoinVoice官方立场无关

波卡的 Phragmén 顺序算法 -1 |Polkadot Wiki

PolkaWorld
2020年12月01日

加入 PolkaWorld 社区,共建 Web 3.0!

波卡的 Phragmén 顺序算法 -1 |Polkadot Wiki

本文摘自波卡官方文档 Polkadot Wiki 的 Phragmén 篇,全文共三节,这是第一节。Phragmén 算法在波卡的 NPoS 验证人选举和理事会选举中都有应用。

什么是 Phragmén 顺序算法?

Phragmén 顺序算法是 19 世纪 90 年代 Edvard Phragmén 提出的一种多方共赢的选举方法。

下面这段内容摘取自 Phragmén 文献中对 Phragmén 顺序算法目的的总结 :

Phragmén 算法试图解决的问题是从范围较大的候选人中选出一组给定的人数。Phragmén (这里指人名)在多成员选区的议会选举中讨论了这一点。当然,同样的问题也可能发生在地方选举中,但在很多其他情况下,例如在一个组织中选举董事会或委员会时,也会出现同样的问题。

Phragmén 算法在 Polkadot 中怎么发挥作用?

NPoS: 验证人选举

在 NPoS 方案中使用 Phragmén 顺序算法来选举验证人。根据验证人自己的质押和提名人给他们的投票。它还试图在每一轮选举后平衡验证人之间的权重。由于验证人在 Polkadot 中得到的报酬是相等的,所以摊开每个验证人背后的质押很重要。Polkadot 在选举中优化三个指标:

  1. 最大限度地提高质押总额

  2. 最大限度地增加最小验证人的质押额

  3. 最小化节点池中的质押的方差

链下的 Phragmén 算法

在大量的提名人和验证人的情况下,Phragmén 算法是一个困难的优化问题。Polkadot 使用 off-chain workers 计算链外结果,并提交一个交易来提议出胜出者的结果。在链外执行此计算的原因是为了保持 6 秒的恒定出块时间,并防止在验证人选举时每个 era 结束时的长出块时间。

由于某些用户操作,如更改提名,会改变 Phragmén 选举的结果,系统禁止在 era 变化之前的最后一个 session 调用这些函数,下面这些函数是禁止调用的:

  • bondExtra

  • unbond

  • withdrawUnbonded

  • validate

  • nominate

  • chill

  • payoutStakers

  • rebond

理事会选举

在理事会选举机制中也采用了 Phragmén 算法。当你投票给理事会成员时,你可以最多选择 16 个不同的候选人,然后质押一些绑定的 DOT 作为你的投票权重。Phragmén 将在每次选举中进行一次竞选,以确定担任理事会职位的最佳候选人,然后再选出最优秀的候选人,以尽可能平衡他们背后的选票权重。

这对节点运营者意味着什么?

Phragmén 算法是在后台运行的,并不需要你的额外操作。了解它的工作原理是好的,因为在选举结束后,你提名的所有 stake 并不是都会在你提名的验证人那里。提名人可能会提名几个不同的验证人,并相信这些验证人可以很好地操作节点。

你可以使用 offline-phragmén[1] 脚本在新的选举之前预测验证人选举的结果。

原文链接:https://wiki.polkadot.network/docs/en/learn-phragmen[2]

翻译:PolkaWorld 社区

参考链接

[1]

offline-phragmén:https://link.zhihu.com/?target=https%3A//github.com/paritytech/substrate-debug-kit

[2]

https://wiki.polkadot.network/docs/en/learn-phragmen:_https://wiki.polkadot.network/docs/en/learn-phragmen_


想要在波卡生态中开发新项目吗?由 PolkaWorld 社区、数秦科技、巴比特、Nano MG 创新空间、imToken、SimpleChain、IOSG、Acala Network、Digital Renaissance Foundation、Patract Labs、Polkadot 生态研究院、白话区块链、Dorahacks 联合发起等发起的「Substrate 创业营」 正在招募中,助力 Web3.0 生态创新产品的诞生和成长!点此了解详情和报名。

波卡的 Phragmén 顺序算法 -1 |Polkadot Wiki

  • 欢迎学习 Substrate:

https://substrate.dev/

  • 关注 Substrate 进展 :

https://github.com/paritytech/substrate

  • 关注 Polkadot 进展 :

https://github.com/paritytech/polkadot

波卡的 Phragmén 顺序算法 -1 |Polkadot Wiki

更多内容:

怎样提高从波卡国库申请 DOT 的成功率?附 18 个已申请成功的项目名单

怎样提交波卡国库支出提案,来为你的项目获得资助?

书写历史:提交波卡国库提案的第一批团队

扫码关注公众号,回复 “1” 加入波卡群

波卡的 Phragmén 顺序算法 -1 |Polkadot Wiki

关注 PolkaWorld

发现 Web 3.0 时代新机遇

点个 “在看” 再走吧!


声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。

评论0条

PolkaWorld

简介:波卡(Polkadot)第一中文社区,带你寻找 Web 3.0 时代新机遇!

专栏

更多>>