以太坊被曝再出新“漏洞”?

2019-02-13 14:00 稿源:Odaily星球日报  0条评论

以太坊003

图片版权所属:站长之家

编者按:原定于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 则表示,这不是一个“安全漏洞”,而是“一个极端案例”,一旦变更生效,以太坊的开发人员应该警惕。他补充说,在EIP1283 之外的其他四个EIP最初设定包含在君士坦丁堡之内,在 2 月 27 日的硬分叉之前会继续接受审计师的审计。

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

声明:本文转载自第三方媒体,如需转载,请联系版权方授权转载。协助申请

相关文章

相关热点

查看更多