本文是关于以太坊坎昆升级的讨论,确定了 Cancun 升级中包含的 EIP,包括 EIP-1153、EIP-4788、EIP-4844、EIP-5656 和 EIP-6780。同时,文章提出了未来升级的主要优先级、大致时间以及在多次升级中拆分功能的影响。
该文章详细介绍了Solidity中的selfdestruct关键字,包括其定义、工作原理、用途以及相关示例。文章回顾了selfdestruct的历史及其在以太坊智能合约中的重要性,同时讨论了使用该功能的安全性问题与潜在风险。尽管功能已在以太坊的上海升级中被弃用,但文章提供的背景与实例仍具有参考价值。
本文深入探讨了以太坊智能合约的变更机制,通过CREATE2与SELFDESTRUCT操作,可以实现在特定地址上更新合约逻辑。这种技术的理解对于区块链安全至关重要,同时也提出了针对可变合约的检测和防御措施。作者呼吁改变SELFDESTRUCT在以太坊中使用的现状,以增强智能合约的安全性。
本文分析了一种利用CREATE和CREATE2操作码在不同时间将不同合约部署到同一地址的攻击技术,并提供了相应的防御策略。
CREATE
CREATE2
Solidity中,自毁合约(Self-DestructContract)是一种能够销毁自身并将剩余的以太币(Ether)发送到指定地址的智能合约。自毁合约通过调用selfdestruct函数实现,这个函数会删除合约的代码和存储,从而释放网络资源。
文章讨论了以太坊中SELFDESTRUCT操作码的弊端,认为它破坏了重要的不变性,如状态对象的数量、合约代码的不变性以及账户余额的自主性。文章提出了两种解决方案:完全移除SELFDESTRUCT,或修改其行为以消除其破坏性影响,同时考虑了现有合约的使用情况和潜在影响。
SELFDESTRUCT