每天19:19,多巴和你,不见不散 多巴导读: 当你为某件事投票时,你怎么知道事情会真的完成呢?你怎么知道承诺会兑现呢?在本文中,我将简要介绍区块链如何改变民主。在区块链民主程序下,承诺变成了行动。我并不是说我们可以或应该废除政客,建立一个技术专家政治,但我将展示如何运行一个投票系统,在这个系统中,如果投票通过,提案就会自动生效。 文章分三部分翻译,今天是第三部分。 原文地址:https://hackernoon.com/blockchain-democracy-a-how-to-guide-for-smart-contract-developers-md4532ru 原文作者:@albertocuestacanada 译者:DuoBaaa (接上一部分) 让一个合约调用另一个合约上的函数的方法要简单得多。到目前为止,很难看出我们为什么要用这种过于复杂的方式来做事情。 继续往下读,现在我们要把这个提议变成民主的。只有在投票成功后,合约才能生效。 一票一投 您可以在HQ20知识库中找到该合约,你可以任意玩味它,但不要将其作为实际用途使用。为了便于理解,我们没有关闭一些漏洞,例如针对Flash贷款攻击的漏洞。 在这个OneTokenOneVote.sol中: 投票是在部署时选择的ERC20合约的代币。 投票意味着使用vote()将代币转移到OneTokenOneVote 如果在任何点OneTokenOneVote持有的比例高于流通中的所有代币的阈值,则建议被通过。 一旦提案通过,它就永远处于通过状态。 选民可以在任何时候取消他们的投票并取回他们的代币,但是如果他们想要提案通过,他们应该在提案通过后再做。 任何人都可以通过调用validate()触发投票计数。如果达到阈值,这将使投票通过。 有几种实现投票的方法。有更安全的投票方式,包括要求达到法定人数。OneTokenOneVote.sol是我们可以想到的最简单的示例,但这足以说明区块链民主的原则。 部署投票后,它接受带有参数编码的targetContract和targetFunction作为建议。如果投票通过,则任何人都可以调用enact()函数来执行提案。 这意味着投票合约包括投票通过时要采取的行动。不可能忽略投票结果。那是在区块链之前不可能做到的一点,想一想吧。 智能合约民主 我们还可以给这个区块链民主的概念提供另一个转折。到目前为止,我们知道如何部署一个合约来执行投票过程,然后执行结果。 我们可以编写一个合约,其中所有函数只有在被投票通过后才能执行。这就是DAO的精神,它比听起来容易。 在库中,我们包含了第三份合约Democlic.sol,我觉得使用它真的很令人兴奋。它允许任何合同对是否执行其任何功能进行表决。 Democratic.sol被设计为被其他合约继承,允许将其中的任何函数标记为可执行的,只有当它们通过了投票。你可以通过使用唯一的建议修改器来做到这一点。 Democratic.sol允许任何人提出提案进行投票。任何人都可以使用propose()函数,其目标函数是用web3.eth.abi.encodeFunctionCall编码的。 所有提案的投票代币都是一样的,从而在MakerDAO中创建一个类似于MKR代币的社区。Democratic.sol将所有投票都实现为基于代币的,但是可以很容易地将其更改为基于帐户的。 所有提案都存储在提案寄存器中,并且只有由同一合同创建的提案才能执行标记为onlyProposal的功能。 如果考虑到这一点,则可以使用Demoric.sol和OneTokenOneVote.sol作为完整民主系统的基础。如果你不觉得那很刺激,我不知道还能告诉你什么。 结论 区块链有潜力以我们一生中从未见过的程度改变民主进程。 使用区块链可以实现不可阻挡的投票,一旦投票通过,任何人都无法避免被制定。随着越来越多的世界可以从区块链访问,民主的力量将会增长。 在本文中,我们展示了如何实现能够触发智能合约执行的投票过程,并对其进行了改进,以生成只能通过民主程序执行功能的智能合约。 这些在区块链生态系统中都不是新的,自从以太坊被构思以来,这些概念就已经被研究和实现了。然而,在这些合约中,我们认为我们提供了易于使用的基础设施,使民主向前迈进了一步。 (全文完) ================== 区块链中文字幕组 致力于前沿区块链知识和信息的传播,为中国融入全球区块链世界贡献一份力量。 如果您懂一些技术、懂一些英文,欢迎加入我们,加微信号:w1791520555。 点击查看项目GITHUB,及更多的译文... ================== 本文源自hackernoon,有做编辑及删减,如有侵权,请联系译者删除。 译文版权所有,转载需完整注明以上内容 —- 编译者/作者:DuoBaaa 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
区块链民主:面向智能合约开发者的操作指南(三)
2020-06-10 DuoBaaa 来源:区块链网络
LOADING...
相关阅读:
- 国际清算银行和金管局发起“技术挑战”,寻求贸易融资创新; 包含2020-08-06
- 随着区块链忠诚度平台升级,MiL.k的MLK在Kucoin上市2020-08-06
- LINK努力对抗比特币突破90,000 SAT:分析2020-08-06
- IPFS与区块链的关系,Filecoin的趋势性造就亿万财富2020-08-06
- 如果不解决,新的Ledger钱包漏洞可能是灾难性的2020-08-06