zkLink是一个基于zkRollup的多链聚合的layer2协议。当前测试网实现了跨链AMM,Order Book还在开发。
image.pngThere are generally three stages in a classic ZK-Rollup solution (referring to the implementation of Matter Labs): commit(提交), prove(证明), and execute(执行).
zkLink 在ZK-Rollup方案中,增加了 第3步 Consensus.
引入了oracle 网络,来交换并且确保每条链的 final_root 一致性。
只有当一致性确定后,才会进行第4步 execute。
Multi-Chain AMM例子
image.png用户将ETH上的UNI (amount0)通过zkLink AMM,交易变成 BSC上的CAKE (amount1)。
- 用户发起交易后,layer2的ETH/BSC上的状态树,分别完成balance状态的变化,并生成proof1 和proof2。
- layer2 执行一次递归证明, 参数(proof1/proof2, amount0,amount1, r0,r1), 满足
(r0 + amount0)*(r1 - amount1) == r0 * r1,
并计算出新的状态根, final_root = hash(root1, root2) - 由此,两条链有了一个公共的 final_root
多链状态一致性(Oracle 网络)
The two major concerns during cross-chain data transmission are:
- Verification of cross-chain transactions;
- Judgment on the consistency of the data on the target and destination chains.
问题1 通过电路验证, 问题2 通过Oracle网络验证。
image.png合约中从Oracle网络(Chainlink/API3/BAND等) 获取目标链的final_root, 并和本地的root校验一致,即完成 第3步 Consensus。
zkLink分离权限
It limits the authority of both group (zkLink vs oracle network), only when the two parties conspire together can dirty transactions be possible.
测试网没有实现oracle
参考:
https://docs.zk.link/docs/Technology/Technology#a-use-case-of-multi-chain-zk-rollup-a-multi-chain-amm
https://blog.zk.link/zklink-101-2-security-8c3cf159657c
网友评论