Search for projects by name
Linea is a ZK Rollup powered by a zkEVM developed at Consensys, designed to scale the Ethereum network.
Linea is a ZK Rollup powered by a zkEVM developed at Consensys, designed to scale the Ethereum network.
2024 Jun 14 — 2025 Jun 14
2024 Jun 14 — 2025 Jun 13
The section shows the operating costs that L2s pay to Ethereum.
2024 Jun 14 — 2025 Jun 13
The chart illustrates how "live" the project's operators are by displaying how frequently they submit transactions of the selected type and if these intervals deviate from their typical schedule.
2025 May 15 — Jun 13
Proof system is complete
2024 Jun 9th
The Linea proof system and verifier on ethereum covers 100% of the zkEVM.
SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup.
All of the data needed for proof construction is published on Ethereum L1. Unlike most ZK rollups, transaction data is posted instead of state diffs.
There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable.
Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. Eventually (after 6 months of no finalized blocks) the Operator role becomes public, theoretically allowing anyone to propose state with valid proofs.
All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.
The node software (Linea Besu) and a guide to reconstruct the state from L1 is available here. Other node implementations like Nethermind, Geth or Erigon can sync too, but state derivation from L1 and Linea-specific features are unsupported.
Linea uses a bespoke lossless compression scheme based on LZSS (deflate-like). It is available as a dedicated library and a zk-decompression circuit in Gnark.
Is available via the official Linea docs for Linea Besu (preloaded), Besu, Erigon, Nethermind, Geth.
Linea groups L2 blocks into batches which are then posted to L1 for proving. Each batch (whether sent as a blob or compressed calldata) contains L2 blocks. Blocks in turn include the transactions with unnecessary data stripped. More info on the compression, packing and blob structure.
Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.
The Linea prover code is available on Github. Linea splits proving into: Corset (Go + Lisp DSL) expands EVM execution traces and generates a bespoke constraint system for the zk-EVM. gnark (Go) ingests the expanded traces and constraint system, instantiates the circuits and produces the SNARK proof.
The constraint system lives in the public linea-constraints repo and is authored in a Lisp-style DSL before being compiled to Go. Gnark then turns those constraints into PLONK-compatible circuits over BN254. Internally, Linea’s flow uses a recursive proof stack called Vortex → Arcane → PLONK compression: Vortex/Arcane supply small inner proofs that are finally aggregated into a single PLONK proof that the L1 contract can verify.
Linea uses a Plonk-based proof system which requires a trusted setup. The verification keys are hardcoded in the verifier contract on-chain.
Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.
Only a trusted sequencer is allowed to submit transaction batches. A mechanism for users to submit their own batches is currently disabled.
MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.
Funds can be frozen if the sequencer refuses to include an exit transaction (CRITICAL).
There is no general mechanism to force the sequencer to include the transaction.
Users can be censored if the operator refuses to include their transactions.
The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks. Note that withdrawal requests can be censored by the Sequencer. Currently, there is a general limit of 18750.0 ETH that can be withdrawn within each 1d time window. Users can (eventually, after 6 months of inactivity from the centralized Operator) exit by replacing the Operator. In such a case they need to self-propose and prove their new state on the base layer with the required software which is currently not made available.
Funds can be frozen if the operator censors withdrawal transaction.
Allowed to prove blocks and post the corresponding transaction data.
Contract used to bridge and escrow ERC-20 tokens.
Standard implementation used for assets that are native to the Linea L2 and bridged back to ethereum.
Smart contract used to verify the proofs of Linea zkEVM execution.
A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.
The main contract of the Linea zkEVM rollup. Contains state roots, the verifier addresses and manages messages between L1 and the L2.
A standard timelock with access control. The current minimum delay is 0s.
The Zodiac ‘Roles’ module for Safe multisigs allows defining roles that can call preconfigured targets on behalf of the Gnosis Safe.
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is a 0s delay on code upgrades.