Back to Blog
BlockchainMarch 18, 2026 · 4 min read

Ethereum Blocks Explained: What Actually Gets Stored On-Chain

S
Sam
Ethereum blocks explained Illustration

Blocks Are Batches of Transactions

An Ethereum block is a bundle of transactions that have been validated, executed, and permanently added to the blockchain. Every 12 seconds (on average), a new block is proposed by a validator and added to the chain. This regular rhythm is what makes the blockchain a reliable, append-only ledger.

Think of the blockchain as a linked list: each block contains a reference to the previous block's hash, forming an unbreakable chain all the way back to the genesis block (block 0).

What's Inside a Block

Every block contains two main sections: the header and the body.

Block Header

  • Block Number — The sequential position of the block in the chain.
  • Timestamp — When the block was proposed (Unix timestamp).
  • Parent Hash — The hash of the previous block, linking them together.
  • State Root — A Merkle root of the entire Ethereum state (all account balances, contract storage, nonces) after executing this block's transactions.
  • Transactions Root — A Merkle root of all transactions included in the block.
  • Receipts Root — A Merkle root of all transaction receipts (logs, status, gas used).
  • Gas Used / Gas Limit — Total gas consumed by all transactions vs. the maximum gas allowed in this block.
  • Base Fee Per Gas — The minimum gas price for inclusion in this block (set by EIP-1559's algorithm).
  • Fee Recipient — The validator address that receives the priority fees (tips).

Block Body

The body contains the ordered list of transactions. After The Merge, it also includes attestations from other validators confirming they agree with the chain's state.

How Blocks Are Produced (Post-Merge)

Before The Merge (September 2022), blocks were produced by miners competing to solve a cryptographic puzzle (Proof of Work). Today, Ethereum uses Proof of Stake:

  1. Every 12-second slot, one validator is randomly selected to propose a block.
  2. The proposer collects pending transactions from the mempool, orders them, and executes them against the current state.
  3. The proposed block is broadcast to the network.
  4. Other validators in the committee attest to the block's validity.
  5. Once enough attestations are collected, the block is finalized (after ~2 epochs, roughly 12.8 minutes).

Block Gas Dynamics

Each block has a target gas of 15 million and a maximum of 30 million. The EIP-1559 base fee adjusts automatically:

  • If a block uses more than 15M gas → the base fee increases for the next block (up to 12.5%).
  • If a block uses less than 15M gas → the base fee decreases.

This creates an elastic block size that responds to network demand while keeping fees somewhat predictable.

Reading Block Data

When you inspect a block on SharpBlock, here's what to look for:

  • Transaction count — A busy block might have 200+ transactions. During low activity, blocks may contain fewer than 50.
  • Gas usage percentage — Shows how full the block is. Consistently full blocks indicate high network demand and rising gas prices.
  • Burned fees — The total ETH burned via EIP-1559. You can track how much ETH is being removed from supply in real time.
  • MEV rewards — Extra payments from searchers to validators for favorable transaction ordering (via Flashbots or similar MEV relays).

Finality: When Is a Block Truly Permanent?

There are different levels of confirmation:

  • Proposed — The block exists but hasn't been attested yet. It could theoretically be reorganized.
  • Justified — A supermajority (2/3+) of validators have attested to this block's epoch. Very unlikely to revert.
  • Finalized — The block is permanently part of the canonical chain. It would require burning 1/3 of all staked ETH to revert — an economic impossibility.

For most practical purposes, waiting 2-3 blocks (~30 seconds) provides sufficient confirmation. Exchanges typically wait 12-64 blocks depending on the transfer amount.