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:

ApproachWhere data goesTrust assumption
Rollup posting to the base chainEthereum, as blobs or calldataThe base chain's own security
External data availability layerA separate network with its own validatorsThat network's committee
ValidiumOff chain, held by a committeeThe committee publishes on request
SidechainIts own chain entirelyIts 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.

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.