Skip to main content

Finalization layer

This page describes the finalization layer options and requirements for a 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. deployment. The finalization layer records the deployment's proofs and state commitments for verification and settlement finality. Whether it also records transaction data depends on the data availability model: 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. posts that data to the finalization layer; 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. keeps it offchain.

Finalization layer options​

Enterprise operators typically choose Ethereum (L1) or Linea Mainnet (L2) as the finalization layer. Linea Mainnet is itself a Lineth deployment that uses Ethereum as its finalization layer. The choice between finalizing on an L1 or L2 comes with different trade-offs:

Finalization layerLineth network layerWhat the deployment inheritsTrade-off
Ethereum (L1)L2Direct settlement on EthereumHigher cost and longer settlement time
Linea Mainnet (L2)L3

Linea Mainnet's operation, then Linea's own settlement on Ethereum

Lower cost and faster settlement on Linea; end-to-end verification includes both layers

L2 finalization is sufficient for many deployments. Choose L1 finalization when the deployment must settle directly on Ethereum.

Other finalization layers

A Lineth network can use a custom finalization layer other than Ethereum or Linea Mainnet if it can run the system contracts. Rollups that post EIP-4844 blobs need blob support on that chain.

Learn more about the trust assumptions inherited from the finalization layer.

Smart contract requirements​

Operators must deploy the finalization and verifier contracts on the finalization layer. Together, these contracts allow 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. to finalize batches and state. The process is as follows:

  1. The coordinator submits 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, state commitments, and, for a rollup, data availability payloads to the finalization layer.
  2. The finalization contract calls the verifier to check the proof.
  3. The verifier uses the submitted commitments and, for a rollup, the data availability payloads to check the proof.
  4. If verification succeeds, the finalization layer records the new state.

See also​

  • Data availability: Where transaction data is stored.
  • Finality: When a transaction becomes irreversible on the network versus on the finalization layer.

Was this page helpful?