ECIP 1121: Execution Client Specification Alignment (Olympia Hardfork) Source

AuthorEthereum Classic Community
Discussions-Tohttps://github.com/ethereumclassic/ECIPs/discussions/530
StatusDraft
TypeMeta
Created2025-12-14

Abstract

ECIP-1121 documents the Ethereum execution-layer protocol specifications that Ethereum Classic execution clients implement in order to remain execution-client parallel with Ethereum, excluding fee-market governance and blob-based data availability mechanics.

This ECIP serves as the execution-layer bookend for the Olympia ECIP option set (ECIP-1111, ECIP-1112, ECIP-1113, ECIP-1114, ECIP-1115, ECIP-1116, ECIP-1117, ECIP-1118, ECIP-1119 and ECIP-1120), consolidating execution semantics that are independent of consensus, treasury policy, or data-availability design choices.

This ECIP documents and scopes execution-layer specifications for coordination purposes. This document proposes the following blocks at which to implement these changes in the Ethereum Classic networks:

TBD on Mordor testnet TBD on Ethereum Classic mainnet

For more information on the opcodes and their respective EIPs and implementations, please see the Specification section of this document.


Motivation

Ethereum Classic has historically adopted a conservative, explicitly documented approach to protocol upgrades, as demonstrated in the Spiral and Mystique hard forks. Execution-layer compatibility with Ethereum improves tooling interoperability, client robustness, and auditability, while preserving Ethereum Classic’s Proof-of-Work consensus and economic neutrality.

Since Spiral and Mystique, and continuing through Ethereum’s Fusaka execution-layer upgrades, a set of execution client specifications has emerged that:

  • Do not depend on Proof-of-Stake
  • Do not mandate blob data availability
  • Do not alter Ethereum Classic’s monetary or treasury policy

These execution semantics are already implemented or are directly implementable in Ethereum Classic execution clients. ECIP-1121 consolidates them into a single reference document.


Scope

This ECIP:

  • Applies to execution-layer behavior only
  • Excludes fee market governance defined in the Olympia ECIP set
  • Explicitly defers blob data availability mechanics
  • Does not modify consensus rules
  • Does not define activation blocks (TBD)

Relationship to Prior ECIPs

ECIP-1121 is complementary to the following ECIPs:

ECIP Description Included / Excluded
ECIP-1111 Olympia meta-specification Included
ECIP-1112 Treasury contract option TBD
ECIP-1113 Treasury governance option TBD
ECIP-1114 Funding flow option TBD
ECIP-1115 Treasury operational constraints TBD
ECIP-1116 Fee-handling alternative (draft) TBD
ECIP-1117 Fee-handling alternative (draft) TBD
ECIP-1118 Fee-handling alternative (draft) TBD
ECIP-1119 International Sanctions Compliance TBD
ECIP-1120 Base fee smoothing option TBD

ECIP-1121 does not supersede any of the above ECIPs and does not define economic or governance behavior.


Prior Fork Validation

The EIPs listed in this ECIP:

  • Were not activated in Spiral or Mystique
  • Were not explicitly excluded in prior ECIPs
  • Are execution-layer only
  • Are compatible with Proof-of-Work block production

ETH Forks Covered:


Execution Client Specifications

Gas Accounting and State Access

EIP Short Description
EIP-7702 - Set EOA account code Add a new tx type that permanently sets the code for an EOA
EIP-7623 - Increase calldata cost Increase calldata cost to reduce maximum block size
EIP-7825 Transaction Gas Limit Cap Introduce a protocol-level cap on the maximum gas used by a transaction to 16,777,216 (2^24)
EIP-7883 MODEXP gas cost increase Increases cost of ModExp precompile
EIP-7935 - Set default gas limit to 60 million Recommend a new gas limit value for Fusaka and update execution layer client default configs

EVM Safety and Forward Compatibility

