Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ECIP-1104] BASEFEE omit, activations, last call #452

Merged
merged 8 commits into from Jan 6, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
24 changes: 7 additions & 17 deletions _specs/ecip-1104.md
Expand Up @@ -2,7 +2,7 @@
lang: en
ecip: 1104
title: Mystique EVM and Protocol Upgrades
status: Draft
status: Last Call
type: Meta
author: Cody Burns (@dontpanicburns)
created: 2021-07-28
Expand All @@ -23,19 +23,17 @@ changes for Ethereum Classic's _London_ upgrade include:

EIP | Eth PR | omit or include
-- | -- | --
3198 (BASEFEE opcode) | #22837 | Include
3529 (Alternative refund reduction) | #22733 | Include
3541 (Reject new contracts starting with the 0xEF byte) | #22809 | Include
1559 (Fee market change) | #22837 #22896 | Omit
3198 (BASEFEE opcode) | #22837 | Omit
3228 (💣 delay) | #22840 and #22870 | Omit

The fee market change and bomb delay are omitted at this time as they are not applicable for Ethereum Classic. The fee market change puts the network at longterm risk since as ETC currently has a capped supply and fixed emmision epocs. The bomb was disarmed in ETC code base in a previous hardfork.


#### EIP Summaries and expected action
##### Included
- EIP 3198 "BASEFEE opcode": Adds an opcode that gives the EVM access to the block’s base fee.
- For ETC, BASEFEE opcode shall return `0`. This opcode is being added to ensure alignement with evm standards but will not be used on chain. The assumption being that contracts using `BASEFEE` sould do `GASPRICE - BASEFEE` to get the proper value
- EIP 3529 "Alternative refund reduction" Remove gas refunds for SELFDESTRUCT, and reduce gas refunds for SSTORE to a lower level where the refunds are still substantial, but they are no longer high enough for current “exploits” of the refund mechanism to be viable.
- gas price should be adjusted on respective opcodes to reflect the new EVM standard
- EIP 3541 "Reject new contracts starting with the 0xEF byte": Disallow new code starting with the 0xEF byte to be deployed. Code already existing in the account trie starting with 0xEF byte is not affected semantically by this change.
Expand All @@ -44,16 +42,18 @@ The fee market change and bomb delay are omitted at this time as they are not ap
##### Omitted
- EIP 1559 "Fee market change": A transaction pricing mechanism that includes fixed-per-block network fee that is burned and dynamically expands/contracts block sizes to deal with transient congestion.
- Undesirable to implement at this time as it would conflict with the current monetary policy set in ECIP-1017
- EIP 3198 "BASEFEE opcode": Adds an opcode that gives the EVM access to the block’s base fee.
- It depends on EIP-1559. Behavior specifications for use in context without EIP-1559 are undefined.
- EIP 3228 "💣 delay": Delays the difficulty bomb to show effect the first week of December 2021.
- Not applicable to ETC due to difficulty bomb being defused


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

- `Dec 15th 2022` on Mordor Classic PoW-testnet
- `Jan 5th 2022` on Kotti Classic PoA-testnet
- `Jan 19th 2022` on Ethereum Classic PoW-mainnet
- `5_414_000` on Mordor Classic PoW-testnet (Jan 10th 2022)
- `5_559_000` on Kotti Classic PoA-testnet (Jan 20th 2022)
- `14_502_000` on Ethereum Classic PoW-mainnet (Feb 10th 2022)

For more information on the opcodes and their respective EIPs and
implementations, please see the _Specification_ section of this document.
Expand Down Expand Up @@ -107,16 +107,6 @@ features currently and will be able to support the _Mystique_ upgrade:
- Core-Geth (maintained by ETC Core)
- Hyperledger Besu (maintained by ConsenSys)

### Proposed Timeline

- make sure draft will be ready and "pre-approved" by the core teams
have some rough consensus to put it in last call ("day X")
- Nov 23 + 2 weeks - move to accepted unless there are issues/concerns
- Dec 15th - Mordor activation
- Jan 5th - Kotti activation
- Jan 26th - Mainnet activation


## Copyright

Copyright and related rights waived via
Expand Down