投票¶
YOYOW采用DPoS共识算法,根据这种算法,全网持有代币的人可以通过投票系统来选择见证人、理事会,从而实现对YOYOW系统的决策。
投票资格¶
- 持币数量到达一定数量后,即可以获得投票资格,当前为10000 YOYO,参见参数表中
min_governance_voting_balance
字段。 - 被理事会设置黑名单的账户,丧失投票资格。
投票有效期¶
- 拥有投票资格的用户,初次进行投票操作时激活投票意向。有效期为T ,初始默认90天。
- 在有效期内,如有新的投票操作,则有效期递延时间T。即过期时间变更为:更新投票操作时间 + T
- 在有效期内,如无新的投票操作,则认为不再有投票意向
- 用户失去投票资格, 或不再有投票意向,则选票失效
投票方式¶
- 理事会选举:一票一投,每个账号同时只可支持一位候选人,持票人可随时修改投票。
- 见证人选举:一票多投,为了强化共识,每个账户可以给多个见证人投票。
有效得票计算¶
为增加投票公平性,计票综合考虑了投票者当前持币量、平均持币量、持币时间等因素
- 账户在激活投票意向时,开始积累币龄。
- 投票人的有效票数为前60天内的平均余额和账号当前余额,这两个值中的较小值,即:有效票数 = min(60天平均余额,当前余额)。也就是说,在币转入时,币龄慢慢积累增加相应部分;币转出时币龄立即减少相应部分。
- 被投票人的得票数,等于所有支持者有效票数之和
- 因为实时更新所有账户币龄计算量太大,故计票采用延迟更新模式,可能与实时数据有少量计票误差。
投票代理¶
- 投票可设置代理人,如:账户A设置账户B为投票代理,则B的投票对象得到的票数为A的有效票数 + B的有效票数。 A 称之为委托人,B 称之为代理人
- 可设置多层代理。如:账户A 设置账户B为投票代理,账户B设置了账户C为投票代理。但代理总层数有上限。
- 不可代理自己。
- 代理人进行投票操作时,会刷新委托人的投票意向有效期。
- 如果代理人失去投票意向或者投票资格,代理关系自动解除,委托人投票状态变为“不投票给任何人”,委托人投票意向有效期不变
- 代理人重新激活投票意向时,代理关系不恢复