36

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

 5 years ago
source link: https://36kr.com/p/5176645.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

编者按:本文来自36氪战略合作区块链媒体“ Odaily星球日报 ”(公众号ID:o-daily, APP下载

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

译者 | 秦晓峰

编辑 | 卢晓明

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

以太坊基金会(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。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK