一般来说,软件中存在着漏洞是很常见的事,但如果发生在以太坊(ethereum)身上,却是一件非常棘手的事情。 本周,以太坊编程语言Solidity被曝存在漏洞,其已经影响了一些特定的智能合约,而且,大多数受影响的合约将无法被拆除或更改掉。 总之,去中心化智能合约(不能被一个拥有者控制的合约)的拥有者对这种漏洞感到无能无力。 在这一漏洞报告发布后的两天,开发者便推出了0.4.4. 修复版Solidity编程语言,但这一漏洞影响了一些地址及在这些合约中的数据类型,因此导致 合约拥有者无法进行升级。 好消息是,这一漏洞可能不会影响到很多智能合约。 Solidity语言创造者Christian Reitwiessner告诉记者,他对每一个列在etherscan上的程序进行了“半自动”分析,发现在12,000 个合约当中,只有4个是可用的。 Reitwiessner表示,这些合约当中并没有以太币,因此它们可能是用于测试目的。但值得注意的是,并不是所有的合约都会显示在etherscan上。(当前以太坊共计有20多万个合约,很难说剩下的合约资金都是安全的)。 总体而言,相比于The DAO项目身上出现的漏洞来说,当前的漏洞只能称的上是一个小的缺陷。然而,它也在加密货币圈内引起了大量的讨论。 例如,一位社交媒体观察家表示,这一漏洞可能是智能合约潜在漏洞问题的冰山一角。 解决这一问题的一个激进的想法,是让以太坊合约在近期内进行升级,好让合约拥有者可停用或更改掉这些出现问题的合约。但令人担心的是,这样做可能意味着剥夺了以太坊的去中心化特性。 新加坡国立大学的博士生Loi Luu说,如果以太坊用户能够学会如何以去中心化的方式,安全地部署智能合约,这将是更好地选择。 Luu说: “我个人并不认为它是一个好主意,它基本上违背了智能合约的一切设计。如果以太坊是一个测试网络,那就让它的智能合约失败,让人们从中学习到教训。” 但Luu的言论表明,让所有的合约进行升级,可能并不是一个好主意,尤其是以太坊还是一个新的技术。 修复问题 使用以太坊高级语言(例如 Solidity或Serpent)编写的程序,在被添加到区块链之前会被编译成字节代码。而在这里发生的问题,就是发生在编译技术身上。 为了解决这一问题,Reitweissner建议开发者做两件事。一、如果编译一个新合约,开发者需要升级到新版本的Solidity语言,以避免这个漏洞。 而第二种方法则显得更为奇怪,因为它需要升级或重启你已部署的合约,而这种方案,可能没有人会选择在以太坊这类项目身上使用。 Reitwiessner阐述了一个建议,他提出了两种类型的合约:中心化控制的 ,以及去中心化的 ,其中没有人拥有“特权”。 第一种可能提供了一些升级机制,或一种方法来从合约中移除资金。 而第二种则是棘手的。另一方面,由于不可靠的以太坊智能合约一旦被部署,就无法被拆除或更改它们,如果开发者从一开始就没有使用一种中心化的智能合约,那么他们能够做的事情其实是很有限的。 然而,Reitwiessner表示,开发者可通过采用一些手段,来防范类似问题(像Solidity这样的)的发生。 “我对这类合约的建议是,要么让它们的运行时间变得短暂,以减少潜在影响的发生,要么对合约的字节码进行适当的分析。我们目前正在开发工具,帮助他们完成这一步工作,”他说。 展望未来 由于,以太坊原链(ETC)与ETH链采用的是同一套规则,其同样也受到了这一漏洞的影响。 但据其主要组织者Arvicco表示,开发者们正在探索开发一种新的编程语言,以避免更多漏洞的出现。 特别对于Solidity语言而言,如果出现另一个无法阻挡的漏洞,可能在今后会影响到其他智能合约。 Reitwiessner指出,在编译器上出现错误总是可能发生的,而Solidity或Serpent (以太坊其他的智能合约语言)还可能存在其他未被发现的漏洞。 然而,他指出,在超过两年的发展中,这是在智能合约语言中发现的首个严重漏洞。 —- 文章来源:http://www.8btc.com/ethereum-solidity-bug 原文链接:http://www.coindesk.com/ethereum-bug-sends-smart-contracts-back-drawing-board/ 原文作者:Alyssa Hertig 编译者/作者:隔夜的粥 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
以太坊曝新漏洞,智能合约被打回原型
2016-11-03 隔夜的粥 来源:巴比特
LOADING...
相关阅读:
- Chainlink(LINK)甲骨文现在通过NEAR协议为dApp提供动力2020-08-02
- 以太坊智能合约开发工具 Truffle 发布 5.1.37 版本2020-08-02
- #快银大奖#赢10000KEY | 总计奖励超15000KEY | CKB吧#迷踪解密#活动第37期2020-08-02
- 匿名币之前世今生,未来是?2020-08-01
- Blockstack CEO表示比特币是比大多数人想象的更好的DeFi解决方案2020-08-01