Skip to main content

Uncle

A structured type representing an uncle (ommer) block header. Uncle blocks are valid blocks that were mined but not included in the main chain. They were relevant in Ethereum’s proof-of-work era.
Uncle blocks are a legacy concept from Ethereum’s proof-of-work era. Since The Merge (September 2022), Ethereum uses proof-of-stake and no longer produces uncle blocks.

Overview

UncleType represents a complete block header with all fields required by the Ethereum protocol:
  • Block identification (parent hash, number)
  • State roots (state, transactions, receipts)
  • Mining data (difficulty, nonce, mixHash)
  • Resource tracking (gas limit, gas used)
  • Metadata (timestamp, extra data, logs bloom)

Type Definition

Construction

from

Create an uncle block from its component fields:

Field Reference

Block Identification

State Roots

Mining Data

Resource Tracking

Metadata

Uncle Block Economics

In proof-of-work Ethereum, uncle blocks served multiple purposes:

Reward Structure

  • Uncle reward: Miner receives (8 - depth) / 8 of block reward
  • Nephew reward: Main block miner receives 1/32 of block reward per uncle
  • Maximum depth: Uncles must be within 6 blocks of the including block
  • Maximum uncles: 2 uncles per block

Historical Context

Uncle blocks helped secure proof-of-work Ethereum by:
  1. Reducing centralization: Miners with network latency disadvantages still received rewards
  2. Increasing security: More total hashpower contributed to chain security
  3. Incentivizing propagation: Miners were incentivized to propagate blocks quickly

Use Cases

  • Historical blockchain analysis
  • Archive node implementations
  • Block reward calculations
  • Chain reorganization analysis
  • Ethereum protocol research

Example: Analyze Uncle Rate