All about zkLink, a Multi-chain Integration DEX Based on ZK-Rollup
zkLink is a multi-chain integration DEX based on ZK-Rollup. Their community is devoted to build a decentralized and comprehensive platform for financial scenarios. The platform adopts zero-knowledge technology and the DAO governance model to ensure the security and consistency of multi-chain asset interoperability, creating multi-chain DeFi scenarios such as trading, loaning, and revenue aggregating with a secure, eﬀicient and low-cost user experience.
zkLink connects separate Layer1 networks with a single Layer2 network so that tokens belonging to different ecosystems can be directly swapped with each other on this layer2, without an intermediate token. Users can swap their multi-chain assets simply with one click and will see the pairs that have never been seen before, such as CAKE-SUSHI, BNB-HT, USDT(ERC20)-USDT(BEP20), BUSD-HUSD, WBTC-BTCB, etc.
In the future, zkLink will support innovative DeFi scenarios such as cross-chain farming and the financialization of NFT, aiming to build a free market where assets in different formats can interact with each other and potentially capture higher values for holders.
To maximize product performance and optimize user experience, zkLink adopts zero-knowledge technology. Apart from unimpeded traffic and real-time transaction on Layer2, users can expect a negligible gas fee largely shared since hundreds of transactions are batched and compressed into one pack. Moreover, zkLink will refer to Uniswap V3 on concentrated liquidity so that capital eﬀiciency could be increased by about 4,000 times in the following version.
Above all, security of assets is zkLink’s cornerstone. zkLink’s layer2 could achieve the same security level as Ethereum Layer1. The Layer2 network will generate zero-knowledge proofs of the off-chain state on a regular basis and upload them to respective Layer1 contracts for verification. In this way, the security of assets and transactions is guaranteed by mathematics rather than game theory and economic models, meaning that nobody, including the platform itself, is able to jeopardize the security of assets, and users are able to withdraw tokens losslessly under extreme cases.
zkLink v1 will support Ethereum, Binance Smart Chain, Huobi ECO Chain (HECO), and in the foreseeable future, will also be connected with other smart chains such as Solana, Polygon, Fantom, etc.
Designed to provide users with various scenarios of multi-chain assets, with user experience as friendly as CEX, zkLink is committed to creating a more convenient and secure trading environment and facilitating an unobstructed DeFi world.
zkLink token (ZKL)
ZKL is the governance token of zkLink, which is standardized with ERC20. The future development of zkLink will be voted on by DAO. There are three major scenarios for ZKL tokens: staking node, proposal initiation, and voting.
zkLink system consists of 4 parts: Multi-Chain Rollup Contract, ZK Prove System, Layer2 Data System, Layer2 Service System.
Multi-Chain Rollup Contract: A series of rollup contracts are deployed on different L1s, fulfilling the role of regulating capital flow, verifying and storing the updated status of L2 data. The verification of zero-knowledge proofs is also completed in the rollup contracts.
ZK Prove System: zkLink uses the Plonk algorithm to generate proofs. The system is tasked with sorting transaction data on different L1s, and regularly generating zero-knowledge proofs, giving feedback to the Layer2 Service System.
Layer2 Data System: It consists of Off-Chain Database, Block Explorer, and Data Recovery Procedure. The Off-Chain Database stores all historical transaction data on L2; the Block Explorer reads and presents it; and the Data Recovery Procedure can quickly recover the entire off-chain database from the fullnode of Layer1 in case of off-chain data loss.
Layer2 Service System: It consists of Web Service, State Manage, Memory Pool and Layer1 Monitor. The Layer2 transactions are stored in the Memory Pool and the Data System via the Web Service. After a period of time, the transactions in the Memory Pool will be batched into a new Layer2 Block and the State Tree will be updated. ZK Prove System will generate the corresponding zero-knowledge proofs and release them to the corresponding Layer1 Monitor to be published in the on-chain rollup contracts.
Unlike the deposit operation, it allows users to designate the target address, which is necessary in multi-chain interactions.
Users initiate a withdrawal on Layer2, and submit signed transactions to the validator. The state modification will be triggered (as shown in the figure below) and the root nodes of the State Tree will be updated. After ZK Prove System generates the zero-knowledge proofs, Layer1 Monitor will upload the old and new state root as well as the zero-knowledge proofs to Rollup contract. The Layer1 contract will verify that a deposit actually happens and that the zero knowledge proofs are valid.
Unlike the withdrawal operation, designated withdrawal allows users to designate the target address during the operation, which is necessary in multi-chain interactions.
A transfer only happens on Layer2, and its subject can be either ERC20 or ERC721 tokens. Once a signed transaction is sent to the validator, who will then update the account state on Layer2 and the root nodes of the state tree. After ZK Prove System generates the zero-knowledge proofs, the latter will be passed to Layer1 Rollup contract for verification.
Adding liquidity is initiated by users on Layer2. zkLink v1 protocol refers to Uniswap V2 when adding liquidity. So, the users’ remittance when contributing tokenA and tokenB will depend on their ratio in the liquidity pool. zkLink v1.1 protocol refers to Uniswap V3 so that users can determine the upper and lower limits of their customized price range; the corresponding position token is generated to represent this price range.
Removing liquidity is the opposite of adding liquidity. The biggest difference between v1.1 and v1.0 is how commission fees are collected. v1.1 credits the commission fees to the LP’s account at each transaction; while in v1.0, commission fees are reflected as tokens in the liquidity pool and can only be retrieved when liquidity is removed.
Market Order Transactions
Market order transactions are initiated by users on Layer2, and are limited to ERC20 tokens for the time being. When a signed transaction is sent to the validator, it will update the account state on Layer2 and the root nodes of the state tree. After ZK Prove System generates zero-knowledge proofs, they will be passed to Layer1 Rollup contract for verification.
Limit Order Transactions
zkLink v1.1 protocol refers to Uniswap V3 in adding liquidity, making it possible to simulate limit order transactions. Users can simulate the limit order by providing liquidity in a very narrow price band. When the price hits the boundary of the price range set by the user, it is equivalent to completing a limit order transaction.
The technical models for “adding/removing liquidity for cross-chain assets” and “direct trading of cross-chain assets” will be disclosed at a future date.
To know more about zkLink