Skip to content

Execution Layer upgrades

Execution Layer Upgrades focus on improvements and changes to the components responsible for executing transactions and smart contracts on the Ethereum blockchain. These upgrades include enhancements to the Ethereum Virtual Machine (EVM), fee markets, state management, and data availability. Each area represents a critical aspect of Ethereum’s functionality, ensuring efficient transaction processing, optimal fee structures, effective management of blockchain states, and reliable access to necessary data.

Ethereum Virtual Machine (EVM)
General EVM architecture upgrades

EIP-5: Gas Usage for RETURN and CALL

EIP-170: Contract code size limit

EIP-616: SIMD Operations for the EVM

EIP-684: Revert creation in case of collision

EIP-1352: Specify restricted address range for precompiles/system contracts Authors Alex

EIP-1706: Disable SSTORE with gasleft lower than call stipend

EIP-658: Embedding transaction status code in receipts

EIP-2681: Limit account nonce to 2^64-1

EIP-2926: Chunk-Based Code Merkleization

EIP-3338: Limit account nonce to 2^52

EIP-3541: Reject new contract code starting with the 0xEF byte

EIP-3607: Reject transactions from senders with deployed code

EIP-3779: Safer Control Flow for the EVM

EIP-3860: Limit and meter initcode

EIP-4758: Deactivate SELFDESTRUCT

EIP-5027: Remove the limit on contract code size

EIP-6046: Replace SELFDESTRUCT with DEACTIVATE

EIP-6049: Deprecate SELFDESTRUCT

EIP-6780: SELFDESTRUCT only in same transaction

EIP-6189: Alias Contracts

EIP-6190: Verkle-compatible SELFDESTRUCT

EIP-6888: Math checking in EVM

EIP-7266: Remove BLAKE2 compression precompile

EIP-7523: Empty accounts deprecation

EVM Object Format (EOF)

EIP-3690: EOF - JUMPDEST Table

EIP-3670: EOF – Code Validation

EIP-3540: EOF – EVM Object Format v1

EIP-4750: EOF – Functions

EIP-5450: EOF – Stack Validation

EIP-6206: EOF – JUMPF and non-returning functions

EIP-7480: EOF – Data section access instructions

EIP-7620: EOF – Contract Creation

Simple Serialize (SSZ)

EIP-6404: SSZ Transactions Root

EIP-6465: SSZ Withdrawals Root

EIP-6466: SSZ Receipts Root

EIP-6493: SSZ Transaction Signature Scheme

EIP-7495: SSZ StableContainer

EIP-6475: SSZ Optional

Fee Markets

EIP-1559: Fee market change for ETH 1.0 chain

EIP-2593: Escalator fee market change for ETH 1.0 chain

EIP-2200: Structured Definitions for Net Gas Metering

EIP-2045: Particle gas costs for EVM opcodes

EIP-2583: Penalty for account trie misses

EIP-2666: Repricing of precompiles and Keccak256 function

EIP-3403: Partial removal of refunds

EIP-3416: Median Gas Premium

EIP-3529: Reduction in refunds

EIP-3978: Gas refunds on reverts

EIP-7378: Add time-weighted averaging to the base fee

State management

EIP-158: State trie clearing

EIP-161: State trie clearing (invariant-preserving alternative)

EIP-1418: Blockchain Storage Rent Payment

EIP-2026: State Rent H – Fixed Prepayment for accounts

EIP-2027: State Rent C – Net contract size accounting

EIP-2029: State Rent A – State counters contract

EIP-2031: State Rent B – Net transaction counter

EIP-2035: Stateless Clients – Repricing SLOAD and SSTORE to pay for block proofs

EIP-2584: Trie format transition with overlay trees

EIP-3102: Binary trie structure

EIP-3584: Block Access List

EIP-4444: Bound Historical Data in Execution Clients

EIP-4762: Statelessness gas cost changes

EIP-6800: Ethereum state using a unified verkle tree

EIP-6873: Preimage retention

Data availability

EIP-2242: Transaction Postdata

EIP-4844: Shard Blob Transactions

EIP-7594: PeerDAS – Peer Data Availability Sampling