我的购物车0
以太坊被曝再出新“漏洞”?
2019-02-13 16:40:15 作者:秦晓峰 查看数量:42857 来源:Odaily星球日报
摘要: 一个名为Create2的新功能可以允许开发人员替换自毁的智能合约,从而更改规则,存在盗币风险。

编者按:原定于2 月 27 日进行的君士坦丁堡硬分叉被曝再出新“漏洞”,是否会继续延迟分叉呢?原文来自 trustnodes、coindesk,作者 Trustnodes、Christine Kim。

译者 | 秦晓峰

编辑 | 卢晓明

据trustnodes 消息,距离以太坊君士坦丁堡硬分叉还有两周时间,以太坊被曝出再次发现新“漏洞”。

以太坊基金会(EF)的开发人员 Jason Carver 表示,一个名为Create2的新功能可以允许开发人员替换自毁的智能合约,从而更改规则,存在盗币风险。

Create2 是通过 EIP 1014 引入的新功能,被称为“ Skinny CREATE2 ”,旨在通过允许“确定性部署”来更好地促进以太坊上的脱链交易,在部署过程中,它允许开发人员更改代码并重新部署到同一地址。)

Carver说:

在君士坦丁堡之前,你可以构建一个无害的合约,一个交易可能有两种结果:合约产生,交易代币;合约自毁,浪费一些 Gas。然而在君士坦丁堡之后,选项现在可以变成了:合约产生,交易代币;合约自毁,浪费一些 Gas;合约替换,所有已被合约批准的ERC20代币可能会被盗…在君士坦丁堡之前,合约自毁(Selfdestruct)风险性并不大,因为自毁的合约只能消失。现在它可以带着代码返回再次创建,这些代码可以转移所有已批准的所有代币。

EF 的另一名开发人员 Martin Holst Swende 表示:

如果有人验证了来源,他就应该注意到Selfdestruct (没有适当的不活跃期),并避免与之交互(防止被盗)。

正在进行以太坊 1x 升级工作的 Alexey Akhunov 说:

我刚刚得出的结论是,EOA帐户(普通eth地址)回收与临时的重放保护(将EOA的nonce重置为0)相结合,将使CREATE2 进一步扩展到 EOA 帐户,使EOA账户面临更大风险……也许 CREATE2 应该被修改为永远不允许重复nonces,类似于其他的重放保护方案,比如将新创建的契约的nonce分配给TOTAL_TXS,这样至少可以消除超出预期功能的连锁效应。

在区块链硬分叉之时会存在重放攻击的风险,攻击者在其中一条链上发起的交易,去到另一条链上重新广播,可能也会得到确认,这就是“重放攻击”。“重放保护”是分叉后在两条链之间加了一重保护,比如在 A 链上进行一笔交易,那么 B 链上重复的交易会被判为无效。

Martin Holst Swende 上周在Twitter上进行了一项调查,有多少人会意识到君士坦丁堡硬分叉后代码更改,结果表明,76% 的人并不会意识到这个问题。这也意味着,除非是技术性很强的开发者,非开发人员可能知道这种自毁技巧的机会可能很小。

不过,摆在开发者面前的一个问题是,这些具有自毁功能的智能合约可能会诱使盗币犯罪,他们必须考虑将其全部删除、修改;即使他们想保持原样,也要教育用户,让人们知道某些智能合约不是一成不变的,而是可以随意更改的,他们的钱可能会被盗。

只是,用户教育的成本会很高。Carver 说:“有很多方法可以避免进行‘社会攻击’(social attacks),但大多数都需要用户教育,这无疑会落后于君士坦丁堡自身的升级。”

君士坦丁堡硬分叉是否会因为上述原因而推迟?Parity 开发者 Afri Schoedon 表示并不会推迟。ChainSecurity首席运营官Matthias Egli 则表示,这不是一个“安全漏洞”,而是“一个极端案例”,一旦变更生效,以太坊的开发人员应该警惕。他补充说,在EIP 1283之外的其他四个EIP最初设定包含在君士坦丁堡之内,在2月27日的硬分叉之前会继续接受审计师的审计。

目前以太坊难度炸弹已经爆炸,etherchain数据显示,以太坊出块时间为20.4秒,三周后,将会到达 30-40 秒;日内挖矿收益也从 20000 个降至13000 个ETH(出块时间延长,出块少,所以收益下降),预计未来三周将再次下降2000-3000个 ETH。

原文链接:https://www.odaily.com/post/5135973

0 +1
标签: 以太坊 漏洞 智能合约 盗币 以太坊分叉
网友评论 文明上网理性发言 0条评论
全部评论
暂无评论哦,快来评论一下吧!
查看更多评论