EIP-6049 是一项以太坊改进提案,提议弃用以太坊中现有的“SELFDESTRUCT”操作码,并用名为“halt”的新操作码替换它,作为 Shapella 升级的上海硬分叉的一部分。[1]
2022 年 11 月 27 日,创建了 EIP-6049,旨在通过弃用有问题的 SELFDESTRUCT 操作码,并用更安全和受控的名为“halt”的函数替换它,来提高 以太坊 中智能合约的安全性和可靠性。
自毁操作码允许智能合约销毁自身,并将任何剩余资金返还给指定的接收者。但是,它存在一些问题,使其在某些情况下使用起来存在问题。[2]
自毁的主要问题之一是,它可以被任何人调用,而不仅仅是合约的所有者。这可能导致恶意行为者可以销毁合约并导致所有者损失所有资金的情况。此外,自毁具有无限的成本,这意味着它可以用于消耗大量 gas 并创建拒绝服务攻击。[3]
拟议的“halt”操作码旨在通过提供一种更安全和受控的方式让合约自毁来解决这些问题。与自毁不同,halt 只能由合约所有者调用,并且具有固定的 gas 成本。这将使攻击者更难滥用该函数并创建消耗大量 gas 的攻击,从而使开发人员能够更好地控制他们的合约,并降低可能对 以太坊 网络造成广泛损害的攻击风险。[2][3]