Skip to main content

Try it Live

Run Hardfork examples in the interactive playground

    The Merge

    Active Since: Merge (September 15, 2022) Aliases: “paris” (consensus layer name)

    Consensus Change

    Before Merge (Proof of Work):
    • Miners compete to solve computational puzzles
    • Block rewards: 2 ETH + transaction fees
    • DIFFICULTY opcode returns mining difficulty
    After Merge (Proof of Stake):
    • Validators stake 32 ETH to propose blocks
    • Block rewards: Transaction tips only (base fee burned)
    • DIFFICULTY opcode returns beacon chain randomness (PREVRANDAO)

    Changes Introduced

    PREVRANDAO Opcode

    Opcode: 0x44 (replaces DIFFICULTY) Before Merge:
    • Returns current block’s mining difficulty
    • Used for difficulty-based calculations
    After Merge:
    • Returns beacon chain randomness (PREVRANDAO)
    • Mix hash from beacon chain for randomness
    • Breaking change: Contracts using DIFFICULTY for mining calculations will break

    Block Production

    Before Merge:
    • Miners propose blocks via PoW
    • Block time: ~13 seconds (variable)
    • Uncle blocks possible
    After Merge:
    • Validators propose blocks via PoS
    • Block time: 12 seconds (fixed)
    • No uncle blocks

    Economics

    Before Merge:
    • Block reward: 2 ETH per block
    • Transaction fees to miners
    • Issuance: ~4.3% annual
    After Merge:
    • Block reward: 0 ETH (only tips)
    • Base fee burned (EIP-1559)
    • Issuance: ~0.5% annual (90% reduction)

    Usage Patterns

    Consensus Detection

    Determine consensus mechanism:

    Mining Configuration

    Validate mining configuration:

    Opcode Handling

    Handle DIFFICULTY/PREVRANDAO opcode:

    Block Validation

    Validate block structure:

    Network Configuration

    Check consensus mechanism:

    EIP References

    Primary:
    • EIP-3675 - Upgrade consensus to Proof of Stake
    • EIP-4399 - Supplant DIFFICULTY opcode with PREVRANDAO

    Impact

    For Validators:
    • Must stake 32 ETH to participate
    • Earn tips + MEV (no base fee)
    • Can be slashed for misbehavior
    For Developers:
    • DIFFICULTY opcode behavior changed
    • Contracts using DIFFICULTY for mining logic will break
    • Block time now consistent (12s)
    • No more uncle blocks
    For Network:
    • 90% reduction in ETH issuance
    • Consistent 12-second block times
    • Finality from Casper FFG (2 epochs = ~13 minutes)
    • 99.95% energy reduction
    For Economics:
    • Deflationary when base fee > issuance
    • More predictable issuance schedule
    • Staking yield replaces mining rewards

    Breaking Changes

    DIFFICULTY Opcode

    Contracts using block.difficulty must update:

    Mining

    All mining-related functionality removed:
    • No block rewards for miners
    • No mining difficulty adjustments
    • No uncle blocks
    • Mining software incompatible with PoS

    See Also

    • hasEIP1559 - Check EIP-1559 base fee availability (London)
    • hasEIP4844 - Check blob transactions availability (Cancun)
    • isAtLeast - General version comparison