LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > Dfuse: 如何在EOSIO区块链上计算投票强度?

Dfuse: 如何在EOSIO区块链上计算投票强度?

2020-07-11 EOSCannon 来源:区块链网络


EOSIO区块链利用委托权益证明(DPoS)来确定在任何给定时刻网络的验证者是谁。为了解随着时间的推移如何计算用户群投票,我们将研究支撑EOSIO区块链上如何计算投票强度的算法。

为什么投票会衰减?

在Dan Larimer(Steem)的上一个项目中,过去有很多票,但已不再相关。当Steem Witness(也就是区块生产者)不再活跃,但仍在投票时,这一点很明显。

根据hivekings.com的信息,在撰写本文时,要确定谁是前100名验证者,您必须对前109名验证者进行投票。这是因为有9名已宣布自己不再活跃,或者不参加最新硬分叉的参与者,仍在获得足够的票数而可以被认定为验证者。

为了解决这个问题,Block.one于2018年5月初发布Dawn 4.0时引入了投票权重衰减的想法:“为了保持最大的投票影响力,每个投票人每周都必须更新自己的投票。对于那些不及时更新选票的人,投票影响的半衰期为1年。”

投票衰减背后的计算方式是什么?

当您深入研究控制票数衰减方式的代码时,您会注意到票数实际上并没有衰减。相反,所有新选票的权重都比旧选票强,这是一种获得相同效果的聪明而有效的方法。让我们一起仔细了解一下公式。(特别说明,以下数学公式中的单词“double”其实是C++编码语言中的一部分,并不是将任何东西加倍的意思。)


应该注意的是,对于block_timestamp_epoch来说,EOSIO软件使用的时间是2000年1月1日以来的秒计数,而标准的Unix时间戳是1970年以来的秒计数。如果将这个公式转换为伪英语,它将看起来像这样:


通过在第一个方程式中使用整数部分,可以有效地说明您的投票强度可以每周增加一次,但不能更频繁。如果用户希望将投票保持在最高水平,那么他们需要在每周六的UTC时间00:00:01进行投票。如果用户执行委派或取消委派动作(抵押或者解除抵押),他们的投票力也将被认为是充分的。他们REX余额内的任何变动都将使用户的投票力得到充分发挥。

每周,通过投票,用户可以将投票的相对强度提高大约1.34%。虽然这不是一个大数目,但分布在成千上万个帐户中,但该数目可能会影响进入前21名的主节点,以及每个有偿生产者获得的基于投票的奖励。

逐步计算投票权重

为了帮助理解算法,我们将一起进行计算。我们将粘贴屏幕截图,以帮助您进行后续操作。

第一步是从区块链中获取账户信息。为此,我们使用了eosc,并输入了eosc get account [ACCOUNT NAME] --json命令,该命令在JSON末尾返回了此命令(所有者和代理帐户已从这张图片中删除):


由于该帐户使用代理进行投票,因此该帐户的周围未显示任何节点。我们可以看到它的抵押数额为4176500(相当于417.6500 EOS,因为系统不考虑小数,默认情况下EOSIO区块链中有4个小数位)。我们还可以在last_vote_weight旁边看到我们的计算目标。

然后,我们去eosq查找上一次投票操作的时间,在那个时间该帐户重新投了其所选代理的投票。


从那里,我们可以将该时间插入到Unix时间转换器中,确保将时间转换为UTC时间。


在Unix时间转换器上,您可以获取2000年1月1日那天UTC时间00:00:00的区块链时间,因为这是区块链用于block_timestamp_epoch的时间。这个数字是946684800(供参考)。现在,您将拥有执行计算所需的所有数据。

如果我在EOS上选择代理投票怎么办?

如果用户选择代理投票,并且想要保持最强投票权重的话,仍然需要重新进行代理投票。 这也将有助于确保用户确认他们选择的代理仍处于活跃状态,并仍保持其声称的投票标准。

如果您选择的代理帐户没有重新投票,则不会影响您的投票力。只有他们自己的抵押额度的话,不会增加当前的最高限额。

这如何影响结果?

如果您想了解投票衰减会如何影响许多不同的EOSIO公共主网上节点投票结果,可以通过EOS Authority的投票衰减分析来追踪网络投票强度的衰减情况。

EOS Cannon往期好文精选

1、【EOS Cannon播报】Reddit扩展的大举推广在DAPP网络社区引起轰动

2、【EOS Cannon播报】Solidity开发者可以通过eosio.evm轻松利用EOSIO了

3、ETH + DeFi 价值链基本框架的简要介绍(上)

4、解开常见的比特币误解(下)

5、美国政府应该创造一种以代币为基础的数字美元吗?(下)

6、为何选择加密货币:阐述其未来的增长轨迹并预测数万亿美元市场

7、2020年6月的ETH2.0状态(下)

EOS Cannon

社群官网:https://eoscannon.io

官方twitter:https://twitter.com/cannon_eos

—-

编译者/作者:EOSCannon

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

LOADING...
LOADING...