zkSync:zkSync 2.0:首个测试网版本上线

介绍

克服了最困难的技术挑战之后,我们进入了这项工作的冲刺阶段:在兼容EVM的环境中部署智能合约。zkSync推出zkSync2.0首个测试网版本:用户已经可以使用区块浏览器查看zkSync2.0的交易活动。在本文中,我们将深入解释每个关键组件,公布进度更新以及下一个版本的计划。

ZKSYNC2.0测试网浏览器:

https://zksync2-alpha.zkscan.io/

关键成就

在密码学方面,zkEVM的指令集已经确定下来,并且两种实现都已经完成:在电路中和在执行环境中。

在编译器方面,用Solidity和Zinc编写的智能合约现在可以编译到zkEVM字节码中。

在核心基础设施方面,全节点集成已完成,并且能够成功地部署和执行已编译的智能合约。

虽然zkEVM和2.0的核心基础设施已经准备好向公众公开,但是该版本的编译器还需要更多工作进行完善,以应对所有极端情况。为了提供更加全面的开发者体验,我们决定在该编译器100%可靠之后,将同时开放对zkEVM、编译器和核心SDK的访问。

比较zkSync2.0和以太坊

两者看起来大部分相同,以下几点是比较重要的区别:

智能合约

zkSync2.0支持以太坊上的大部分操作码。然而,有以下这些例外:

1.这次的测试网版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作码,但是未来的版本会支持。

金色算力云运营副总裁Maggie:降低Filecoin矿工准入门槛 专注云算力挖矿:IPFS100.com现场报道,8月3日,由IPFS100.com主办,CapitalN节点咨询承办,金色算力云联合主办,深圳市先河系统技术有限公司金牌赞助,逆熵科技银牌赞助,金色财经作为联合主办媒体的星际漫游指南·逐鹿中原·IPFS技术与应用研讨论坛在郑州举行。

金色算力云运营副总裁Maggie做了主题为《从投资角度看Filecoin挖矿》的演讲。Maggie表示,Filecoin主网还没有上线,目前可以通过3种方式进行Filecoin的投资,包括购买矿机、购买云算力、二级市场进行期货交易。作为Filecoin算力销售平台,金色算力云已与业内顶尖矿机厂商深度合作,实现一键购买,降低Filecoin的挖矿准入门槛。[2020/8/3]

2.我们将暂时不支持KECCAK256操作码,而是通过自动调用另一个抗碰撞的哈希函数来替代它的所有调用。KECCAK256之后将作为预编译引入。

3.我们决定不再包含SELFDESTRUCT操作码,因为以太坊正计划将其移除。

4.我们可以移除对完整256位XOR/AND/OR操作码的支持,因为这些操作码只存在于那些用于位屏蔽的已编译的solidity代码中。这可以由编译器使用其他操作码来完成。

Gas

在zkSync2.0中,有一个不同概念的gas。交易费价格将根据当前L1gas费和生成零知识证明(ZKP)的成本而波动。智能合约的调用将有一个最大的zkEVM步骤和存储写入参数。

double jump.tokyo旗下N Suite宣布加入zkSync生态:10月3日消息,日本加密游戏初创公司double jump.tokyo宣布与以太坊L2可扩展解决方案zkSync达成合作,旗下N Suite也将被纳入zkSync生态。N Suite总监Hirofumi Aoki称,使用zkSync将降低交易成本、提高交易速度并增强用户体验,N Suite的目标和潜在客户主要是NFT项目方,他们一直以来都在寻求可扩展网络来部署其项目,整合zkSync生态可以释放大量用例并加速业务拓展。[2022/10/3 18:38:09]

Web3API

下一个版本将包含我们Web3API实现,它将与以太坊文档所定义的Web3标准兼容。事件将开箱即用,并且所有服务都可以轻松整合。

zkSync包含L1没有的特性,比如已验证和已敲定区块的概念。因此,还会有其他方法让开发者更精确地控制数据。Web3客户端代码将接收与以太坊相同的数据,但可以通过zksync_名称空间请求特定的信息。

因为zkSync有多种交易类型,并且使用EIP712签名,所以eth_sendRawTransaction数据的格式与L1不同。然而,编码与以太坊ABI相对应,所以支持它并不困难。

对交易进行签名

zkSync2.0中的交易可以通过两种方式进行授权(除了优先级队列机制):

1.用户可以通过对一个EIP712信息签名,从而用他们普通的以太坊钱包(如Metamask或者任意的WalletConnect钱包)对交易进行签名。

ZKSwap 移动端流动性新功能上线:官方消息,北京时间2021年6月1日,二层交易协议 ZKSwap 移动端(iOS&安卓)最新版本已经正式上线,新增添加移除流动性等功能,并修复了诸多使用不便的问题。目前,ZKSwap 移动端已经实现了网页端的大部分功能,用户通过手机即可实现零gas费的 Layer2 实时操作。

