Skip to content

Commit

Permalink
Omit EIP-4399 (#513)
Browse files Browse the repository at this point in the history
* Wording

* Change format of EIP 4895 rationale

* Move EIP-4399 to omit

* Wording

Co-authored-by: meowsbits <b5c6@protonmail.com>

---------

Co-authored-by: meowsbits <b5c6@protonmail.com>
  • Loading branch information
diega and meowsbits authored Aug 25, 2023
1 parent f8d2dc7 commit 64423c7
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions _specs/ecip-1109.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ Add support for a subset of protocol-impacting changes introduced in the Ethereu

EIP | Description | Status
-- | -- | --
4399 | Supplant DIFFICULTY opcode with PREVRANDAO | Compatible inclusion
3651 | Warm COINBASE | Include
3855 | PUSH0 instruction | Include
3860 | Limit and meter initcode | Include
6049 | Deprecate SELFDESTRUCT | Include
4399 | Supplant DIFFICULTY opcode with PREVRANDAO | Omit
4895 | Beacon chain push withdrawals as operations | Omit

Beacon chain withdrawals are omitted at this time as they are not applicable for Ethereum Classic.
Expand All @@ -32,12 +32,9 @@ Beacon chain withdrawals are omitted at this time as they are not applicable for
- EIP 3855 "PUSH0 instruction": Introduces the PUSH0 (0x5f) instruction, which pushes the constant value 0 onto the stack.
- EIP-3860 "Limit and meter initcode": Limits the maximum size of initcode to 49152 bytes and apply extra gas cost of 2 for every 32-byte chunk of initcode

##### Compatible inclusion
- EIP 4399 "Supplant DIFFICULTY opcode with PREVRANDAO": Historicaly, the DIFFICULTY (0X44) instruction was used as a source of pseudo randomness. With the switch to Proof of Stake, Ethereum removed the work difficulty so, as a replacement, they now expose a [RANDAO](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/block-proposal/#random-selection) value taken from the beacon chain. Since v0.8.18, Solidity [deprecates](https://docs.soliditylang.org/en/v0.8.18/cheatsheet.html#global-variables) the `block.difficulty` and replaces it with `block.prevrandao` but this syntactic change still compiles to the same EVM opcode, i.e. `0x44`, which in the Ethereum Classic network will continue to work with the aforementioned _block difficulty_.

##### Omitted
- EIP 4895 "Beacon chain push withdrawals as operations": In Proof of Stake networks, enable validator withdrawals from the beacon chain to the EVM
- Ethereum Classic network only grants rewards through Proof of Work mining on the canonical chain, there are no validators, so this doesn't apply.
- EIP 4399 "Supplant DIFFICULTY opcode with PREVRANDAO": Historically, the DIFFICULTY (0X44) instruction was used as a source of pseudo randomness. With the switch to Proof of Stake, Ethereum removed the work difficulty so, as a replacement, they now expose a [RANDAO](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/block-proposal/#random-selection) value taken from the beacon chain. Since v0.8.18, Solidity [deprecates](https://docs.soliditylang.org/en/v0.8.18/cheatsheet.html#global-variables) `block.difficulty` and replaces it with `block.prevrandao` but this syntactic change still compiles to the same EVM opcode, i.e. `0x44`, which in the Ethereum Classic network will continue to evaluate as the aforementioned _block difficulty_ value.
- EIP 4895 "Beacon chain push withdrawals as operations": In Proof of Stake networks, enable validator withdrawals from the beacon chain to the EVM. Ethereum Classic network only grants rewards through Proof of Work mining on the canonical chain, there are no validators, so this doesn't apply.

This document proposes the following blocks at which to implement these changes in the Ethereum Classic networks:

Expand Down

0 comments on commit 64423c7

Please sign in to comment.