暴走时评:DAO项目筹集了1.6亿美元的以太 币,用于投资区块链项目。最近社区用户发现开发者使用智能合约的方式导致以太坊出现漏洞,影响了DAO的安全。DAO系统的开源软件供应商 Slock.it创始人Stephen Tual和其他用户一起在发现漏洞第二天发布了修复链接。但是这次修复不需要以太坊改变代码库,也不会威胁到DAO资金的安全。最终不管使用什么修复方 案,都需要得到DAO代币持有人的同意,他们还可以参与审核修复过程。
翻译:Annie_Xu
开发者使用以太坊过程中遇到的漏洞导致DAO的延迟修复,这个分布式自治组织拥有1.5亿美元可以投资基于区块链的项目。
因为没有管理者或专门的安全小组来检修潜在安全威胁,就只能由开源社区来修复漏洞,这个社区的成员都是用以太币购买了DAO投票权的人。
尽管其中很多人的身份还不清楚,系统漏洞检测和修复的方法成为对DAO结构和问题解决技术的首次实际测试。
小道消息
据区块链基金会(Blockchain Foundation)创始人Peter Vessenes所说,上周发现了系统漏洞,当时GitHub用户随意指出,一些开发者实施用以太坊Solidity语言编写的智能合约的方法可能导致对钱包合约的可怕攻击。
Peter Vessenes
Vessenes关于该问题的博文随后吸引了与Maker DAO有关的Reddit用户的关注,Maker DAO是建立在以太坊区块链上的。
博文指出,这个漏洞使攻击者清空特定类型的账户,之后被Maker DAO探测到,然后被DAO会员论坛的一个用户Eththrowa发现了。
Eththrowa确认该漏洞也存在于DAO的系统中,DAO是Slock.it的用开源软件搭建的,是拥有1.6亿美元以太币的最大分布式自治组织。
这个博文也吸引了Slock.it创始人Stephen Tual的注意,并和其他论坛会员一起迅速反应,一天之后就发布了修复漏洞的链接。
Stephen Tual
之后Tual宣布升级该项目的软件,为了修复这个漏洞和与“递归调用”漏洞无关的理论性攻击向量。
博文内容如下:
“我们向社区表示感谢,他们再次证明开放的开发过程带来潜在漏洞的快速识别、孤立和解决,并且漏洞修复过程中编程语言的设计模式得到了整体完善”。
另外有博文称,该漏洞不会威胁DAO资金的安全。
更大的问题
今年初不明身份的人或组织发起DAO,它是用开源代码搭建的,用户可以共同投票决定投资什么项目以及如何分配收益。
这个漏洞差点让收益获得者“通过递归调用合约多次用光其权益”。
但是Vessenes周五的博文澄清,这个递归调用不仅体现了DAO的缺陷,更表明一些开发者使用Solidity编程语言编写的智能合约的方式不对,并详细描述了该漏洞的技术特性。
“攻击性接收方也许可以递归调用所有用于转账或在其他合约中“调用”的Solidity公共函数。这不是比特币的工作原理,因此那些不熟练的以太坊开发者 也许会感到惊讶。这个漏洞的实际意义是你们的每个函数都应该是可重入的,也就是说如果在完成之前部分函数被多次调用,它们也能正常运行”。
修复
以太坊基金会(Ethereum Foundation)成员Taylor Gerring说,Vessenes原来的问题描述很精准,然而这个漏洞的修复不需要改变以太坊代码库。
修复这个漏洞要求开发者使用不同的实施办法。
Taylor Gerring
”只要人类程序员制造问题“,这个漏洞”就需要特别关注“,但是”它不是Solidity或以太坊虚拟机(EVM,Ethereum Virtual Machine)的固有问题,它们是支撑网络的脚本语言和代码解析器“。
Vessenes提供了两个可行的解决方案。
Slock.it也提出了对DAO代码的修复方案,用于解决人们提出的该机构潜在的管理模式问题。
尤其是对博弈理论攻击的修复,包括”肯定偏向“(yes bias),该问题来源于选择否定的不利因素。GitHub用拉取请求方式解决了这个问题。
现在就等DAO的23000个会员认可系统修改或者推进其他解决方案。
Tual在Slock.it的博文写着:
”这是完全开源的项目,即可开始,观察持续两周,我们鼓励包括管理者在内的所有人来审核和参与“。
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。