Skip to main content

Data availability

This page describes data availability design for LinethLineth (Formerly the Linea Stack) The open-source ZK-rollup stack, codebase, and technical protocol that's the foundation of Linea Mainnet. Operators can deploy this stack to launch their own Ethereum-compatible L2 or L3 networks. deployments. Data availability is the guarantee that transaction data stays accessible to the parties who need it to verify or reconstruct historical state. Each deployment model differs in whether transaction data is posted to the finalization layerFinalization layer The blockchain where a Lineth deployment submits proofs and state commitments for verification and hard finality. If the finalization layer is Ethereum (an L1), the deployment is an L2. If the finalization layer is Linea (an L2), the deployment is an L3.:

  • A validiumValidium A deployment model in which a Lineth network proves state transitions with zk-SNARKs and posts only state commitments and proofs to the finalization layer. A validium can be public or private, depending on who has access to the transaction data. Participants cannot reconstruct the full transaction history from the finalization layer alone. posts only state commitments and proofs to the finalization layer. A validium can be public or private, depending on who can read that network's transaction data.
  • A rollupRollup A deployment model in which a Lineth network proves state transitions with zk-SNARKs and posts transaction data, state commitments, and proofs to the finalization layer. Anyone who can read that data can reconstruct history while it remains available. also posts transaction data to the finalization layer via EIP-4844 blobs.
Important

zk-SNARKzk-SNARK (Zero-Knowledge Succinct Non-interactive Argument of Knowledge) A type of ZK proof where the prover and verifier don't have to interact. With zk-SNARKs, you can verify 1 transaction or 1 billion transactions in the same amount of time. proofs show that a state transition is correct. They do not, by themselves, make the underlying transaction data available or hide that data.

Validiums​

In a validium, the coordinatorCoordinator Lineth's coordination module for batching, proof generation, and finality submission. The coordinator monitors block production, manages conflation deadlines, batches blocks, combines batches into blobs, orchestrates execution, compression, and aggregation proofs, and submits proofs and data to the finalization layer. submits state commitments and proofs to the finalization layer. Transaction data is not posted there. Typically that data lives on the validium's archive nodes, not an external data availability service.

Anyone who can read those nodes can reconstruct and verify history if enough nodes remain available. A third party cannot reconstruct the network from the finalization layer alone.

  • A public validium makes the Lineth network's data publicly readable. RPC access is open, so anyone who can reach a node can reconstruct history from the network.
  • A private validium keeps transaction data in a restricted node set and controls RPC access. Authorized participants who can reach those nodes can reconstruct history. A third party without that access cannot.

Operators are responsible for ensuring data availability, including:

  • Deploying and maintaining the node set that stores transaction data.
  • Keeping redundant copies and a backup procedure that can restore history.
  • Keeping the network running, or winding it down so participants can submit exit transactions before services stop.

For regional copies and restoring from snapshots, see High availability.

Rollups​

In a rollup, the coordinator posts transaction data to the finalization layer via EIP-4844 blobs. Anyone who can read that data can reconstruct state and submit exit transactions without the operator, for as long as the data remains available.

When the finalization layer is Ethereum, blob data is retained for 4096 epochs (about 18 days). After that window, reconstructing history from Ethereum requires a copy of the blob data kept outside Ethereum's blob store.

Operators are responsible for the following:

  • Ensuring the coordinator can post data to the finalization layer.
  • Monitoring posting success and gas cost.

See also​

Was this page helpful?