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.
The project will be classified as "Other" due to its specific risks that set it apart from the standard classifications.
The project will move to Others because:
Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds.
2024 Apr 16 — 2025 Apr 16
2024 Apr 16 — 2025 Apr 15
The section shows the operating costs that L2s pay to Ethereum.
2024 Apr 16 — 2025 Apr 15
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.
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.
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 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.
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 source code of the prover is currently not public.
The source code of the circuits is currently not public.
Funds can be stolen if the prover is able to generate false proofs.
Given that the circuit is not public, the generation of the verification keys is not public either.
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.
Is allowed to interact with Roles - pause the TokenBridge, the USDCBridge and the core functionalities of the system (via Roles module, LineaRollup contract).
Contract used to bridge and escrow ERC-20 tokens. This contract can store any token.
Standard implementation used for assets that are native to the Linea L2 and bridged back to ethereum.
A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.
Smart contract used to verify the proofs of Linea zkEVM execution.
The main contract of the Linea zkEVM rollup. Contains state roots, the verifier addresses and manages messages between L1 and the L2. This contract stores the following tokens: ETH.
Can be used to upgrade implementation of TokenBridge, LineaRollup.
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.