昨天以太坊爱好者社区成员Eththrowa发现“循环调用”(recursive call)问题会影响到DAO框架1.0中rewardAccoun合约中所有Solidity智能合约。
因为The DAO还没有批准过任何产生收益的提议,所以在The DAO rewardAccount合约中没有以太币。因此,这个问题没有使得任何DAO资金处于风险之中,也没有影响DAO代币交易,交易一切正常。
在DAO框架1.1开发分支中可以找到该问题的修复方法,他们在过去一个多月一直在解决这个问题。因为他们预计The DAO社区想尽快进行升级,为了尽快部署,他们打算立即进入审核阶段(review period)。
DAO框架1.1包括以下变化:
1、修复rewardAccount合约中的“循环调用”问题
2、实现一个直接的withdraw()功能(即“单独分割”solo-split)
3、预防以下“博弈攻击”:
- 埋伏攻击/投票狙击攻击(通过要求在提议结束前的一段时间获得大多数支持解决)
- 倾向于投赞成票(通过反对票不在计入法定人数和在投票结束后提议执行前增加一个时间窗口,允许投反对票的人在此时间窗口分割出去解决)
- 跟踪攻击(通过增加withdrawal()方法解决)
- 与extraBalance相关的不便(通过移除extraBalance解决)
- 所谓的“无风险投票”(通过在提议关闭前限制代币解决)这些改变已经以pull request形式实现了,你可以在github上查看。注意,为了尽可能地限制特性增加,我们选择只解决安全问题。所有重大的特性更新将在DAO框架2.0实现。
请记住,这是一个完全开源的项目:从现在起的两周审查期,任何人包括监管者(Curator)都开源检查和参与新框架。如果你有修改建议,请使用新建的DIR,或者DAO改进过程。
原文:https://blog.slock.it/announcing-dao-framework-1-1-35249e2e001 |