EIPs/EIPS/eip-3651.md

41 lines
1.8 KiB
Markdown
Raw Normal View History

---
eip: 3651
title: Warm COINBASE
author: William Morriss (@wjmelements)
discussions-to: https://ethereum-magicians.org/t/eip-3651-warm-coinbase/6640
status: Draft
type: Standards Track
category: Core
created: 2021-07-12
requires: 2929
---
## Simple Summary
Starts the `COINBASE` address warm
## Abstract
The `COINBASE` address shall be warm at the start of transaction execution, in accordance with the actual cost of reading that account.
## Motivation
Direct `COINBASE` payments are becoming increasingly popular because they allow conditional payments, which provide benefits such as implicit cancellation of transactions that would revert.
2021-07-23 07:29:20 -07:00
But accessing `COINBASE` is overpriced; the address is initially cold under the access list framework introduced in [EIP-2929](./eip-2929).
This gas cost mismatch can incentivize alternative payments besides ETH, such as ERC20, but ETH should be the primary means of paying for transactions on Ethereum.
## Specification
At the start of transaction execution, `accessed_addresses` shall be initialized to also include the address returned by `COINBASE` (`0x41`).
## Rationale
The addresses currently initialized warm are the addresses that should already be loaded at the start of transaction validation.
The `ORIGIN` address is always loaded to check its balance against the gas limit and the gas price.
The `tx.to` address is always loaded to begin execution.
The `COINBASE` address should also be always be loaded because they receive the block reward as well as the transaction fees.
## Backwards Compatibility
There are no known backward compatibility issues presented by this change.
## Security Considerations
There are no known security considerations introduced by this change.
## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).