zkSync 2.0:第一个兼容EVM的zkRollup_以太坊
zkSync 2.0:第一个兼容EVM的zkRollup
我能不能将你比成夏季?
你拥有更强的扩展性和安全系数。
疾风残害着五月新萌芽期的信念,
夏季一直倏忽而逝。
—— 聪· 沙士比亚,2021
解决了较大 的技术性挑戰后,大家逐渐在兼容 EVM 的自然环境中布署智能合约。测网的第一个版本已发布:你能根据区块电脑浏览器查询 zkSync 2.0 上的主题活动。在文中中,大家将深层次解读每一个重要的部件、给予进展升级和下一个版本的方案。
zkSync 2.0 测网电脑浏览器:https://zksync2-alpha.zkscan.io/
关键成效
在密码算法层面,zkEVM 的指令系统早已获得最后明确,并且在电源电路和实行自然环境上都已完成。
在编译器层面,不论是用 Solidity 或是 Zinc 撰写的智能合约都能够被编写出 zkEVM 字节码。
在关键基础设施建设层面,全连接点融合早已进行,可以取得成功布署并实行编译程序后的智能合约。
尽管 zkEVM 和关键 2.0 基础设施建设已提前准备公布,可是大家还必须在编译器左右大量时间,才可以恰当遮盖全部极端化状况。为了更好地给予更多方位的开发人员感受,大家早已决策等编译器做到 100% 靠谱时马上对外开放 zkEVM、编译器和关键 SDK 的访问限制。
二者之间在外型和体验感上面类似。下列是好多个关键差别:
Solidity 智能合约
zkSync 2.0 适用绝大部分以太币操作码!可是也是有一些除外:
此次公布的版本不兼容 ADDMOD、SMOD、MULMOD、EXP 和 CREATE2 操作码,可是事后版本会适用。
大家临时不兼容 KECCAK256 操作码,全部对 KECCAK256 操作码的启用会被全自动换成另一个抗撞击的哈希函数。以后,KECCAK256 操作码将做为预编译引进。
大家早已决策不包括 SELFDESTRUCT 操作码,由于以太币已经方案清除该操作码。
大家很有可能会对撤销对详细的 256 位 XOR/AND/OR 操作码的适用,由于这种操作码仅存有于历经编译程序且用以位掩码的 solidity 编码。这能够由编译器应用其他操作码来进行。
Gas
在 zkSync 2.0 中,有一个不一样的 gas 定义。交易成本将依据当今 Layer 1 gas 价钱(由于要将启用数据信息上链)和转化成零知识证明的成本费而起伏。智能合约启用的 zkEVM 流程和储存载入主要参数将有总数限制。
Web 3.0 API
下一个版本将包含大家的 Web 3.0 API 完成,该完成将兼容以太币文本文档所界定的 Web 3.0 规范。事情将变为拆箱既用的,全部服务项目都能够轻轻松松集成化。
zkSync 包含 Layer 1 沒有的作用,比如已提交区块和已谈妥区块的定义。因而,将来将会出现其他方式能够让开发人员更精准地控制参数。Web 3.0 手机客户端编码接受的数据信息与你在以太币上接受的数据信息同样,可是要要求专业的信息内容能够应用 zksync_ 类名。
因为 zkSync 有多种多样交易种类并应用 EIP712 签字,eth_sendRawTransaction 数据信息的文件格式与 Layer 1 不一样。可是,编号相匹配的是 Ethereum ABI,因而要适用 Ethereum ABI 并不会太难。
签定交易
(除开优先级队列体制以外)zkSync 2.0 适用二种交易受权方法:
客户能够根据签定 EIP 712 信息,应用一般的以太坊钱包(如 Metamask 或一切适用 WalletConnect 协议书的钱夹)来签定交易。
一切帐户都能够设定公匙来建立大家的內部 Schnorr 签字用于签定交易。这样一来,根据智能合约的钱夹就可以与 zkSync 2.0 开展互动,不用推送 Layer 1 信息的附加成本费。
储存高效率提升
每一个区块只运用一次储存槽覆写。换句话说,如果有多位客户与同一个 AMM 合同互动,这一 AMM 合同的储存槽总是被遮盖一次。因而,定序器以后会向客户退回分摊成本费以后的盈余。
预编译
“预编译” 体制是早已方案好的,可是要等以后的版本公布。大家方案先适用 keccak256、sha256 hach和 ECDSA 修复原语。依据要求和多元性,大家很有可能会考虑到引进 Blake2f 轮涵数等其他预编译(在当今方式的以太币中基本上不能用)。
附加限定
zkSync 2.0 的第一个迭代更新版本很有可能会强制性规定每单交易的智能合约启用不可超出 32 次,直至完成一个适度的记帐体制截止。
实行跟踪将有一个强制限制,可是会与当今以太币区块尺寸限制非常,不容易危害大部分协议书。
很有可能还会继续有大量限定,可是大家的总体目标是在最后版本里将这种限定降至最少。
你也许听闻过区块链的三难窘境,可是完成以太币的扩展性还必须考虑到第四个要素:可编程控制器性。目前的扩展性计划方案都需要在一定水平范畴内放弃安全系数、区块链技术和可编程控制器性来完成扩展性。zkSync 2.0 的设计方案根据融合下列二种技术性提升,将这四个特点与此同时充分发挥到完美:
zkEVM:做为大家兼容 EVM 的 zkRollup 的模块,是唯一具有 Layer 1 安全系数且适用 Solidity 智能合约的解决方法。
zkPorter:扩展性比 rollup 高于2个量级的链下数据信息可得性系统软件。
因为 zkEVM 和 zkPorter 具备互用和可组成性,zkSync 2.0 明显好于其他可拓展计划方案。
现阶段的的共识是,Eth 2.0 数据信息分块将在 2022 年末发布,在没有放弃区块链技术的前提条件下给予大很多的数据信息可得性层。大家的最终目标是,将 zkSync 的 zkRollup 技术性与 Eth 2.0 数据信息分块融合起來,不用放弃一切 4 个特点中的一切一个,就可以做到 10 万 TPS。
情况树
zkSync 2.0 情况树遮盖了以太币的全部 160 位详细地址室内空间。每一个帐户都是有储存在 zkRollup 一部分或 zkPorter 一部分的情况。zkRollup 和 zkPorter 帐户基本上完全一致,除开确保数据可得性的部件以外。zkRollup 交易数据信息根据启用数据信息公布到以太币上,zkPorter 交易数据信息则公布到 zkSync 的守护互联网上(在这个互联网中,zkSync 代币总持有人参加利益证实体制)。
数据信息公布在哪儿体现的是成本费和安全系数中间的衡量。zkPorter 交易比 rollup 交易划算得多,可是你的资产有可能遭受锁定。但是,zkRollup 和 zkPorter 帐户的实效性全是根据零知识证明确保的。换句话说,zkPorter 里的资产仅有很有可能被锁定,不容易失窃。
zkRollup 和 zkPorter 帐户的互用和可组成性让每一个客户都是有机遇变成 zkSync 中的一等中国公民。客户能够根据 zkPorter 帐户浏览布署在 zkRollup 上的 Uniswap,进而享有最少交易费。zkSync 2.0 是一个系统软件,致力于让全部金融业行业的客户都能参加。
密码算法
大家的vm虚拟机(常被称作 zkEVM)并不是以太币vm虚拟机的传奇品,只是为了更好地可以运作 99% 的 Solidity 合同并保证他们能(在回退和异常现象下)一切正常工作中而设计方案。此外,zkEVM 能够用于高效率地在电源电路中转化成零知识证明。
大家并沒有因而对证实系统软件开展一切重特大更改;大家仍然应用含有自定门和搜索表的 PLONK(一般 被称作 UltraPLONK)和以太币的 BN-254 曲线图。那么做是有益处的,由于这一证实系统软件自 2020 年 6 月至今早已在 zkSync 1.0 和其他新项目中历经百炼成钢。
我们要再度公布,历经数月至今的艰难工作中,zkEVM 的指令系统早已获得最后明确,并且在电源电路和实行自然环境上都已完成。
这儿有一个关键差别:电源电路和实行自然环境中的完成是分离的,二者的主要用途不一样。电源电路的功效是转化成跟踪实行的证实并给予印证信息,可是十分慢。比较之下,实行自然环境(用 rust 语言表达立即完成 zkEVM)既迅速又高效率。如果我们将转化成证实和实行都交给电源电路进行,完成交易的最后明确还必须很多钟头。只需大家将转化成证实和实行分离出来,就可以在 zkSync 上完成及时交易清算。
下面,大家的关键是将 zkEVM 和编译器融合在一起,并添加递归算法:区块间递归算法(每 N 个区块公布一个证实)和区块内递归算法(将一个区块的不一样逻辑性一部分的子证实聚合起来)。要完成这一点并不会太难!自 2020 年 6 月至今,zkSync 1.0 就早已选用了区块间递归算法汇聚证实。假如你要想掌握大量有关区块内递归算法和 zkEVM 原理的信息内容,请收看这一视频讲解。
编译器
大家已经与此同时开发设计2个对于 zkEVM 的编译器前面:Yul 和 Zinc。Yul 是能够对于不一样后面编写出字节码的正中间 Solidity 表明。Zinc 是大家根据 Rust 为智能合约和通用性零知识证明电源电路开发设计的语言表达。
因为编译器是根据 LLVM 架构搭建的,我们可以把它当作有一个前面 Yul → LLVM IR 和后面 LLVM IR → zkEVM 字节码。LLVM 的运用产生了好多个关键优点:
LLVM 提升架构是无以伦比的:它从 LLVM IR 中转化成最高效率的 zkEVM 字节码。
根据应用较新版本的 Solidity 或 Zinc,编译器前面将解决全部变更,LLVM 促使大家不用变更编译器后面。
未来,假如开发人员要想应用原生态 Rust 或 Javascript 语言表达来撰写智能合约,她们只需搭建相匹配语言表达的编译器前面,便于在 zkSync 中完成智能合约的拆箱即用。
编译器的安全系数对大家而言尤为重要,并且早已过好几个检测模块的检测:
Zinc 和 Yul 编译器的句法、英语的语法和词义检测。
我们自己的 Zinc 和 Solidity 融合检测。这种检测围绕全部智能合约生命期:从分析源码到合同布署与在 zkSync 上实行交易。
融合自 Solidity 库并依据大家的检测工具开展调节的好几个检测模块。
每一个模块都包括数千个检测,大家最少会将这一数据提升一个量级。
大家的2个编译器早已取得成功布署并实行了应用 Zinc 和 Solidity 语言表达撰写的简易智能合约。殊不知,大家也有大量提升必须进行,及其一些繁杂的 LLVM IR 句子必须译成 zkEVM 字节码。因而,我们决定直到大家的编译器越来越更健硕一点后再将它公布出去。
直到编译器进行后,大家将致力于提高 Zinc 的表达力和多功能性,随后根据搭建 Rust 编译器前面让开发人员能够应用原生态 Rust 撰写智能合约。
关键基础设施建设
zkSync 2.0 关键的好多个重要构成部分是:
全连接点
根据vm虚拟机对于 zkEVM 字节码完成的预电源电路电动执行机构自然环境
情况在交易推送后的几秒钟内精准推送
过虑掉很有可能会造成区块澎涨的显著有误的交易(如交易资金短缺的交易)
实行交易池中的交易并转化成区块
证实器
接到区块的印证信息并转化成零知识证明
给予用以并行处理证实转化成的证实器页面
按需建立和停止证实器的自定证实器全自动扩缩器
互动器
用以查询并与以太币 Layer 1 互动的专用工具
根据代币总价钱、零知识证明转化成成本费和 Layer 1 的 gas 价钱测算交易花费
多维监控
Prometheus、elastic、sentry、uptime 等独立事件通告系统软件和自定健康体检服务项目。
这一关键基础设施建设不但作用完善,并且早已融合了 zkEVM 电动执行机构!
c语言编译器进行后,大家将对外开放全部部件的访问限制!开发人员将能够布署 Solidity/Zinc 智能合约,并根据 Web 3.0 API 开展互动。
热烈欢迎关心大家的twiter!并加入我们在 discord、telegram 和 gitter 上的探讨。
假如您有兴趣爱好与我们一起搭建第一个兼容 EVM 的 zkRollup,大家已经火热招骋中!
原文连接:
https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179
作者: Matter Labs
汉语
标签:
区块链热门资讯
Eleven Finance遭闪电贷攻击 损害总共450万美金 6月23日,火币网智能化链(BSC)和Polygon (MATIC) 上的盈利汇聚器Eleven.finance,因遭受网络黑客攻击损害了450万美金。 有些人担忧,此次遭受攻击的是经营规模更高的Nerve Finance,但具体是Eleven Finance的NRV金库。
2021/6/24 18:42:02cBKB袭来 BitKeep陪你快乐一夏 BitKeep宣布发布cBKB,并发布cBKB小区鼓励系列活动于6月23日全方位打开,cBKB中后期兑换成BKB应用。 有关BKB, BKB是BitKeep生态的生态动态口令,拥有BKB将具有生态整治利益,也是生态支付手段和会员特权的身份证件。
2021/6/24 18:41:04NewB.farm收益农场与CoinHub空投物资活动 有完全免费又高品质的空投物资领到吗?回答是有的!NewB.farm收益农场与区块链技术数字货币管理方法综合服务平台Coinhub联合办学全员空投物资活动,只需你下载Coinhub APP并导进或建立火币网智能化链钱包详细地址(老用户还可以参与),就可以参与全员空投物资活动。
2021/6/24 18:24:46