链资讯 链资讯
Ctrl+D收藏链资讯

zkSync:zkSync 2.0:首个兼容EVM的zkRollup_KSY

作者:

时间:

我能否将你比作夏天?

你有着更强的可扩展性和安全性。

狂风摧残着五月新萌芽的意志,

夏天总是倏忽而逝。

——聪·莎士比亚,2021

介绍

解决了最大的技术挑战后,我们开始在兼容EVM的环境中部署智能合约。测试网的第一个版本已上线:你可以通过区块浏览器查看zkSync2.0上的活动。在本文中,我们将深入讲解每个关键的组件、提供进度更新和下个版本的计划。

zkSync2.0测试网浏览器:https://zksync2-alpha.zkscan.io/

主要成果

在密码学方面,zkEVM的指令集已经得到最终确定,而且在电路和执行环境中都已实现。

在编译器方面,无论是用Solidity还是Zinc编写的智能合约都可以被编译成zkEVM字节码。

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

虽然zkEVM和核心2.0基础设施已准备公开,但是我们还需要在编译器上下更多功夫,才能正确覆盖所有极端情况。为了提供更全方位的开发者体验,我们已经决定等编译器达到100%可靠时立即开放zkEVM、编译器和核心SDK的访问权限。

zkSync2.0vs以太坊

二者之间在外观和体验感上都差不多。以下是几个重要区别:

Solidity智能合约

zkSync2.0支持绝大多数以太坊操作码!但是也有一些例外:

数据:zkSyncEra网络上共发行超820万个NFT:金色财经报道,NFTScan数据显示,截至8月2日,zkSyncEra网络上共发行8,219,555个NFT,创建了39,805个NFT集合,产生了11,187,598笔链上交易,持有NFT资产的钱包地址为1,687,406个。[2023/8/2 16:14:27]

本次发布的版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作码,但是后续版本会支持。

我们暂时不支持KECCAK256操作码,所有对KECCAK256操作码的调用会被自动替换成另一个抗碰撞的哈希函数。之后,KECCAK256操作码将作为预编译引入。

我们已经决定不包括SELFDESTRUCT操作码,因为以太坊正在计划移除该操作码。

我们可能会对取消对完整的256位XOR/AND/OR操作码的支持,因为这些操作码仅存在于经过编译且用于位掩码的solidity代码。这可以由编译器使用其它操作码来完成。

Gas

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

Web3.0API

下一个版本将包括我们的Web3.0API实现,该实现将兼容以太坊文档所定义的Web3.0标准。事件将变成开箱即用的,所有服务都可以轻松集成。

zkSync包括Layer1没有的功能,例如已提交区块和已敲定区块的概念。因此,未来将会有其它方法可以让开发者更精确地控制数据。Web3.0客户端代码接收的数据与你在以太坊上接收的数据相同,但是要请求专门的信息可以使用?zksync_?命名空间。

zkSync桥接存储总价值突破18万枚ETH:11月20日消息,Dune数据显示,以太坊Layer2扩容解决方案zkSync跨链桥接存储总价值已突破18万枚ETH,目前为181,661 ETH(按照当前ETH价格计算约合2.2亿美元),参与桥接交易的用户量为466,026个。[2022/11/20 22:10:20]

由于zkSync有多种交易类型并使用EIP712签名,eth_sendRawTransaction?数据的格式与Layer1不同。但是,编码对应的是EthereumABI,因此要支持EthereumABI并不难。

签署交易

zkSync2.0支持两种交易授权方式:

用户可以通过签署EIP712消息,使用普通的以太坊钱包来签署交易。

任何账户都可以设置公钥来创建我们的内部Schnorr签名用以签署交易。这样一来,基于智能合约的钱包就可以与zkSync2.0进行交互,无需发送Layer1消息的额外成本。

存储效率提高