ZKSwap 移动端 Beta 版本(iOS & 安卓)于 4 月中旬正式对全球社区公布,截止目前已经平稳运行了将近2个月的时间,移动端使用用户数量超千人,正式版预计将于6月下旬正式上线。[2021/6/1 23:01:45]

2.任何账户都可以设置一个公钥来创建我们的内部Schnorr签名来对交易进行签名。这允许基于智能合约的钱包与zkSync2.0进行交互,而无需额外的成本发送L1的信息。

存储效率提升

每个区块只能对存储槽覆写一次。这意味着,如果多个用户与单个AMM合约交互,那么该AMM合约的存储槽只会被覆写一次。这允许排序者稍后向用户退还单次写入的共享成本。

预编译

“预编译”机制是在计划中的,但将在稍后发布。我们计划首先支持keccak256、sha256哈希和ECDSA恢复原语。此外,我们会根据需求和复杂性考虑包含其他预编译,例如Blake2f轮函数(以当前形式在以太坊中几乎无法使用)。

进一步的限制

zkSync2.0的第一次迭代可能会增加一个额外的限制,即每笔交易只能调用32次智能合约,直到可以实现恰当的记账机制。

Gate.io将为ZKS持仓用户分发ZKS空投,空投比例为1:1:据Gate.io芝麻开门行情显示,截止今日10:10,ZKS 24H最高涨幅160.66%,当前涨幅112.78%,24H最高报价9.673美元,当前报价8.134美元,24H现货交易量达2285.35万美元。

Gate.io将于2月25日早上10点按照用户ZKS持仓余额快照为用户空投ZKS,空投比例为1:1,Gate.io平台用户无需任何操作即可领取空投,空投完成后可在账户资金中查看。由于本次空投数量很大,在为用户空投ZKS期间将暂停ZKS交易,并于2月25日中午12点重新开盘,请务必开盘前及时调整挂单价格。[2021/2/21 17:36:23]

执行跟踪将有硬限制,但它将与以太坊区块大小目前的限制相当,不应影响大多数。

可能会有更多的限制,但我们的目标是在最终版本中将这些限制尽可能减少到最低限度。

深入了解zkSync2.0的架构

你可能听说过“区块链的不可能三角”,但当谈到扩容以太坊时,还有第4个因素:可编程性。所有当前的扩容解决方案都牺牲了一些安全性、去中心化和可编程性来实现可扩展性。zkSync2.0的设计结合了下列两大技术突破,旨在最大化实现上面说到的四个特性:

1.zkEVM:为兼容EVM的zkRollup提供支持的引擎,这是同时提供L1安全性以及支持solidity智能合约的解决方案。

2.zkPorter:一个链下数据可用性系统,其可扩展性比rollups高出两个数量级。

BiKi将于1月6日15:30上线ZKS并开启流动性挖矿:据BiKi公告,平台将于1月6日15:30(GMT+8)上线ZKS,开放ZKS/USDT交易对,现已开放充值。

?ZKS上线同时将开放网格流动性挖矿,瓜分该币对50%手续费活动,用户通过网格宝开启ZKS/USDT网格交易,即可瓜分前一日ZKS币对50%手续费奖励池,一键开启网格+流动性挖矿双挖。

ZKSwap (ZK-Rollup based Swap)是一套全新的基于 Zkrollup 技术的兑换协议,通过 Zk-Rollups 技术把所有的 ERC20 token 转移到 Layer2 上,基于不断生成的零知识证明来保证 Layer1 和 Layer2 状态的一致性,从而让所有的兑换在 Layer2 上发生,可以做到零 Gas 费用的实时兑换(不再要等待一个区块确认时间),并且具备无限的拓展性,摆脱以太坊 TPS 和区块确认时间的限制,让 DEX 具备 CEX (中心化交易所) 般丝滑的体验,并同时实时掌控自己的资金安全。[2021/1/6 16:32:53]

由于zkEVM和zkPorter是可互操作以及可组合的,zkSync2.0显著优于所有其他扩容解决方案。

目前的共识是:Eth2数据分片将在2022年底上线,在不牺牲去中心化的前提下提供更大的数据可用层。结合了Eth2数据分片的zkRollup技术是zkSync的最终目标,在不牺牲4个因素中任意一个的前提下达到10万以上的TPS。

状态树

zkSync2.0状态树覆盖了以太坊全部的160位地址空间。每个帐户将存在于zkRollup部分或zkPorter部分的状态中。zkRollup和zkPorter帐户完全相同,除了一点不同:获取数据可用性的地方不同。zkRollup交易数据通过数据调用发布到以太坊主网中;而zkPorter的交易数据发布到zkSyncGuardian网络中,其中,zkSync代币持有者能够参与该网络的PoS机制。

