跳到主要内容
ecdsa.com

EIP-7702(为 EOA 设置代码)

以太坊的一项升级,自2025年5月7日 Pectra 硬分叉起生效,允许外部账户(EOA)通过类型为 0x04 的交易中的签名授权,把自身代码委托给某个合约。
其他写法EIP-7702set code transactiontype 4 transactiondelegation indicator

设置代码交易携带由元组 [chain_id, address, nonce, y_parity, r, s] 组成的 authorization_list;每个元组都是账户所有者对 keccak256(0x05 ‖ rlp([chain_id, address, nonce])) 的签名。处理交易时,会把 23 字节的委托指示符 0xef0100 ‖ address 写入该账户的代码,于是对该账户的调用会在账户自身的上下文中运行委托合约的代码。chain_id 为 0 时,授权在所有链上都有效。

这让现有地址无需转移资金,就能获得批量交易、代付 gas 以及由通行密钥或会话密钥控制等能力。它也带来了新的钓鱼目标:一次签名授权就会把账户的全部控制权交给委托合约,chain_id 为 0 时还包括该账户在其他链上的控制权;而且更换委托后,先前的委托合约写入的存储仍会保留。EIP-7702 委托解码器可以显示一条授权委托给了谁。

标准与参考资料

全部术语