Alert Source Discuss
Standards Track: Core

EIP-3651: 预热 COINBASE

启动时 `COINBASE` 地址为热状态

Authors William Morriss (@wjmelements)
Created 2021-07-12
Requires EIP-2929

摘要

COINBASE 地址应在交易执行开始时处于热状态,这与读取该账户的实际成本相符。

动机

直接 COINBASE 支付正变得越来越流行,因为它们允许条件支付,从而提供诸如隐式取消将要回滚的交易等好处。 但是访问 COINBASE 的价格过高;根据 EIP-2929 中引入的访问列表框架,该地址最初是冷状态。 这种 gas 成本的不匹配可能会激励除 ETH 之外的替代支付方式,例如 ERC-20,但 ETH 应该是以太坊上交易支付的主要手段。

规范

在交易执行开始时,accessed_addresses 应初始化为也包括 COINBASE 返回的地址 (0x41)。

理由

当前初始化为热状态的地址是在交易验证开始时应已加载的地址。 始终加载 ORIGIN 地址以根据 gas 限制和 gas 价格检查其余额。 始终加载 tx.to 地址以开始执行。 COINBASE 地址也应该始终加载,因为它接收区块奖励和交易费用。

向后兼容性

此更改不存在已知的向后兼容性问题。

安全考虑

此更改没有引入已知的安全考虑因素。

版权

通过 CC0 放弃版权及相关权利。

Citation

Please cite this document as:

William Morriss (@wjmelements), "EIP-3651: 预热 COINBASE," Ethereum Improvement Proposals, no. 3651, July 2021. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-3651.