每个区块只应用一次存储槽覆写。也就是说,如果有多名用户与同一个AMM合约交互,这个AMM合约的存储槽只会被覆盖一次。因此,定序器之后会向用户退还平摊成本之后的结余。

预编译

“预编译”机制是已经计划好的,但是要等之后的版本发布。我们计划先支持keccak256、sha256哈希和ECDSA恢复原语。根据需求和复杂性,我们可能会考虑引入Blake2f轮函数等其它预编译。

ZKSwap即将开启第四期流动性挖矿:据官方消息,ZKSwap第三期流动性挖矿(PoL)& 交易挖矿(PoT)活动于北京时间5月10日18时正式结束,活动期间,共有超过5,000名用户参与,共同瓜分了价值约500万美金的ZKS奖励,平台TVL也稳定在6亿美金以上,稳居Layer2项目锁仓量第一。

与此同时,ZKSwap也已同步开启第四期流动性挖矿(PoL)& 交易挖矿(PoT)活动,持续时间为北京时间5月10日18时至5月24日18时,第四期活动保留了第三期活动的热门交易对,并额外增加了ZKS相关交易对的奖励。另外,还将开放SHIB/ZKS、AKITA/ZKS交易对流动性挖矿,以满足更多用户的需求。

值得一提的是,为将更多挖矿奖励给到平台上活跃的忠实用户,此次活动用户需登陆 ZKSwap 平台并激活地址,才能开始挖矿,奖励也需用户手动领取。[2021/5/10 21:44:47]

额外限制

zkSync2.0的第一个迭代版本可能会强制要求每笔交易的智能合约调用不得超过32次,直到实现一个适当的记账机制为止。

执行追踪将有一个硬性上限,但是会与当前以太坊区块大小上限相当,不会影响大多数协议。

可能还会有更多限制,但是我们的目标是在最终版本中将这些限制降至最低。

深入探究zkSync2.0架构

你或许听说过区块链的三难困境,但是实现以太坊的可扩展性还需要考虑第四个因素:可编程性。现有的可扩展性方案都要在一定程度范围内牺牲安全性、去中心化和可编程性来实现可扩展性。zkSync2.0的设计通过结合以下两种技术突破,将这四个特性同时发挥到了极致:

ZKSwap推进“Layer2 for all”的多链生态战略:近日,ZKSwap团队在BSC、HECO和OKChain的测试网上线了ZKSwap V1版本,并调试通过了所有核心功能。ZKSwap计划为更多的区块链基础设施提供基于零知识证明的Layer2扩展能力。

鉴于“高效—去中心化—安全性”的不可能三角难题,主流区块链基础设施在触达交易数量的门限值后,资源竞争的成本将传导至用户和应用提供者。为了各公链生态的应用繁荣,ZKSwap团队推进“Layer2 for all”的多链生态战略,致力于通过密码学、算法来实现去信任的公链扩容,降低用户和生态开发团队的费用成本。未来,ZKSwap将在更多领域推进Layer2扩展方案,成为安全、通用、开放的Layer2金融基础设施。

目前,ZKSwap团队已开放去中心化治理模块,与社区共享共创“Layer2 for all”的战略计划[2021/5/8 21:37:49]

zkEVM:作为我们兼容EVM的zkRollup的引擎,是唯一具备Layer1安全性且支持Solidity智能合约的解决方案。

zkPorter:可扩展性比rollup高出两个数量级的链下数据可得性系统。

由于zkEVM和zkPorter具有互操作性和可组合性,zkSync2.0显著优于其它可扩展方案。

目前的共识是,Eth2.0数据分片将在2022年底上线,在不牺牲去中心化的前提下提供大得多的数据可得性层。我们的终极目标是,将zkSync的zkRollup技术与Eth2.0数据分片结合起来,无需牺牲任何4个特性中的任何一个,即可达到10万+TPS。

