Search

Search for projects by name

Linea logoLinea

Badges

About

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


Value Locked
$1.08 B10.9%
Canonically Bridged
$511.84 M
Externally Bridged
$513.11 M
Natively Minted
$57.64 M

  • Tokens
  • Daily UOPS
    2.5612.3%
  • 30D tx count
    7.14 M

  • Stage
    Stage 0
  • Type
    ZK Rollup
  • Purpose
    Universal
  • Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

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


    Value Locked
    Activity
    Onchain costs
    Milestones & Incidents

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

    Sequencer failure

    No mechanism

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

    State validation

    ZK proofs (SN)

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

    Data availability

    Onchain

    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 regular upgrade since contracts are instantly upgradable.

    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.

    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
    State validation

    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.


    Prover Architecture

    The source code of the prover is currently not public.

    ZK Circuits

    The source code of the circuits is currently not public.

    • Funds can be lost if the proof system is implemented incorrectly.

    • Funds can be stolen if the prover is able to generate false proofs.

    Verification Keys Generation

    Given that the circuit is not public, the generation of the verification keys is not public either.

    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

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

    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 on the host chain (Ethereum):

    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 AdminMultisig. This contract stores the following tokens: ETH.

    Can be upgraded by:

    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.

    VerifierProofType3 0xBfF4…fe6F

    Currently used smart contract verifying the proofs for the Linea zkEVM.

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

    Can be upgraded by:

    Upgrade delay: No delay

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

    Can be upgraded by:

    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.