合约预先编程为在投票结束时投票赞成,持有100%的用户以太币。投票结束后,每个VOTECOIN代币都可以全额退还创建它的原始以太币。用户取回他们的原始以太币,以及投票购买者希望为这项服务向他们支付的任何贿赂。 我们已经实施了此类合同的完整开源概念证明,使任何投票购买者都可以向合同的BRIBEPOOL提供资金。用户可以通过在合约中临时锁定他们的ETHer来从BRIBEPOOL支付,并且可以在目标投票结束时收回100%的Ether。攻击可以预先从BRIBEPOOL中支付给投票卖家(一旦他们锁定代币,投票就得到保证),随着时间的推移作为红利,或两者兼而有之。 为 DAO Carbonvote 购买以太坊智能合约的投票代码 用户还可以在锁定他们的Ether后出售他们的VOTECOIN,基本上使VOTECOIN成为一种代币化的投票购买衍生品。然后,投票卖家可以立即将资金锁定所带来的任何风险卸载给对投票结果漠不关心的各方:因为每个ERC20都以编程方式保证最终收到所有原始ETH,这基本上从基础资产转化为专用于以预定义方式投票的衍生资产。如果保证非负收益,对投票结果不感兴趣的买家应该始终锁定他们的ETH,并且基本上可以选择稍后卸载给其他同样不感兴趣的买家。如果BRIBEPOOL的红利除了预先支付之外,还会随着时间的推移支付给VOTECOIN,这些衍生代币甚至可以用来推测攻击本身是否成功。 这个智能合约可以通过使用诸如TOWN Crier之类的预言机来简化(也可以组合多个预言机、预测市场等)。因为CarbonVote系统会在Etherscan上发布包括完整选民日志在内的结果,所以使用任何外部网络抓取预言机检查某人的投票方式相对简单,如果最终快照中包含的投票符合买家的偏好,则支付。 也可以轻松使用类似Dark DAO的模型。每个用户只需运行一个钱包,在每次转账交易后的某个时间,它也会在CarbonVote上以所需的方式投票(实际上这可能成为许多钱包的标准行为)。用户只有在此类投票被登记后才能获得报酬,因此激励用户确保此投票交易包含在链上。网络无法确定给定的CarbonVote中有多少票是由此类投票购买卡特尔产生的,以及有多少是合法的。 这些计划中的任何一个固有的是在将资产汇集到多个投票购买者时最小化信任的能力;贿赂智能合约可以简单地允许任何人向BRIBEPOOL付款,而新交所网络的架构也可以类似地开放参与。 一些方案,例如EIP999投票,存在更严重的问题。在这些方案中,如果用户投票两次,则选择较晚的投票。一种简单而严重的攻击是简单地收集用户对“是”和“否”投票的签名,在选举期结束时向所选签名发送垃圾邮件,并依靠压倒区块链的能力来确保大多数此类选票持续。或者,因为合约部署者能够为给定合约中的所有资金投票,另一种攻击是简单地强迫用户在投票期间使用基于合约的钱包,该钱包由买通者部署,然后他们可以任意控制所有锁定在合约中的资金的投票权,而无需保管这些资金。 (责任编辑:admin) |