ZKSwap发布社区治理方案及治理代币gZKS细则:官方消息显示,ZKSwap于今日正式发布了社区治理方案,本方案旨在满足社区治理需求,提高社区治理效率。公告主要说明了ZKSwap社区治理规则,包括gZKS 的分发机制和权益,以及用户参与社区治理的流程。其中,社区治理代币gZKS由360天期限的ZKS锁仓合约产生,用户参与锁仓可根据实际锁仓时间至多1:1的比例获取gZKS 代币。持有gZKS的用户,可参与社区治理,包括提案和投票。持有5万枚gZKS以上的用户可发起提案,参与投票不设门槛,单次投票至少1 gZKS。治理内容包括上币、空投、流动性挖矿、经济模型和技术路线调整等。具体内容请登录官网查看。[2021/4/22 20:48:36]

状态树

zkSync2.0状态树覆盖了以太坊的整个160位地址空间。每个账户都有存储在zkRollup部分或zkPorter部分的状态。zkRollup和zkPorter账户几乎完全相同,除了保证数据可得性的组件之外。zkRollup交易数据通过调用数据发布到以太坊上,zkPorter交易数据则发布到zkSync的守卫网络上。

数据发布在哪里反映的是成本和安全性之间的权衡。zkPorter交易比rollup交易便宜得多,但是你的资金有可能遭到冻结。不过,zkRollup和zkPorter账户的有效性都是通过零知识证明保证的。换言之,zkPorter里的资金只有可能被冻结,不会被盗。

zkRollup和zkPorter账户的互操作性和可组合性让每个用户都有机会成为zkSync中的一等公民。用户可以通过zkPorter账户访问部署在zkRollup上的Uniswap,从而享受最低交易费。zkSync2.0是一个系统,旨在让整个金融领域的用户都能参与。

密码学

我们的虚拟机并非以太坊虚拟机的复刻品,而是为了能够运行99%的Solidity合约并确保它们能正常工作而设计。与此同时,zkEVM可以用来高效地在电路中生成零知识证明。

我们并没有因此对证明系统进行任何重大改变;我们依然使用带有自定义门和查找表的PLONK和以太坊的BN-254曲线。这么做是有好处的,因为这个证明系统自2020年6月以来已经在zkSync1.0和其它项目中经过千锤百炼。

我们要再次宣布,经过数月以来的艰苦工作,zkEVM的指令集已经得到最终确定,而且在电路和执行环境中都已实现。

这里有一个重要区别:电路和执行环境中的实现是分开的,二者的用途不同。电路的作用是生成追踪执行的证明并提供见证消息,但是非常慢。相比之下,执行环境既快速又高效。如果我们将生成证明和执行都交由电路完成,实现交易的最终确定还需要好几个小时。只要我们将生成证明和执行分离,就可以在zkSync上实现即时交易结算。

接下来,我们的重点是将zkEVM和编译器结合在一起,并加入递归:区块间递归和区块内递归。要实现这点并不难!自2020年6月以来,zkSync1.0就已经采用了区块间递归聚合证明。如果你想要了解更多关于区块内递归和zkEVM工作原理的信息,请观看这个视频讲解。

编译器

我们正在同时开发两个针对zkEVM的编译器前端:Yul和Zinc。Yul?是可以针对不同后端编译成字节码的中间Solidity表示。Zinc?是我们基于Rust为智能合约和通用零知识证明电路开发的语言。

由于编译器是基于?LLVM?框架构建的,我们可以把它看作有一个前端Yul→LLVMIR和后端LLVMIR→zkEVM字节码。LLVM的应用带来了几个重要优势:

LLVM优化框架是无与伦比的:它从LLVMIR中生成最高效的zkEVM字节码。

通过使用较新版本的Solidity或Zinc,编译器前端将处理所有更改,LLVM使得我们无需更改编译器后端。

将来,如果开发者想要使用原生Rust或Javascript语言来编写智能合约,他们只需构建对应语言的编译器前端,以便在zkSync中实现智能合约的开箱即用。

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

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

