Linea logoLinea

Linea is a ZK Rollup powered by Consensys zkEVM, designed to scale the Ethereum network.
Value Locked

$1.11 B

5.06%

Canonically Bridged
$787.73 M
Externally Bridged
$255.10 M
Natively Minted
$74.18 M
  • Tokens
  • Daily TPS
    10.19119.03%
  • 30D tx count
    14.61 M
  • Stage
    Stage 0
  • Type
    ZK Rollup
  • Purpose
    Universal
  • ...

    ...

    ...

    Milestones

    Linea starts using blobs

    2024 Mar 26th

    Linea starts publishing data to blobs.

    Learn more

    Alpha v2 is released

    2024 Feb 13th

    This release reduces L1 costs and fees for users.

    Learn more

    Mainnet Alpha Launch

    2023 Jul 12th

    Linea has launched on the Ethereum mainnet.

    Learn more

    Open Testnet is Live

    2023 Mar 28th

    Linea has launched on the Goerli testnet, allowing users and developers to test the platform.

    Learn more
    Risk summary
    The circuit of the program being proven is not public.
    Risk analysis
    The circuit of the program being proven is not public.
    Sequencer failureState validationData availabilityExit windowProposer failure

    State validation

    ZK proofs (SN)

    zkSNARKS are zero knowledge proofs that ensure state correctness, but require trusted setup.

    Data availability

    On chain

    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.

    Exit window

    None

    There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.

    Sequencer failure

    No mechanism

    There is no mechanism to have transactions be included if the sequencer is down or censoring.

    Proposer failure

    Cannot withdraw

    Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.

    Rollup stage
    LineaLinea is a
    Stage 0
    ZK Rollup.
    There is no available node software that can reconstruct the state from L1 data, hence there is no way to verify that this system is a rollup.
    Stage 0
    1 issue needs fixing
    Stage 1
    3 issues need fixing
    Stage 2
    2 issues need fixing
    Learn more about Rollup stages
    Please keep in mind that these stages do not reflect rollup security, this is an opinionated assessment of rollup maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal.
    Technology

    Validity proofs ensure state correctness

    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. Operator can finalize L2 state root without proof.

    • Funds can be stolen if the operator forces and finalizes L2 state root without proof.

    1. ZkEvmV2.sol - Etherscan source code, _verifyProof() function

    Zero knowledge SNARK cryptography is used

    Despite their production use zkSNARKs are still new and experimental cryptography. Cryptography has made a lot of advancements in the recent years but all cryptographic solutions rely on time to prove their security. In addition zkSNARKs require a trusted setup to operate.

    • Funds can be stolen if the cryptography is broken or implemented incorrectly.

    All data required for proofs is published on chain

    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.

    1. LineaRollup.sol - Etherscan source code, submitData() function
    Operator

    The system has a centralized sequencer

    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).

    1. LineaRollup.sol - Etherscan source code, onlyRole(OPERATOR_ROLE) modifier

    Users can't force any transaction

    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.

    Withdrawals

    Regular exit

    The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is proven the funds become available for withdrawal on L1. Finally the user submits an L1 transaction to claim the funds. This transaction does not require a merkle proof. 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.

    • Funds can be frozen if the operator censors withdrawal transaction.

    1. L1MessageService.sol - Etherscan source code, claimMessageWithProof() function
    Permissions

    The system uses the following set of permissioned addresses:

    AdminMultisig 0x892b…1DD3

    Admin of the Linea rollup. It can upgrade core contracts, bridges, update permissioned actors, and publish blocks by effectively overriding the proof system. This is a Gnosis Safe with 4 / 8 threshold.

    Those are the participants of the AdminMultisig.

    Module to the AdminMultisig. Allows to add additional members to the multisig via permissions to call functions specified by roles.

    The operators are allowed to prove blocks and post the corresponding transaction data.

    Address allowed to pause the ERC20Bridge, the USDCBridge and the core functionalities of the project.

    Verifier Setters 0xd6B9…0574

    The verifier setters are allowed to change the verifier address.

    Smart contracts
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    The system consists of the following smart contracts:

    The main contract of the Linea zkEVM rollup. Contains state roots, the verifier addresses and manages messages between L1 and the L2. The contract is pausable by 0x892bb7EeD71efB060ab90140e7825d8127991DD3. This contract stores the following tokens: ETH.

    Can be upgraded by: AdminMultisig

    Upgrade delay: No delay

    1. LineaRollup.sol - Etherscan source code, state injections: stateRoot and l2MerkleRoot are part of the validity proof input.
    Timelock 0xd6B9…0574

    Owner of the ProxyAdmin and Verifier Setter. The current delay is 0s.

    Contract used to bridge ERC20 tokens. This contract can store any token.

    Can be upgraded by: AdminMultisig

    Upgrade delay: No delay

    Contract used to bridge USDC tokens. This contract stores the following tokens: USDC.

    Can be upgraded by: AdminMultisig

    Upgrade delay: No delay

    Value Locked is calculated based on these smart contracts and tokens:

    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.