...


Tokens:

Milestones

Full Launch Alpha

2023 Mar 24th

zkSync Era is now permissionless and open for everyone.

Learn more

Fair Onboarding Alpha and Rebranding

2023 Feb 16th

zkSync 2.0 rebrands to zkSync Era and lets registered projects and developers deploy on mainnet.

Learn more

zkSync 2.0 baby alpha launch

2022 Oct 28th

zkSync 2.0 baby alpha is launched on mainnet.

Learn more
Show more

Knowledge Nuggets

Description

Withdrawals are delayed by 21h. The length of the delay can be arbitrarily set by a MultiSig.

zkSync Era is a general-purpose zk-rollup platform from Matter Labs aiming at implementing nearly full EVM compatibility in its zk-friendly custom virtual machine. It implements standard Web3 API and it preserves key EVM features such as smart contract composability while introducing some new concept such as native account abstraction.

If you find something wrong on this page you can submit an issue or edit the information.

Risk Analysis

Sequencer failureState validationData availabilityUpgradeabilityProposer failure

State validation

ZK proofs

Uses PLONK zero-knowledge proof system with KZG commitments.

Data availability

On chain (SD)

All of the data (SD = state diffs) needed for proof construction is published on chain.

Upgradeability

Yes

The code that secures the system can be changed arbitrarily and without notice by the governor, that currently is a 4 / 7 Multisig. The governor can also change the Verifier contract without notice.

Sequencer failure

Enqueue via L1

Users can submit transactions to an L1 queue, but can't force them. The sequencer cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencer censors or is down, it is so for everyone.

Proposer failure

Cannot withdraw

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

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. Once the proof is processed on the Ethereum blockchain the L2 block is instantly finalized.

  1. Validity proofs - zkSync FAQ

Zero knowledge SNARK cryptography is used

Despite their production use ZK-SNARKs 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 ZK-SNARKs require a trusted setup to operate.

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

  1. What are rollups? - Developer's documentation

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 calldata. This ensures that it will always be available when needed.

Operator

The system has a centralized operator

The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.

  • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

Users can force any transaction via L1

If a user is censored by L2 Sequencer, they can try to force transaction via L1 queue. Right now there is no mechanism that forces L2 Sequencer to include transactions from L1 queue in an L1 block.

  • Users can be censored if the operator refuses to include their transactions.

  1. L1 - L2 interoperability - Developer's documentation'

Withdrawals

Regular exit

The user initiates the withdrawal by submitting a transaction on L2. 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 requires a merkle proof.

  1. Withdrawing funds - zkSync documentation

Forced exit

If the user experiences censorship from the operator with regular exit they can submit their withdrawal requests directly on L1. The system is then obliged to service this request. Once the force operation is submitted if the request is serviced the operation follows the flow of a regular exit. Note that this mechanism is not implemented yet.

  • Funds can be frozen if a user withdrawal request is censored (CRITICAL).

  1. L1 - L2 interoperability - Developer's documentation

Permissions

The system uses the following set of permissioned addresses:

zkSync Era Multisig 0x4e49…7828

This MultiSig is the current Governor of zkSync Era main contract and owner of the L1EthBridge. It can upgrade zkSync Era, upgrade bridge, change rollup parameters with no delay. This is a Gnosis Safe with 4 / 7 threshold.

Those are the participants of the zkSync Era Multisig.

Active validator 0x1122…2211

This actor is allowed to propose, revert and execute L2 blocks on L1.

Security Council

Address capable of instant upgrade of the system. Currently set to zero 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 Rollup contract. Operator commits blocks, provides zkProof which is validated by the Verifier contract and process transactions (executes blocks). During block execution it processes L1 --> L2 and L2 --> L1 transactions. It uses separate Verifier to validate zkProofs. Governance manages list of Validators and can set basic rollup parameters. It is also serves the purpose of ETH bridge. This contract stores the following tokens: ETH.

Can be upgraded by: zkSync Era Multisig

Upgrade delay: No delay

Verifier 0x020b…aB49

Implements zkProof verification logic.

Can be upgraded by: zkSync Era Multisig

Upgrade delay: No delay

ValidatorTimelock 0x3dB5…d919

Contract delaying block execution (ie withdrawals and other L2 --> L1 messages).

TVL is calculated based on these smart contracts and tokens:

Standard bridge for depositing ERC20 tokens to zkSync Era.

Can be upgraded by: zkSync Era Multisig

Upgrade delay: No delay

Escrow for ETH 0x3240…0324

Main rollup contract, additionally serving as an escrow.

Can be upgraded by: zkSync Era Multisig

Upgrade delay: No delay

The current deployment carries some associated risks:

  • Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).