深入了解zkSync 2.0架构、核心基础设施
原文标题:《 zkSync 2.0:你好以太坊! 》
原文作者:水多多|zkSync
我可以把你比作夏日吗?
你的可扩展性和安全性更高。
狂风确实震撼了五月亲爱的心灵,
夏天的租约日期太短了。
——中本聪莎士比亚,2021
介绍
面对最大的技术挑战,我们开始在与 EVM 兼容的环境中部署智能合约。测试网的第一个版本已经上线:您已经可以使用区块浏览器查看 zkSync 2.0 上的活动。在这篇文章中,我们将深入解释每个关键组件、提供进度更新以及下一个版本的计划。
主要成就
在密码学方面,zk EVM 的指令集已经完成,两种实现都完成了:在电路中和在执行环境中。
在编译器方面,用 Solidity 和 Zinc 编写的智能合约现在可以编译成 zkEVM 字节码。
在核心基础设施方面,全节点集成已完成,能够成功部署和执行已编译的智能合约。
虽然 zk EVM 和核心 2.0 基础设施已准备好公开,但编译器需要做更多工作才能正确覆盖所有边缘情况。为了提供更全面的开发者体验,我们决定在编译器 100% 可靠后立即开放对 zkEVM、编译器和核心 SDK 的访问。
zkSync 2.0 与以太坊的比较
大多数东西看起来和感觉都是一样的。以下是一些重要的区别:
Solidity 智能合约
支持以太坊中的大多数操作码!但是,也有一些例外:
此版本不支持 ADDMOD、SMOD、MULMOD、EXP 和 CREATE2 操作码,但将来会支持。
我们暂时不支持 KECCAK256 操作码,而是自动将其所有调用替换为调用另一个抗冲突哈希函数。KECCAK256 稍后将作为预编译器引入。
我们决定不包含 SELFDESTRUCT 操作码,因为以太坊计划将其删除。
我们可能会删除对完整 256 位 XOR/AND/OR 操作码的支持,因为这些操作码仅存在于已编译的用于位掩码的可靠代码中。这可以由编译器使用其他操作码来完成。
gas
在 zkSync 2.0 中,有一个不同的 gas 概念。交易价格将根据当前的 L1 gas 价格(由于发布调用数据)和 ZKP 生成成本而波动。智能合约调用将具有最大数量的 zk EVM 步骤和存储写入参数。
Web3 API
下一个版本将包括我们的 Web3 API 实现,它将与以太坊文档定义的 Web3 标准兼容。事件将开箱即用,所有服务都可以轻松集成。
zkSync 包括 L1 没有的功能,例如提交和最终块的概念。因此,将会有额外的方法让开发人员更精确地控制数据。Web3 客户端代码将接收与您在以太坊上相同的数据,但可以使用「zksync_」命名空间请求专门的信息。
因为 zkSync 有多种交易类型,并且使用 EIP712 签名,所以 `eth_sendRawTransaction` 数据的格式会与 L1 不同。但是,编码对应于以太坊 ABI,所以支持它并不困难。
签署交易
zkSync 2.0 中的交易可以通过 2 种方式授权(除了优先队列机制):
用户可以通过签署 EIP712 消息,使用他们的普通以太坊钱包(例如 Metamask 或任何 WalletConnect 钱包)签署交易。
任何帐户都可以设置一个公钥来创建我们的内部 Schnorr 签名来签署交易。这允许基于智能合约的钱包与 zkSync 2.0 进行交互,而无需发送 L1 消息的额外费用。
存储效率提升
每个块仅应用一次存储槽覆盖。这意味着如果多个用户与单个 AMM 合约交互,则 AMM 合约的存储槽将仅被覆盖一次。这允许定序器在以后向用户退还单次写入的共享成本。
预编译
「预编译」机制已计划好,但稍后会发布。我们计划首先支持 keccak256、sha256 哈希和 ECDSA 恢复原语。可以根据需求和复杂性考虑包含其他预编译,例如 Blake2f 轮函数(在当前形式的以太坊中几乎无法使用)。
进一步的限制
zkSync 2.0 的第一次迭代可能会对每笔交易施加 32 次智能合约调用的额外限制,直到实施适当的记账机制为止。
执行跟踪将有一个硬限制,但它将与以太坊块大小的当前限制相当,并且不应影响大多数协议。
可能会有更多限制,但我们的目标是在最终版本中将它们减少到绝对最低限度。
深入了解 zkSync 2.0 架构
你可能听说过区块链三难困境,但在扩展以太坊时,还有第四个因素:可编程性。当前所有的扩展解决方案都存在于牺牲一些安全性、分散性和可编程性以实现可扩展性的范围内。zkSync 2.0 的设计结合了以下 2 项技术突破,最大限度地发挥了所有 4 项功能:
zk EVM:为我们与 EVM 兼容的 zkRollup 提供动力的引擎,这是唯一支持 L1 安全性和可靠智能合约的解决方案。
zkPorter:一个链下数据可用性系统,可扩展性比 rollups 高 2 个数量级。
由于 zkEVM 和 zkPorter 是可互操作和可组合的,zkSync 2.0 能够显着优于所有其他扩展解决方案。
目前的共识是Eth2 数据分片将在 2022 年底到来,以在不牺牲去中心化的情况下提供指数级更大的数据可用性层。zkSync 的 zkRollup 技术与 Eth2 数据分片相结合是最终目标,在不牺牲任何 4 个因素的情况下达到 100,000+ TPS。
状态树
zkSync 2.0 状态树覆盖了以太坊的全部 160 位地址空间。每个帐户将驻留在状态的 zkRollup 部分或 zkPorter 部分。zkRollup 和 zkPorter 账户完全一样,除了一个组件:保证数据可用性。zkRollup 交易数据通过 calldata 发布到以太坊,zkPorter 交易数据发布到 zkSync Guardian 网络,zkSync Token持有者参与权益证明。
发布数据的地方是成本和安全性之间的权衡。zkPorter 交易比汇总交易便宜得多,但它有可能冻结您的资金。然而,zkRollup 和 zkPorter 账户的有效性都是通过零知识证明和以太坊来保证的。也就是说,zkPorter 中的资金只能被冻结,不能被盗。
zkRollup 和 zkPorter 账户的互操作性和可组合性让每个用户都有机会成为 zkSync 中的一等公民。部署在 zkRollup 端的 Uniswap 可以通过 zkPorter 账户访问以换取最低费用。zkSync 2.0 是一个系统,专为整个金融领域的用户而设计。
密码学
我们的 VM,通常称为 zkEVM,不是 EVM 1:1 副本,而是旨在能够运行 99% 的用 Solidity 编写的合约并保持其相同的行为,例如在恢复和异常期间。同时,编写 zk EVM 以在电路中高效地产生零知识证明。
这是在我们的证明系统没有任何重大变化的情况下完成的;我们继续将 PLONK 与自定义门和查找表(通常称为 UltraPLONK)和以太坊的 BN-254 曲线一起使用。这是有利的,因为自 2020 年 6 月以来,该证明系统已在 zkSync 1.0 以及使用相同证明系统的其他项目中进行了实战测试。
经过数月的努力,我们再次激动地宣布:zkEVM 的指令集已经完成并在电路和执行环境中实现。
这里有一个重要的区别:电路和执行环境中的实现是分开的,用于不同的目的。生成执行跟踪的证明并提供见证是电路的工作,但这非常慢。另一方面,执行环境是 rust 中 zk EVM 的直接实现,高效且快速。如果我们要依靠电路来生成和执行证明,那么交易的最终确定性将需要数小时。证明生成和简单执行的分离使得 zkSync 上的交易能够即时结算。
接下来,我们专注于将 zkEVM 和编译器结合在一起,并将递归结合在一起:块之间的递归,它允许我们为 N 个块发布一个证明,块内的递归,它聚合块的不同逻辑部分的子证明. 这是简单的部分!自 2020 年 6 月以来,zkSync 1.0 的主网上已经使用了块之间的递归聚合证明。有关块内递归以及我们的 zk EVM 如何工作的更多信息,请观看此视频说明。
编译器
我们正在同时开发两个针对 zkEVM 的编译器前端:Yul 和 Zinc。Yul是一种中间 Solidity 表示,可以编译为不同后端的字节码。Zinc是我们用于智能合约和通用零知识证明电路的基于 Rust 的语言。
因为编译器是使用LLVM框架构建的,所以可以认为它具有前端 Yul LLVM IR 和后端 LLVM IR zkEVM 字节码。采用 LLVM 带来了几个主要优势:
1、LLVM 优化框架无与伦比:它从 LLVM IR 生成最高效的 zkEVM 字节码。
2、使用较新版本的 Solidity 或 Zinc,编译器前端将处理所有更改,而 LLVM 将使我们脱离对编译器后端的更改。
3、将来,如果开发人员想用原生 Rust 或 Javascript 编写智能合约,只需构建该语言的编译器前端,智能合约就可以在 zkSync 中开箱即用。
编译器的安全性对我们来说至关重要,并且已经通过了多套测试:
1、Zinc 和 Yul 编译器中的词法、语法和语义测试。
2、我们对 Zinc 和 Solidity 的集成测试贯穿整个智能合约生命周期:从解析源代码到合约部署和在 zkSync 上执行交易。
3、从 Solidity 存储库集成的广泛测试套件,并适用于我们的集成测试工具。
每个套件已经包含数千个测试,我们将把这个数字至少增加一个数量级。
我们的 2 个编译器已经成功部署并执行了两种语言的简单智能合约。但是还有更多的优化需要完成,一些复杂的 LLVM IR 语句需要翻译成 zkEVM 字节码。因此,我们决定在编译器处于更强大的状态之前不发布它。
编译器完成后,我们将专注于让Zinc更具表现力和功能丰富,然后构建 Rust 编译器前端以允许使用原生 Rust 编写智能合约。
核心基础设施
zkSync 2.0 核心由几个关键角色组成:
全节点
通过虚拟机实现 zkEVM 字节码的预电路执行器环境
状态在交易发送后几秒钟内可用
过滤掉可能使区块膨胀的明显不正确的交易(例如,交易资金不足)
在内存池中执行交易并生成块
证明者
接收区块的见证人并生成零知识证明
用于并行证明生成的证明者接口
自定义证明者自动缩放器,可按需创建和终止证明者机器
交互者
用于观看和与以太坊 L1 交互的工具,
根据 Token 价格、ZKP 生成成本和 L1 gas 价格计算交易费用
偏执狂监视器
Prometheus、elastic、sentry、uptime、几个独立的事件通知系统和自定义健康检查服务。
这个核心基础设施功能齐全,已经集成了 zkEVM 执行器!
让我们谈谈
编译器完成后,我们将一起共享对所有组件的访问权限!开发人员将能够部署 Solidity/Zinc 智能合约并通过 Web3 API 进行交互。
独家:比特币耶稣 Roger 被清算与交易所 CoinFLEX 停止提币内幕吴说作者|吴卓铖本期编辑|ColinWu2022年6月24日,交易所CoinFLEX宣布暂停提款,随后平台TokenFLEX的价格暴跌,在四小时内从4.3美元跌至不到1.5美元。与此同时,平台稳定币FlexUSD也开始脱锚,价格最低跌至0.23美元。...
“相信真主 也得拴牢骆驼”:借贷的第一性原理本篇内容是根据AMA10中对NFT借贷的讨论衍生出来的一篇小总结。CamelbyElleSun(2020) 一位虔诚的信徒来听先知讲道。他全情投入,牢记先知的每一句道,直到众信徒都散去,才最后一个离开。马上又跑了回来,气急败坏地...
NFTFi 深度解析—从当前市场,看未来 NFTFi 的发展</h1>此篇文章由CoboVentures团队供稿,作者包含该团队成员AlexZuo,EllaineXu,WalonLin,CarolineLi,YuweiHou.CoboVentures是Cobo的行业研究和战略投资部门,专注于Web3.0的基建、公链、跨链、扩容等底层赛道,同时对...
Celsius 前雇员揭秘:吸储118亿加密巨头破产原因作者|EricaCarnevalli&MargaretFleming编辑|GaryMa吴说区块链概要根据前雇员和CNBC审查的内部文件,Celsius在导致其最近的流动性问题的几年里有一系列的内部失误。接受CNBC采访的员工描绘了一幅冒险、无序和涉嫌操纵...
SocialFi 深度解析—从当前市场,看未来SocialFi的发展此篇文章由CoboVentures团队供稿,作者包含该团队成员AlexZuo,EllaineXu,YiliuLin,HettieJiang,WalonLin,CarolineLi,YuweiHou.CoboVentures是Cobo的行业研究和战略投资部门,专注于Web3.0的基建、公链、跨链、扩容等...
金色观察|CryptoPragmatist:5个需关注的加密叙事熊市里,一切都很缓慢。以前的各种日常叙事转变为关于宏观经济学的讨论、V神的那些“有趣”照片,以及普遍的不安感。然而,这一切的背后,是希望。对美联储政策或方向转向的希望,对经济复苏的希望,对触底的希望,...
V神女孩:Meme图片传播背后的浅浅思考一、meme事件起因这几天如果是冲浪和吃瓜第一线的朋友,应该都会看到一张V神和一个女生的合影被广泛传播,作为照片中的女生本人,本来是很普通的一个合照留念,没想到被传播到微信群然后传播到推特以后变成了一个全...
幻核关停 哪些企业可能落地NFT交易平台建设?作者:Linda郑郑近日,有消息传腾讯正计划在本周裁撤旗下的数字藏品平台“幻核”。这一消息立马引起了不少猜测,是内部经营不力还是提前嗅到了政策风声?成立尚不满一年的数字藏品平台业务腾讯为何突然关闭?要知道...
比特币:真正的底部可能正在形成一个多月来,比特币价格一直低于实际价格,许多迹象表明比特币已经在低位经历了彻底的抛售。因此,比特币已经完成了真正意义上的筑底。本周,比特币市场迎来了上行的短暂机会,从18,999美元反弹到盘整区间的上限21,5...
以太坊 POW 分叉争议全景图领糖果方法1.链上领糖果</h3>在分叉前:1.把你交易所、DeFi协议里存的ETH都提到以太坊主网2.把在其它链上的ETH,跨回到以太坊主网3.升级玩法:把可用作抵押物的资产(BTC,stETH,稳定币,atom,dot等),在分叉前存入DeF...
近期最火热的 NFT:goblintown.wtf 市值达 1.5 亿美金,地板价达 7.9ETH
OpenSea数据显示,近24小时,goblintown.wtf交易量超过4800ETH,位列站内第一,地板价已达7.9ETH,是近期最...
巴哈马银行 Capital Union 表示持有 Tether(USDT)稳定币发行商的部分准备金
巴哈马银行CapitalUnion表示持有Tether(USDT)稳定币发行商的部分准备金,并已经向其专业客户推出了加密货...
BLOCKv 和 Tether 联创 Reeve Collins:Terra 的崩溃给加密货币市场带来了冲击波,可能带来大多数算法稳定币的终结
据CNBC报道,BLOCKv和Tether联创ReeveCollins表示,“像terraUSD这样的算法稳定币不太可能存活,它的崩溃给...
Web3收入情况概览:Ethereum成最强收入机器
TLDR;结论:(1)总收入:Web3商业模式已经大有发展,其中最强大的仍然是“出售区块空间”,其次是NFT交易...