People often say “a block is a bag of transactions.” That shortcut is useful, but it hides the part that actually protects users and protocols.
A block is a replayable commitment: anyone should be able to re-execute its ordered transactions and reach the same roots. Without that property, there is no shared state machine—only competing opinions.
Public chains need one object that does three jobs at once:
Ethereum’s block design is that object.
At the payload level, you can split block composition into four surfaces:
parent_hash, state_root, receipts_rootgas_used, base_fee_per_gasIf any replayed result disagrees with committed roots, the block is invalid.
Validation is local replay, not blind trust.
This single invariant is what keeps independent clients convergent.
Post-Merge, Ethereum has two cooperating layers:
Short form: EL says what happened; CL says which branch survives.
Type-2 execution-lane fee:
baseFee is protocol-adjusted and burned. Tip is market-driven inclusion incentive.
Important: fee payment and settlement confidence are different axes.
Application logic should not use one binary “confirmed” state:
For high-value transitions, gate on finalized, not merely “included.”
Real inclusion flow is often builder-mediated, not one globally shared mempool queue.
So these statements are different:
Monitor latency distribution, replacement paths, and cross-provider divergence—not only median gas price.
Common production failures:
Most outages come from weak state models, not broken cryptography.
A block is not a container.
It is a replayable commitment to ordered state transition.