
一位Ethereum开发者表示,最近在Sepolia测试网上进行的Pectra升级遇到了错误,攻击者利用了一个“边缘情况”来挖空块,使问题更加严重。Pectra升级于3月5日上午7:29在Sepolia测试网上推出,但Ethereum开发者Marius van der Wijden在3月8日的一篇帖子中表示,团队立即在他们的geth节点上看到了错误消息,并且挖出了空块。
错误的原因是存款合约触发了错误类型的事件——转账事件而非存款事件。尽管修复了问题,但van der Wijden表示他们遗漏了一个边缘情况,一个未知用户通过向存款地址发送0代币转账再次触发了错误。
“几分钟后,我们又看到了很多空块,于是我们再次查看了交易池,发现了另一个触发相同边缘情况的交易,”他说。
ERC-20标准并不禁止0代币转账,这使得任何人都可以向另一个地址转账,即使他们没有任何代币。van der Wijden表示,攻击者意识到了这一点。
“阻止攻击的唯一方法是过滤掉所有与存款合约交互的交易。因此,我们做了一个私有修复,并将其部署到一些DevOps节点上。”
“我们怀疑攻击者正在阅读我们的一些聊天记录,因此我们决定不公开修复,而是只更新我们控制的几个节点,以便在网络中获得更多的完整块,”他补充道。
到下午2点,所有节点都已更新修复,未知用户的交易成功挖出。
van der Wijden表示,在此事件中他们从未失去最终性,问题仅限于Sepolia,因为他们使用的是代币门控的存款合约,而不是普通的主网存款合约。
此前,开发者于2月26日在Holesky测试网上测试了Pectra升级,也遇到了问题。
因此,开发者决定推迟Pectra升级,以便进行更多测试。
Pectra分叉是在网络的Dencun升级之后进行的,Dencun升级降低了第2层网络的交易费用,并改善了Ethereum rollups的经济性。Dencun硬分叉于2024年3月13日推出。
Ethereum基金会最近宣布了新的领导结构,Hsiao-Wei Wang和Tomasz Stańczak两位联合主任接任。
阅读原文
Cointelegraph: Unknown attacker causes headaches during Pectra upgrade on Sepolia
Ethereum’s recent Pectra test on the Sepolia fork encountered an issue that was made worse by an unknown user sending zero-token transfers.
相关词条
- Pectra: Ethereum网络的一次升级,旨在改进网络性能和功能。
- Sepolia: Ethereum的一个测试网络,用于在正式发布前测试新功能和升级。
- ERC-20: Ethereum上的一种代币标准,定义了代币的基本功能和接口。
- Dencun: Ethereum网络的一次升级,旨在降低第2层网络的交易费用并改善rollups的经济性。
可能问题
- Pectra升级在Sepolia测试网上遇到了哪些问题?
- 攻击者是如何利用ERC-20标准漏洞的?
- 开发者如何解决Pectra升级中的问题?
- 为什么开发者决定推迟Pectra升级?