EIP Short Description
EIP-7934 RLP Execution Block Size Limit Introduce a protocol-level cap on the maximum RLP-encoded block size to 10 MiB, including a 2 MiB margin for beacon block size.
EIP-6780 - SELFDESTRUCT only in same transaction SELFDESTRUCT will recover all funds to the target but not delete the account, except when called in the same transaction as creation
EIP-7642: eth/69 - history expiry and simpler receipts Adds history serving window and removes bloom filter in receipt
EIP-7910 - eth_config JSON-RPC Method A JSON-RPC method that describes the configuration of the current and next fork

Cryptographic and Precompile Enhancements

EIP Short Description
EIP-2537 - Precompile for BLS12-381 curve operations Adds operation on BLS12-381 curve as a precompile in a set necessary to efficiently perform operations such as BLS signature verification.
EIP-7951 Precompile for secp256r1 Curve Support Add precompiled contract for secp256r1 ECDSA signature verification with proper security checks

Execution Context Optimizations

EIP Short Description
EIP-5656 - MCOPY - Memory copying instruction An efficient EVM instruction for copying memory areas
EIP-2935 - Save historical block hashes in state Store and serve last 8191 block hashes as storage slots of a system contract to allow for stateless execution
EIP-1153 - Transient storage opcodes Add opcodes for manipulating state that behaves almost identically to storage but is discarded after every transaction

Deferred Specifications

The following execution-adjacent EIPs are explicitly deferred because Ethereum Classic does not implement blob-based data availability:

EIP Reason for Deferral
Any blob-dependent EIP ETC does not implement blobs
EIP-4788 - Beacon block root in the EVM ETC does not implement blobs
EIP-4844 - Shard blob transactions (Proto-Danksharding) ETC does not implement blobs
EIP-7516 - BLOBBASEFEE opcode ETC does not implement blobs
EIP-4844 - Shard blob transactions ETC does not implement blobs
EIP-7691 - Blob throughput increase ETC does not implement blobs
EIP-7840 - Add blob schedule to EL config files ETC does not implement blobs
EIP-7892 Blob Parameter Only Hardforks ETC does not implement blobs
EIP-7918 Blob base fee bounded by execution cost ETC does not implement blobs

Deferral does not imply rejection.


Explicit Exclusions

The following specifications are intentionally excluded and governed elsewhere:

  • Fee market governance (ECIP-1111, ECIP-1112, ECIP-1113, ECIP-1114, ECIP-1115, ECIP-1120)
  • EIP-1559
  • EIP-3198

The following specifications are related to one or more of the following and are not applicable to ETC

  • Proof-of-Stake consensus mechanisms
  • Beacon Chain dependencies
  • Engine API proposer-validator separation
  • MEV-Boost and proposer-builder separation
EIP Reason for Omission
EIP-4788 - Beacon block root in the EVM ETC does not implement POS
EIP-7044 - Perpetually valid signed voluntary exits ETC does not implement POS
EIP-7045 - Increase max attestation inclusion slot ETC does not implement POS
EIP-7514 - Add max epoch churn limit ETC does not implement POS
EIP-7251 - Increase the MAX_EFFECTIVE_BALANCE ETC does not implement POS
EIP-7002 - Execution layer triggerable exits ETC does not implement POS
EIP-7685 - General purpose execution layer requests ETC does not implement POS
EIP-6110 - Supply validator deposits on chain ETC does not implement POS
EIP-7549 - Move committee index outside Attestation ETC does not implement POS
EIP-7917 Deterministic proposer lookahead ETC does not implement POS

Rationale

Separating execution-layer semantics from economic and governance policy:

  • Preserves Ethereum Classic’s Proof-of-Work integrity
  • Improves client and tooling interoperability
  • Reduces governance coupling
  • Mirrors the successful structure of Spiral and Mystique ECIPs

References

  • Ethereum Improvement Proposals: https://eips.ethereum.org
  • Ethereum Roadmap – Fusaka: https://ethereum.org/roadmap/fusaka/
  • Ethereum Classic ECIPs: https://ecips.ethereumclassic.org
  • Core-Geth: https://github.com/etclabscore/core-geth

Copyright and related rights waived via
CC0.