选择在哪里发布数据,是在成本和安全性两者间做出权衡。zkPorter的交易费比rollup的交易费要便宜很多,但是用户的资金可能会被冻结。然而,zkRollup和zkPorter账户的有效性是由零知识证明和以太坊来提供保证的。换句话说,zkPorter中的资金只能被冻结,不能被窃取。

zkRollup和zkPorter帐户的互操作性和可组合性给了每个用户成为zkSync一流公民的机会。假设,Uniswap部署在zkRollup端,用户可以通过zkPorter账户访问,并以最低的手续费进行swap。zkSync2.0是一个专门为整个金融领域用户设计的系统。

密码学

我们的虚拟机,通常被称为zkEVM,它并不是完成1:1复刻EVM的。但是,zkEVM旨在能够运行99%用Solidity编写的合约,并且在遇到回滚和异常时也能维持同样的行为。同时,zkEVM能够有效率地在一个电路中生成零知识证明。

zkEVM的实现不需要我们对此前的证明系统做出重大的变动;我们继续使用带有自定义门和查询表的PLONK?(通常被称为UltraPLONK)和以太坊的BN-254曲线。这是有利的,因为这个证明系统已经过实战测试(自2020年6月以来,zkSync1.0和其他项目就开始使用这个证明系统)。

经过几个月的努力,zkEVM的指令集已完成,并在电路和执行环境中实现。

这里有一个重要的区别:电路和执行环境中的实现是分开的,用于不同的目的。电路的工作是生成执行跟踪的证明并提供证人,但这个过程十分缓慢。另一方面,执行环境是zkEVM在rust中的直接实现,效率高、速度快。如果我们在生成证明和执行的过程中都依赖于电路,那么敲定交易需要几个小时。而生成证明和简单执行的分离使得zkSync上的交易能够即时结算。

接下来,我们的工作将专注于将zkEVM和编译器结合在一起,并和递归结合在一起:区块之间的递归允许我们为N个区块发布一个证明;而区块内的递归聚合了区块不同逻辑部分的子证明。这是简单的部分!自2020年6月以来,zkSync1.0主网上已经使用了区块之间的递归聚合证明。更多关于区块内递归和我们的zkEVM如何工作的信息,请观看视频解释。

编译器

我们同时研究两种针对zkEVM的编译器前端:Yul和Zinc。Yul是一种Solidity的中间表示,可以为不同的后端编译成字节码。Zinc是我们基于rust的语言,用于智能合约和通用零知识证明电路。

因为编译器是使用LLVM框架构建的,所以可以认为它有一个前端、Yul→LLVMIR和后端、LLVMIR→zkEVM字节码。LLVM的采用带来了几个主要的优点:

1.LLVM优化框架是不匹配的:它从LLVMIR中生成最有效的zkEVM字节码。

2.有了新版的Solidity或Zinc,编译器前端将处理所有更改,而LLVM将使我们无需更改编译器后端。

3.在未来,如果开发者想基于原生的Rust或Javascript编写智能合约,只需为该语言构建编译器前端,智能合约就可以在zkSync中开箱即用。

编译器的安全性对我们来说是至关重要的,并且已经经过了多个套件的测试:

1.Zinc和Yul编译器中的词法、语法和语义测试。

2.我们自己针对Zinc和Solidity的集成测试,它贯穿整个智能合约生命周期:从解析源代码到合约部署,再到在zkSync上执行交易。

3.从Solidity存储库集成的广泛测试套件,适合我们的集成测试工具。

每个套件已经包含了几千个测试,我们将至少增加一个数量级。

我们的两编译器已经成功部署并用两种语言执行了简单的智能合约。但是仍然有更多的优化需要完成,一些复杂的LLVMIR语句需要转换为zkEVM字节码。因此,我们决定等到我们的编译器运行状态更强健再发布。

完成编译器的工作之后,我们将集中精力完善Zinc的功能,然后构建Rust编译器前端来允许使用原生Rust编写智能合约。

核心基础设施

zkSync2.0核心基础设施由几个关键部分组成:

全节点

1.利用虚拟机的zkEVM字节码的预电路执行器环境

2.状态在交易发送后的几秒内可用

3.过滤掉明显无效的交易(例如,没有足够的资金进行交易),这些交易可能会使区块膨胀

4.在内存池中执行交易并生成区块。

证明者

1.接收区块的见证者并生成零知识证明,

2.用于并行证明生成的证明者接口

3.自定义的证明者自动缩放器,可根据需要创建和终止证明者机器。

交互器

1.用来监测以及与以太坊L1交互的工具,

2.基于代币价格、ZKP生成成本以及L1gas费来计算交易费用。

Paranoid监视器

Prometheus、弹性、哨兵、正常运行时间,几个单独的事件通知系统以及自定义的安全运行检查服务。

zkSync2.0的核心基础设施功能齐全,已经集成了zkEVM执行器。

点击“阅读原文”获取文章内部链接!

原文链接:

https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179

来源|?MatterLabs

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:46ms0-3:420ms