我们建议采用DAC作为解决方案。
EOS New York最近发起了一个关于EOS代币智能合约风险的讨论(查看该文章)。在文章中他们强调了EOS区块链上最好的那部分代币中有80%都具有单一所有者控制私钥的风险。EOS New York提议可以通过部署在eosio.token帐户的智能合约来创建新代币,如果没有15/21出块节点批准,就不能在EOS区块链上创建新代币。
我们很高兴EOS New York呼吁关注这个问题,作为以安全为首要考量的区块生产者,eosDAC认为我们作为DAC(去中心化自治社区)已经解决了这个问题。
下面是我们关于这个问题的见解和做法。
随意发行代币的风险依然存在
首先,eosDAC完全同意EOS Newyork关于使用单一所有者密钥要多危险有多危险的判断,这意味着单个中心化实体可以完全控制DApp的代币,而eosio.token系统合约在设计上已经了支持采用更加去中心化的方法控制代币合约。
EOS New York提出的解决方案非常出色,因为它可以阻止恶意项目方随意修改代币余额或者添加一些暗箱功能。然而,代币发行方仍然可以简单的发行更多代币,它无法阻止代币发行方使用单一密钥来扩充代币量(砸盘并退出骗局),而我们认为这将是一个巨大的威胁。在 eosio.token 账户创建代币还是允许代币发行方发行或销毁代币,另外有一些代币需要这种通胀功能(如IQ及KARMA)。那么我们如何解决这个潜在的问题呢?
要能够修改代币合约
有许多项目并没有使用标准的 eosio.token 代币合约,在我们的例子中,EOSDAC代币合约还存储了代币持有者是否为eosDAC会员的信息。
DAC作为解决方案
我们建议采用DAC作为解决方案。DAC没有类似的问题,因为所有操作(包括资金管理)都受到多个人的共同控制。人越多,他们勾结做恶或犯错的可能性就越小。
用于控制EOSDAC代币智能合约的eosdactokens 账户,其所有源代码都可以在eosDAC Github代码库(https://github.com/eosdac/eosdactoken)找到。您可以使用这个工具(https://eospark.com/contract/eosdactokens?tab=security)来验证链上部署的代码与源代码是否一致(检查一下我们有没有添加额外的功能)。您可以看到,eosdactokens完全由dacauthority这个账户控制,其自DAC启动以来就由12名托管人共同管控:
DAC的主要功能可以在 daccustodian 帐户中找到,您可以在此处查看源代码(链接3)。这包括申请付款、提名托管人、投票、更新配置等功能。更多eosDAC智能合约的详细介绍请查看 这里。
这意味着与大多数代币单个人可以随心所欲地做他们喜欢的事情不同,eosDAC需要10/12的托管人(每人的投票权重为1)来共同执行上述任何操作。
例如,其中一个托管人可能会发起提案从特定账户中获取代币,但其他投管人会拒绝签署该提案。此外,单个所有者密钥总是具有丢失或被盗的可能性,但如果您有超过2个人,那么这个几率就会显著降低。
另外需要指出的是代码更新必须使用msig广播到网络,这样任何人都可以验证正在部署的代码是否与我们Github上的代码相匹配。我们已经在 eosio.msig 智能合约中公开修改的代码以供评审,且在托管人签署之前,任何人都可以查看到底发生了什么。从技术上来讲,托管人可以编译Github上的代码并检查是否跟拟部署链上的代码的哈希值相匹配。
如何试用DAC
它很容易使用,且已经可供整个社区免费使用。您可以使用我们最近开发的一个简单脚本来探索构建您自己的DAC,该脚本可以为您自动完成大部分工作。
DAC工厂代码库:
https://github.com/eosdac/dac-factory
DAC工厂视频教程,17分钟启动你自己的DAC:
https://www.youtube.com/watch?v=dtFZjJ1409M
如果你想建立自己的DAC,请加入我们的Discord频道联系我们。我们的社区成员很乐意帮助你入门。
参与投票事关重大
作为 EOS 代币持有者,您拥有 EOS 的所有权。投票支持 EOS 区块生产者就像投票由谁来负责管理您的财产一样。由谁来管理您的财产事关重大。
我们在 EOS 主网的区块生产者账号名称是:eosdacserver请投票支持我们!
请订阅获取eosDAC最新信息:
Discord: https://discord.io/eosdac
Telegram: https://t.me/eosdacio
Twitter: https://twitter.com/eosdac
Youtube: https://youtube.com/eosdac
Medium: https://medium.com/eosdac
Steemit: https://steemit.com/@eosdac
VK: https://vk.com/eosdac