BEP-311: Implement EIP-3651 Warm COINBASE#311
Merged
brilliant-lx merged 2 commits intobnb-chain:masterfrom Nov 17, 2023
buddh0:bep310-warm-coinbase
Merged
BEP-311: Implement EIP-3651 Warm COINBASE#311brilliant-lx merged 2 commits intobnb-chain:masterfrom buddh0:bep310-warm-coinbase
brilliant-lx merged 2 commits intobnb-chain:masterfrom
buddh0:bep310-warm-coinbase
Conversation
This was referenced Dec 5, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BEP-311: Implement EIP-3651 Warm COINBASE
1. Summary
As part of Shanghai upgrade, EIP-3651: Warm COINBASE is required to be implemented to BSC.
2. Abstract
The
COINBASEaddress shall be warm at the start of transaction execution, in accordance with the actual cost of reading that account.3. Motivation
Direct
COINBASEpayments are becoming increasingly popular because they allow conditional payments, which provide benefits such as implicit cancellation of transactions that would revert.But accessing
COINBASEis overpriced; the address is initially cold under the access list framework introduced in EIP-2929.This gas cost mismatch can incentivize alternative payments besides ETH, such as ERC-20, but ETH should be the primary means of paying for transactions on Ethereum.
4. Specification
At the start of transaction execution,
accessed_addressesshall be initialized to also include the address returned byCOINBASE(0x41).5. Rationale
The addresses currently initialized warm are the addresses that should already be loaded at the start of transaction validation.
The
ORIGINaddress is always loaded to check its balance against the gas limit and the gas price.The
tx.toaddress is always loaded to begin execution.The
COINBASEaddress should also be always be loaded because it receives the block reward and the transaction fees.6. Backwards Compatibility
There are no known backward compatibility issues presented by this change.
7. Security Considerations
There are no known security considerations introduced by this change.
8. License
The content is licensed under CC0.
9. Reference
William Morriss (@wjmelements), "EIP-3651: Warm COINBASE," Ethereum Improvement Proposals, no. 3651, July 2021. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-3651.