我们自己的Zinc和Solidity?整合测试。这些测试贯穿整个智能合约生命周期:从解析源代码到合约部署和在zkSync上执行交易。

整合自Solidity库并根据我们的测试工具进行调整的多个测试套件。

每个套件都包含数千个测试,我们至少会将这个数字增加一个数量级。

我们的两个编译器已经成功部署并执行了使用Zinc和Solidity语言编写的简单智能合约。然而,我们还有更多优化需要完成,以及一些复杂的LLVMIR语句需要翻译成zkEVM字节码。因此,我们决定等到我们的编译器变得更健壮一点后再将它发布出来。

等到编译器完成后,我们将专注于增强?Zinc?的表达力和功能性,然后通过构建Rust编译器前端让开发者可以使用原生Rust编写智能合约。

核心基础设施

zkSync2.0核心的几个关键组成部分是:

全节点

通过虚拟机针对zkEVM字节码实现的预电路执行器环境

状态在交易发送后的几秒内触达

过滤掉可能会导致区块膨胀的明显不正确的交易

执行交易池中的交易并生成区块

证明器

收到区块的见证消息并生成零知识证明

提供用于并行证明生成的证明器界面

按需创建和终止证明器的自定义证明器自动扩缩器

交互器

用于查看并与以太坊Layer1交互的工具

基于代币价格、零知识证明生成成本和Layer1的gas价格计算交易费用

多维监控器

Prometheus、elastic、sentry、uptime等独立事件通知系统和自定义健康检查服务。

这个核心基础设施不仅功能完备,而且已经整合了zkEVM执行器!

联系我们

编译器完成后,我们将开放所有组件的访问权限!开发者将可以部署Solidity/Zinc智能合约,并通过Web3.0API进行交互。

欢迎关注我们的推特!并加入我们在?discord、telegram?和?gitter?上的讨论。

如果你有兴趣与我们一起构建首个兼容EVM的zkRollup,我们正在火热招聘中!

原文链接:

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

作者:?MatterLabs

翻译&校对:闵敏&?阿剑

标签:zkSyncSYNCKSYTERzksync币与zks币SynchroCoinzksync币imtokenStarterpool

Gate交易所热门资讯
WAR:支付宝依托蚂蚁链试水NFT_ZeLoop Eco Reward

“在时代的浪潮之巅,互联网巨头也不想错过这个机会。”6月23日零点,支付宝在“蚂蚁链粉丝粒”小程序上限量发售“敦煌飞天”“九色鹿”两款付款码NFT皮肤。这两款皮肤各限量8000份,迅速被抢光.

数字人:2.5层机构西安银行、海南银行先后加入数字人民币生态_TER

移动支付网讯:6月15日消息,为丰富数字人民币运营体系建设,不断提高数字人民币应用推广,交通银行总行与海南银行开展合作,共同探索数字人民币2.5层运营体系发展模式.

KSY:对DFINITY的去中心化身份、账户与钱包介绍 开发者能如何利用?_TER

原文标题:《对DFINITY的去中心化身份、账户与钱包介绍开发者能如何利用?》6月3号,ICPLeague联合社区开发者举办了第二期的开发者电话会,探讨了DFINITY的底层账户结构.

以太坊:波卡凭借什么样的架构 让所有区块链都能接入其中_Kusama

“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战.

以太坊:狂人说:MSCI看上加密市场啦 啥时候引爆市场?_Kusama

利空滚滚来,市场跌幅倒是越来越小了,37000这个位置是个非常关键的点位,如果多头守不住,可能会再次向30000下方进行考验,狂人仍然认为,从多个链上数据来看,市场不具备直接砸下去的基础.

以太坊:数据说话:现在是牛市还是熊市?_波场币在以太坊发布

自4月14日比特币价格冲上64840美元的历史高位之后,此后便掉头向下,目前价格跌至32000美元,跌幅超过50%。比特币的总市值也从1.18万亿美元跌至6100亿美元.