What is data availability?
The guarantee that the data behind a block has actually been published where anyone can retrieve it, which is what allows independent parties to verify or challenge the chain's state.
Not yet verifiedHow we verify
3 min read
In this entry
The guarantee that the data behind a block has actually been published where anyone can retrieve it, which is what allows independent parties to verify or challenge the chain's state.
A rollup that posts only a state root without the underlying data leaves users unable to reconstruct their balances or prove fraud. Where the data goes is therefore a defining property of a layer-2 design, and it is the property most often glossed over when a chain advertises very low fees.
The insight is that withholding data is an attack in itself. An operator who publishes a claim about the new state but not the transactions behind it cannot be proven wrong, because nobody can compute what the state should have been.
How it works
Rollups execute transactions off the main chain and publish a compressed record plus a claim about the resulting state. Fraud proofs and validity proofs both assume that record is retrievable. Take it away and an optimistic rollup's challenge mechanism has nothing to challenge with, and users cannot even build the withdrawal transaction that would exit the system.
Where the data is published is the whole spectrum:
| Approach | Where data goes | Trust assumption |
|---|---|---|
| Rollup posting to the base chain | Ethereum, as blobs or calldata | The base chain's own security |
| External data availability layer | A separate network with its own validators | That network's committee |
| Validium | Off chain, held by a committee | The committee publishes on request |
| Sidechain | Its own chain entirely | Its own validator set |
Illustrative categories; costs fall and trust assumptions widen as you move down the table.
Ethereum's blob transactions exist for exactly this purpose. Blobs give rollups a cheap place to publish data that is verifiably available for a period long enough for challenges, after which it is pruned, since the point was availability at the time rather than permanent storage. See blob transaction.
Data availability sampling is the technique that makes this scale. Instead of downloading everything, a node samples random pieces, and with enough independent samplers the probability that withheld data goes unnoticed becomes negligible.
Example
Illustrative. A rollup processes your withdrawal and posts a new state root, but its operator does not publish the transaction data. Your balance according to the operator is whatever it says. You cannot prove otherwise, because reconstructing the correct state requires the transactions, and you cannot produce an exit transaction proving your balance either. On a rollup posting to Ethereum, the same withheld data would simply not be possible, since the state root is only accepted alongside the data.
Why it matters when you buy
Chains advertising very low fees have often moved data off the base chain, which is a real security difference rather than an implementation detail. If you buy an asset and hold it on a layer-2, the answer to where that chain publishes its data determines whether you can exit without the operator's cooperation. The chain pages cover the networks assets run on.
Related terms
rollup — the design that depends on this; blob transaction — Ethereum's cheap availability space; layer 2 — the wider category; fraud proof — what becomes impossible without data; modular blockchain — the architecture that separates this layer.
Questions
Why does this affect fees?
Publishing data to Ethereum is the largest cost most rollups carry. Moving it to a cheaper layer cuts fees substantially, and the saving is paid for with a weaker availability guarantee.
Is blob data stored forever?
No. Blobs are deliberately pruned after a fixed period, because the requirement is that data was available long enough to be checked and reconstructed, not that it is archived permanently.
How can I tell what a chain does?
Its own documentation states where it posts data, and independent layer-2 comparison sites classify chains by exactly this property. If the answer is hard to locate, that is worth noticing.