SwissBorg系统实现在区块链上组织投票

SwissBorg系统实现在区块链上组织投票

在SwissBorg的经验领域中,每个代币持有者都有一个投票,整个系统都是围绕着包容性建立的:向人们征求他们的意见,并鼓励他们参与技术决策过程。

为此,我负责创建一个满足以下要求的系统:

·应用无关。每个人都可以用他们已有的钱包参加投票。

·无双倍投票。代币计数必须在时间或基于特定的块上被冻结。

·直接ETH分配。每个参与者一旦提交了投票,就会得到一份可用的ETH。

应用程序无关

在智能合约上可以用模糊或奇偶性校验来调用一个函数,但它不是一个用户友好的界面,而不是我信任普通用户成功执行的任务。

所有用户都支持的唯一功能是传递函数。但我们不希望用户实际转让他们的CHSB代币以提交投票。

双重投票问题

如果一个代币=一次投票,投票周期持续超过一个区块,那么就很难确保在投票期间不发送代币,并多次使用作为表决权。考虑以下过程:

·Alice给主题发送她的投票

·Alice将她所有的代币给Bob

·Bob现在可以根据他的代币+Alice的进行投票

直接ETH分布分配

为了奖励参加投票的参与者,每一个CHSB代币持有者参加投票都将获得了一个比例份额的ETH池被分配给一个特定的投票数。

参与者不应该等待所有其他参与者完成投票,以得到他们的奖励。直接获得直接回报是非常令人满意的。

解决方案:瑞士公投和代币投票

显而易见的解决方案是,两者都创建一个专门的代币投票:RSB。一个易于理解且易于使用的过程:

·RSB代币的初始选票分配给CHSB代币持有人。在用户帐户上每个CHSB对应一个RSB。

·同时一个ETH池设置来奖励参与者的意见。

·每个答案会分配一个Ethereum地址,网页上已经公布。

·当参与者将他们的代币发送到指定的应答地址时,他们会得到发送到用于参与地址的部分奖励。

·最终投票期间,未使用RSB代币会被销毁,避免累积投票权。

·如果最终投票结束时奖励池还包含ETH,它既可以保留在那里,也可以添加到下一个问题的奖励金额中,或者分配给参与者。

投票系统的组成部分

该系统由一个oracle、一组智能合约和一个网页页面组成。网页只会通知用户智能合约的地址。

代币分配

为了分配这些代币,我们使用一个oracle,它循环通过所有持有CHSB代币和信用RSB代币的地址。

一旦分配过程完成,只涉及到智能合约。

智能合约重新计票

投票系统是围绕着一个核心的智能合约建立起来的,它把ETH和一个智能合约保存在每个问题上。

为了提交投票,用户只需将RSB发送到所选的地址。一旦投票结束,每个问题的RSB余额决定它的受欢迎程度。

一个网页页面来管理它们

建立一个包含问题的简单网页和可能答案的地址列表,通过常用社交媒体渠道获知社区的新投票情况。

结论

该系统是防篡改的,易于使用的。参与者可以使用智能手机应用程序或桌面浏览器,甚至是命令行来参与,并立即获得奖励。

这是减轻区块链投票问题最简单的过程,因此,第一个将由我们实施,并在2018年初进行第一次投票。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171214A0NW9100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券