Settlement Layer
Last updated
Last updated
The settlement layer entails an environment for finalizing transactions on the base chain(s).
A classic ZK-Rollup network typically selects Ethereum as the base chain to verify proof and settle transactions. By contrast, zkLink Nova has the capability to securely aggregate liquidity and native assets across Ethereum and its L2s by allowing users to deposit funds from connected networks. To achieve that, we apply a new settlement paradigm (i.e. zkLink Nexus) to be able to settle on multiple Ethereum Layer 2 rollup networks.
In the architecture of an aggregated ZK-Rollup, on-chain transactions such as deposit will be relayed to the rollup network in real-time to deliver the best user experience. However, the hard finality of every transaction is achieved by multi-chain settlement, which depends on the result of ZKP verification and multi-chain state synchronization.
In order to optimize the on-chain verification cost, one Layer 2 network is designated as the primary chain, which is responsible for ZKP verification and checking on-chain transaction consistency. Currently, Linea is chosen to serve as the primary chain since it has the capability to execute zk-SNARKs proofs and has fast settlement finality on Ethereum Mainnet.
While the other chains will act as secondary chains that do not need to execute ZKP verification, through multi-chain state synchronization via canonical rollup bridges, it is equivalent to completing the verification on all chains.
The settlement process includes:
Commit: The sequencer submits the zk-proof and transaction batch to the verifier contract on the primary chain.
Prove verification: The zkLink contract checks the validity of the zk-proof.
Synchronization: The transaction sync hashes of secondary chains are forwarded to the primary chain via canonical rollup message bridges. The primary chain verifies if sync hashes are consistent with the on-chain transactions previously relayed by the sequencer. Upon the verification of ZKP and on-chain transaction consistency, transaction batch can be finalized and the batch root will be sent to secondary chains.
Execution: Upon successfully finalizing a batch of transactions and state change, each chain could proceed users' requests for fund withdrawals.