LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 波卡的 Phragmén 顺序算法 -1 |Polkadot Wiki

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

2020-12-02 PolkaWorld 来源:区块链网络

加入 PolkaWorld 社区,共建 Web 3.0!


本文摘自波卡官方文档 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 在选举中优化三个指标:

最大限度地提高质押总额最大限度地增加最小验证人的质押额最小化节点池中的质押的方差

链下的 Phragmén 算法

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

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

bondExtraunbondwithdrawUnbondedvalidatenominatechillpayoutStakersrebond

理事会选举

在理事会选举机制中也采用了 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 生态创新产品的诞生和成长!点此了解详情和报名。




欢迎学习 Substrate:

https://substrate.dev/

关注 Substrate 进展:

https://github.com/paritytech/substrate

关注 Polkadot 进展:

https://github.com/paritytech/polkadot


更多内容:


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

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

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


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


—-

编译者/作者:PolkaWorld

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...