EOS智能合约开发(八)EOS中的投票

这一章我们讨论一下EOS中的投票问题。
上一篇文章,EOS智能合约开发(七)EOS资源管理 中,我们已经熟悉了,购买资源,抵押资源的动作,我们再次回忆一下这些操作。

1、购买RAM操作。

./cleos system buyram eosio eosio "1000000.0000 SYS"  

2、抵押net和cpu

./cleos system delegatebw eosio esoio "10000 SYS" "10000 SYS"

3、我们也可以在创建账户的时候,给这个账户购买RAM,抵押NET和CPU

./cleos system newaccount eosio voterperson1 EOS692tDRw96F2bb3T2V5Wc1f1fWKFGaf7WZ1u492F3Ffnsny9c3H EOS692tDRw96F2bb3T2V5Wc1f1fWKFGaf7WZ1u492F3Ffnsny9c3H --stake-net '5000.0000 SYS' --stake-cpu '50000.0000 SYS' --buy-ram '100000.0000 SYS'

4、我们也可以让被人帮我们购买EOS后,我们自己购买RAM和抵押net和CPU

./cleos transfer eosio voterperson1 '180000000000 SYS'
#通过eosio帮助voterperson1购买了 '180000000000 SYS'
./cleos system burram voterperson1 voterperson1 '50000000000 SYS'
#voterperson自己给自己购买了 '50000000000 SYS'的 RAM
./cleos system delegatebw voterperson1 voterperson1 '50000000000 SYS' '50000000000 SYS'
#voterperson1这个账户给自己抵押了'50000000000 SYS'的Net和'50000000000 SYS'的cpu

2018年6月开始,EOS的持有者就可以投票给自己喜欢的超级节点了,比如EOS Canada。在EOS论坛和相关聊天中被反复问及的是,“我该怎么去给超级节点进行投票?”。面对这样的问题,我们很乐意提供一些解答以便让大家更加了解EOS的投票系统。

声明:我们尽力收集了准确的信息来完成这篇文章,我们还会在新信息出来的第一时间更新本文。

开发EOS.IO软件的公司Block.one已经表示,他们只会释放一个EOS.IO 1.0版本的命令行工具,在该版本中用户已经可以进行投票。这就需要用户到GitHub代码库中抓取一段出来,到自己的本地电脑上运行。一些社区成员已经自己创建了用户友好界面,用户可以通过该界面进行投票。

我们投票给谁?
如果你不确定我们正在投票给谁,社区会选择一组21个超级节点来代替我们运行网络。但超级节点断网或者因为其他问题断开的时候,还会有一组备用节点来接替他们。这与让一组指定的超级节点来启动网络是不一样的,启动网络这一步是投票开始的前提。同样地,当投票开始之后,投票结果如果发生了改变,生成区块的21个超级节点也会改变。

在EOS中,投票可以随时进行,并且随时更改。投票结果每126秒会记录一次,这也是完成一轮出块所需要的时间。每一轮出块中,每个超级节点都会生成12个区块,每个区块的生成时间是0.5秒。这意味着超级节点选举每2分6秒就会进行一次。每个EOS token最多可以投给30个不同的节点候选人。你所投的每个节点候选人都会一致获得你所拥有的选票(队长注:不能投给A50票,投给B100票,只能都是50票,或者都是100票),你的选票也不会被均分给所投节点候选人(票数都一致)。用户可以只用一部分EOS token来换选票(不是有多少token就必须换多少票)。

如果你想要了解更多关于超级节点的职责,可以阅读我们的文章《什么是超级节点以及你为什么要关心他们》。

目前EOS上没有项目是已经完成或者可以使用的,但有一些最终会创建一个可以通过网站登录的界面,有些会做成你能存储EOS tokens的钱包,还有一些会做成加密货币交易所。

Bitfinex是世界上交易量最大的交易所之一,同时也是EOS超级节点候选人。Bitfinex表示他们的团队正在开发一种把交易整合起来的工具,该工具允许用户决定Bitfinex将他们的EOS都投给谁。他们同时表示,这个工具将会开源,这样其他的交易所也能选择在他们的平台上采用它。

之前我们已经做了抵押,现在我们就可以进行投票了。
投票命令如下:

