forked from DecentralizedClimateFoundation/DCIPs
47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
---
|
|
eip: 3651
|
|
title: Warm COINBASE
|
|
description: Starts the `COINBASE` address warm
|
|
author: William Morriss (@wjmelements)
|
|
discussions-to: https://ethereum-magicians.org/t/eip-3651-warm-coinbase/6640
|
|
status: Last Call
|
|
last-call-deadline: 2023-03-28
|
|
type: Standards Track
|
|
category: Core
|
|
created: 2021-07-12
|
|
requires: 2929
|
|
---
|
|
|
|
## 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.
|
|
But accessing `COINBASE` is overpriced; the address is initially cold under the access list framework introduced in [EIP-2929](./eip-2929.md).
|
|
This gas cost mismatch can incentivize alternative payments besides ETH, such as [ERC-20](./eip-20.md), 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 it receives the block reward and 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](../LICENSE.md).
|