活动预告
imToken邀请到了zkSync创始人Alex和链闻研究总监潘致雄,明晚19:30和大家一起聊聊Layer2,扫描文末二维码参加活动。
以太坊的理想之一是普惠金融,但由于现在几乎所有的交易都在Layer1处理,导致网络严重拥堵,矿工费居高不下,不少用户因此被拦在门外。
所以社区希望借助Layer2降低矿工费,吸引更多用户参与进来。在《给区块链扩容难吗?从比特币到以太坊》中,我们介绍了Layer2中被以太坊创始人Vitalik看好的zkRollup方案。
从中长期来看,随着ZK-SNARK技术的改进,ZKRollup最终将在所有场景中胜出。-VitalikButerin
imToken2.9.0已经深度集成了zkSync方案,今天这篇文章我们就来具体介绍下zkSync的原理和架构,下文将把Layer1和Layer2简写为L1和L2。
zkSync概览
zkSync是基于ZKRollup架构的低成本扩容协议,主要通过零知识证明和数据可用性保障用户资产安全,该项目目前的产品路线图规划如下:
zkSync正处于第一阶段:支付场景,如其Slogan所述:
zkSync:secure,scalablecryptopaymentszkSync:安全可拓展的加密资产支付方案
工作原理
用户签署交易并提交给验证人;验证人将数千笔交易Rollup到一个区块中,并向主网的智能合约提交新状态的默克尔根和加密证明,证明新状态是基于旧状态的正确更新;除了证明以外,每笔交易的数据都会使用廉价的Calldata在主网发布,以便任何人在任何时刻都可以重建状态;证明和状态均由智能合约验证,从而验证区块中所有交易的有效性和区块数据的可用性。特点
支持ETH和ERC20转账,L2毫秒级确认,L110分钟内获得最终确认;主网级别的安全性,毋需依赖第三方;零成本创建账户;极低的交易手续费;支持任意代币作为手续费支付;15分钟以内将资金从L2提现到L1;支持多重签名;支持智能合约。优势
验证人不可能破坏状态和窃取资金;验证人即使停止工作,用户也可以借助数据可用性随时取回资金;用户不必时刻监控Layer2网络以防欺诈。?
zkSync架构
架构说明
主要架构分为链上和链下,也就是所谓的L1和L2;L1的核心为智能合约,主要负责存款、提款、交易验证;L2分为L1交互、L2状态维护、零知识证明系统。zkSync架构运作模式
存款当用户想要存款时,调用L1zkSync智能合约存储资金;Watcher监控L1存款交易,当交易发生时则会放入Mempool中;BlockProposer处理Mempool交易打包,并提交StateKeeper更新账本。转账当用户想要使用L2低成本快速转账时,调用zkSyncAPI提交转账交易;交易同样会按照流程流转至?Mempool>BlockProposer>StateKeeper;最终StateKeeper通知BlockCommiter收集生成零知识证明所需信息,调用PlonkProvingSystem生成零知识证明后,借助Sender将存款和转账等交易数据,以及将对应的零知识证明提交到L1的zkSync智能合约验证;等待L1交易确认后,Watcher会通知L2更新交易状态为最终确认。1-存款
L1用户从L1调用zkSync合约充值ETH/ERC20资产;用户可以设定充值地址和资产;非代币白名单内的资产,可能会出现合约Revert。L2等待主网10个区块确认后,zkSync会将资产入账;如果充值地址此前未创建,那么将会自动为该地址创建账户。?2-Signer
创建zkSync账户场景:L1存款或者L2转账都会自动创建账户;注:zkSync的创建账户类似EOS/Cosmos,账户会有唯一ID维护ETH地址、zkSyncSigner公钥、Nonce、Balance等关系。
???2.生成zkSyncSigner
场景:每次调用Transfer/Withdraw时派生Signer用于授权交易;步骤ETH钱包进行personalSign签名使用「personalSign签名」作为种子生成zkSyncSigner设置签名公钥场景:每次Transfer/Withdraw检查是否设置公钥,如果没有设置则提示用户生成zkSyncSigner完成签名公钥设置;步骤生成:调用PersonalSign生成zkSyncSigner检查:每次Transfer/Withdraw检查是否设置公钥,若有则进入步骤iv设置:调用zkSyncSDK-setSigningKey设置Signer公钥Next:继续Transfer/Withdraw说明:zkSyncSigner专用于L2交易签名,但收款地址依然采用以太坊地址,底层签名则是采用zkSyncSigner;用户除了首次设置公钥之外,其余场景均对Signer没有感知。3-转账
转账机制基本跟以太坊一样,以下罗列部分特点:
收款地址任意有效以太坊地址皆可转账但转给不存在的账户需要更多的手续费用于创建账户代币理论上支持任意ETH/ERC20但目前依赖代币白名单手续费支持任意代币支付手续费,比如Dai手续费计价:链上验证SNARK(~1.5kgas)交易状态(~0.4kgas)链下~0.001USD/笔交易状态Committed时间:秒级;L2交易发送成功的状态,交易区块虽然还没有获得L1最终确认,但不影响用户继续发起下一笔交易。Verified时间:~10分钟当交易区块SNARK证明被L1智能合约验证,L2交易即获得最终性。?4-提款
目前zkSync有3种提款至以太坊L1钱包的方式:
Withdraw类型:L2交易;时间:~10分钟/~4小时;场景:当你拥有账户的Signer密钥即可使用。ForcedExit类型:L2交易;时间:不确定;场景:当将资金转入智能合约/交易所等特殊地址,为了解决无主账户的问题,zkSync提供一份人工表单登记处理,帮助用户提现资产。FullExit类型:L1交易;时间:1周;场景:当遭遇zkSync网络不可信,验证人不作为等情况,用户可以选择向L1智能合约提交退出证明,将资金提款至L1。如何体验zkSync呢?
imToken2.9.0已经深度集成了zkSync,如果你想上手体验zkSync的完整流程,可以点击视频?查看。
-活动报名-
明晚19:30,我们邀请到zkSync创始人Alex和链闻研究总监潘致雄,和大家聊聊Layer2能否解决以太坊拥堵问题?zkSync是Layer2腾飞的引爆点吗?zkSync会如何考虑NativeToken机制和发放计划?扫描海报二维码即可报名参加活动。
?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。