Ventureum宣布CarbonVoteX:基于以太坊的安全且可扩展的投票系统

Ventureum开发团队宣布推出CarbonVoteX,这是一种在以太坊上运行的安全且高度可扩展的投票系统。 CarbonVoteX可作为NPM软件包(https://www.npmjs.com/package/carbonvotex)使用,并且已在https://github.com/ventureum/CarbonVoteX上开源。 使CarbonVoteX开源是使整个Ventureum协议开源的第一步。

CarbonVoteX背后的想法来自简单的投票系统CarbonVote。 CarbonVote最初是由EthFans开发的,用于为整个以太坊社区投票,以决定在发生黑客对DAO的攻击时是否需要硬分叉来检索被盗的以太。

与CarbonVote相比,当前版本的CarbonVoteX是一个巨大的改进。 CarbonVote只能使用以太币进行投票,而CarbonVoteX可以容纳任何ERC20令牌作为投票凭证。 CarbonVote无法将选民的决定写入区块链,这意味着无法在区块链上记录整个投票过程。 CarbonVoteX将选民的决定写入区块链,使投票过程完全透明。

避免在链上投票过程中作弊的一种常规方法是,当选民请求投票权重时,要求选民将其以太或ERC20代币投入到一个投票智能合约中。 无需投注,投票者可以将其以太币或代币集中到地址A并投票,然后将全部余额转移到地址B并再次投票。 但是,加注以太币或ERC20令牌会带来巨大风险,因为投票合同将不可避免地成为引起黑客注意的焦点。

CarbonVoteX通过同时使用智能合约和基于云的后端服务来消除此问题。

图1展示了CarbonVoteX的工作流程。 选民的投票权重由其在特定时间点(即特定块中)持有的以太币或代币决定。 投票过程分为两个阶段。

图1:CarbonVoteX的工作流程

阶段1 :投票权获取和注册。 投票者通过访问getVotes的前端并将注册投票者的投票权重所需的气体发送到区块链来获得投票权重。 getVotes的后端将检查投票者在特定块([ endBlock ])中的以太或令牌余额,并将投票者的投票权重注册到区块链( writeAvailableVotes )。

第2阶段 :选民通过投票合同进行投票 ,并将选票写入区块链。

在整个投票过程中,选民的以太币或代币永远不会离开他们的钱包/地址。

CarbonVoteX的另一项创新是通过使用AWS API Gateway和AWS Lambda将后端完全实现为API。 因此,CarbonVoteX的可扩展性不受特定AWS实例的容量的限制。 实际上,CarbonVoteX的可扩展性仅受以太坊本身的TPS(每秒事务处理)限制。

用户可以通过NPM安装CarbonVoteX。 我们仍在CarbonVoteX上进行快速迭代,以允许更多的应用场景。 您的意见和贡献将不胜感激。 请在CarbonVoteX上留下您的评论,并通过以下方式加入Ventureum社区:

电报: t.me/ventureum
松弛: ventureum.slack.com

更多Ventureum官方链接:

网站: venture.io/
媒介: medium.com/ventureum
Twitter: twitter.com/ventureum_platf
面子 facebook.com/VentureumPlatform
Reddit: reddit.com/r/ventureum/