Transaction Life Cycle

zkLink Nova network is an aggregated Layer 3 ZK-Rollup network built upon Ethereum(L1) and multiple Layer 2 rollup networks(L2s). Users are allowed to bridge native assets located on divided L2 rollup networks to zkLink Nova to benefit from aggregated liquidity. The system is designed to be super scalable and cost-efficient, while still maintaining Ethereum equivalent security.

This section helps you navigate the full transaction life cycle on the zkLink Nova network, which helps you better understand how zkLink Nova works.

Transaction submission

To interact with the dApps on zkLink Nova(L3), a user signs a transaction and submits it to the zkLink Nova sequencer, which provides fast confirmation and charges an extremely low fee.

zkLink Nova also allows users to submit on-chain transactions (which is called priority operations) via the official smart contracts deployed on any connected network (L1 and L2s). Since the sequencer is forced to include the priority operations, zkLink Nova is of great censorship resistance.

Block building

The sequencer of zkLink Nova is a collection of services and functions acting in coordination to monitor connected networks (L1 and L2s), order incoming transactions, maintain zkLink Nova network (L3) state, and execute blocks. For each transaction, the sequencer checks its validity, rejecting transactions as necessary. Valid transactions are placed into small blocks every 2 seconds and executed in the zkEVM of ZK Stack. With the transaction executed and state updated, the transaction has reached soft finality.

Generating a ZK-proof

In order to spread the cost of interacting with settlement layers, transactions in multiple blocks will be packed into a batch, which serve as the fundamental unit for generating proofs and on-chain settlement. The prover will prove the correct execution of zkEVM by producing a zero-knowledge proof that verifies and validates the transactions in a batch, proving that user transactions were computed correctly and the new state is correct.

Prove verification

After the prover verifies the correctness of state updates, the zero-knowledge proof will be submitted to the rollup contract on a primary chain (L2, currently Linea is designated as the primary chain). The sequencer also needs to submit data commitment (including compressed transaction data and state root) to the primary chain for proof verification. Based on the ZK-proof and data commitment, the rollup contract on the primary chain could execute ZKP verification.

Multi-chain Settlement

After completing ZKP verification, it comes to synchronize stage to achieve state synchronization across the connected networks. To prevent the security risk that a bad sequencer may falsely inform the primary chain about fake on-chain transactions, sync hashes of on-chain transaction data will be forwarded to the primary chain via Ethereum canonical rollup bridges, and the contract on the primary chain will check if they're consistent with the on-chain transactions previously relayed by the sequencer.

Upon the successful verification of both zero-knowledge proof and multi-chain transaction consistency, the confirmation information is relayed back to other connected networks. Thereafter, on-chain settlement across all networks is finalized and fund withdrawal requests could be approved.

Last updated