./cleos push action eosio voteproducer '{"voter":"voterperson1","proxy":"","producers":["accountpro1"]}' -p 1234512345ac
#或者另外一种写法
./cleos system voteproducer prods voterperson1 accountpro1

投票代理
有一种叫投票代理的投票方式。你可以把投票的权利交给投票代理人,让他来代替你进行投票。投票代理对那些想要投票,但无法了解全部节点候选人的用户来说是非常有用的。

写着这篇文章的时候,已经有107个超级节点候选人被EOS Go列出,以便社区可以找到更多关于超级节点候选人的信息。这将有助于确保我们了解清楚EOS上的投票,促进EOS网络的健壮和安全。
我们看看,如果通过代理进行投票的。
命令如下:

代理投票

./cleos push action eosio voteproducer '{"voter":"voterproxy","proxy":"","producers":["accountpro2"]}' -p voterproxy

我们解释一下这个命令:
“voter”:“voterproxy” ------------>设定为代理人;
“producers”:[“accountpro2”] ------------>投票给生产者
-p voterproxy ------------>代理人签名

设置代理人

./cleos push action eosio voteproducer '{"voter":"voterperson1","proxy":"voterproxy","producers":[]}' -p voterperson1

我们解释一下这个命令
“voter”:“voterperson1”--------------->投票人
“proxy”:“voterproxy”--------------->代理人
“producers”:[]--------------->生产者,这个为什么为空呢?因为上个命令中,voterproxy已经指定了生产者为 accountpro2,所有这里就不需要指定生产者了。

选票对节点的激励
值得了解一下超级节点和备用节点的收益是如何被你的选票影响的。

每年EOS会增发总量的5%,这意味着每年会有至少超过5千万EOS tokens增发出来。这部分EOS会被分成两部分,20%作为区块奖励分给超级节点和备用节点,80%会放入Worker建议基金中(我们稍后会讨论到)。在分给节点的20%中,只有25%分给所有产生了区块的超级节点,剩下的75%会根据他们所受到的选票来进行分配。

还需要注意的是,为了确保不会出现有人伪造一个节点候选人,然后自己投票给自己以此来获取奖励的情况,节点候选人必须迈过每天至少有100个EOS奖励收入的门槛才可以被分配到对应的奖励。一旦我们获得了所有投票结果,任何没有达到100个EOS门槛的候选人都会被淘汰,新的总投票数会被重新计算。新的选票比例也会被重新计算,并作为这部分奖励的实际分配的根据。

购买选票
在 Thomas Cox的EOS宪法草案的摘要中,第四条规定:“任何成员不得以任何形式提供或接受任何有价物品,包括超级节点候选人,修正案或worker提案,也不得过分地影响另一个人的投票。“

在EOS中买票、贿票无论如何都是不允许的。我们的目标是确保每个投票者都是根据自己的意愿,没有外界压力去投票的。我们不希望候选者可以买进超级节点名单里。

投票权重衰减和解锁期
当一个用户投票的时候,他们需要先把EOS tokens抵押成选票。抵押的时候,EOS会被锁定,不能进行转账也不能进行交易。对投机者来说,这意味着在锁定期期间他们无法卖出EOS。从用户表示想要取消抵押EOS开始,锁定期的时间是72小时。

Block.one也希望确保用户经常更新他们的投票设定,而不是设置完就不管了。为了促成这个目标,他们引入了一个时长为一年的投票权重半衰期。这个半衰期会从投票一周后开始。如果一个用户在一周后不重新投票,选票权重就会衰减。一年后,选票权重会降到原来的50%。如果用户重新投票,选票权重就会完全恢复。

为了理解EOS的流动以及它们如何用于不同的资源,Thomas Cox推出了这个流程图:

这里写图片描述
Worker 提案
正如前面提到的,会有一个占据增发总量80%的Worker提案基金。用户可以对功能、Dapp、或其他任何他们相信能使社区收益的不存在的工具发起请求。这可以是一段代码更新,可以是一个新钱包,可以是有更好用户体验的重新设计。

社区可以通过投票来决定他们认为哪个提案应该被Worker提案基金池激励。

我们希望的是投票可以被社区成员重视。你的选择很重要,这是你的区块链。确保你能从中得到你想要的。尽管投票的机制仍在制定当中,我们也应该尽最大努力去搞明白在EOS上我们为什么要投票。

2018年7月31日整理于深圳

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值