From a52ee4aa3d1a6b6ed653b58921a0bd897ffe16c3 Mon Sep 17 00:00:00 2001 From: buddh0 Date: Mon, 30 Oct 2023 14:23:18 +0800 Subject: [PATCH 1/2] BEP-310: Implement EIP-3651 Warm COINBASE --- BEPs/BEP-310.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 BEPs/BEP-310.md diff --git a/BEPs/BEP-310.md b/BEPs/BEP-310.md new file mode 100644 index 00000000..06cdecba --- /dev/null +++ b/BEPs/BEP-310.md @@ -0,0 +1,62 @@ +
+  BEP: 310
+  Title: Implement EIP-3651: Warm COINBASE
+  Status: Draft
+  Type: Standards
+  Created: 2023-10-30
+
+ + +# BEP-310: Implement EIP-3651 Warm COINBASE + +- [BEP-310: Implement EIP-3651 Warm COINBASE](#bep-310-implement-eip-3651-warm-coinbase) + - [1. Summary](#1-summary) + - [2. Abstract](#2-abstract) + - [3. Motivation](#3-motivation) + - [4. Specification](#4-specification) + - [5. Rationale](#5-rationale) + - [6. Backwards Compatibility](#6-backwards-compatibility) + - [7. Security Considerations](#7-security-considerations) + - [8. License](#8-license) + - [9. Reference](#9-reference) + + +## 1. Summary +As part of Shanghai upgrade, EIP-3651: Warm COINBASE is required to be implemented to BSC. + +## 2. Abstract + +The `COINBASE` address shall be warm at the start of transaction execution, in accordance with the actual cost of reading that account. + +## 3. 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. + +## 4. Specification + +At the start of transaction execution, `accessed_addresses` shall be initialized to also include the address returned by `COINBASE` (`0x41`). + +## 5. 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. + +## 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](https://creativecommons.org/publicdomain/zero/1.0/). + +## 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. \ No newline at end of file From 65f14386d5dca64819612d41a7e691ff1ebf4a9a Mon Sep 17 00:00:00 2001 From: buddh0 Date: Fri, 17 Nov 2023 12:07:48 +0800 Subject: [PATCH 2/2] rename bep-310 to bep-311 --- BEPs/{BEP-310.md => BEP-311.md} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename BEPs/{BEP-310.md => BEP-311.md} (95%) diff --git a/BEPs/BEP-310.md b/BEPs/BEP-311.md similarity index 95% rename from BEPs/BEP-310.md rename to BEPs/BEP-311.md index 06cdecba..b7cf2c90 100644 --- a/BEPs/BEP-310.md +++ b/BEPs/BEP-311.md @@ -1,5 +1,5 @@
-  BEP: 310
+  BEP: 311
   Title: Implement EIP-3651: Warm COINBASE
   Status: Draft
   Type: Standards
@@ -7,9 +7,9 @@
 
-# BEP-310: Implement EIP-3651 Warm COINBASE +# BEP-311: Implement EIP-3651 Warm COINBASE -- [BEP-310: Implement EIP-3651 Warm COINBASE](#bep-310-implement-eip-3651-warm-coinbase) +- [BEP-311: Implement EIP-3651 Warm COINBASE](#bep-311-implement-eip-3651-warm-coinbase) - [1. Summary](#1-summary) - [2. Abstract](#2-abstract) - [3. Motivation](#3-motivation)