区块见闻 区块见闻
Ctrl+D收藏区块见闻

深入了解zkSync 2.0架构、核心基础设施

作者:

时间:

原文作者:水多多|zkSync

我可以把你比作夏日吗?

你的可扩展性和安全性更高。

狂风确实震撼了五月亲爱的心灵,

夏天的租约日期太短了。

——中本聪莎士比亚,2021

面对最大的技术挑战,我们开始在与 EVM 兼容的环境中部署智能合约。测试网的第一个版本已经上线:您已经可以使用区块浏览器查看 zkSync 2.0 上的活动。在这篇文章中,我们将深入解释每个关键组件、提供进度更新以及下一个版本的计划。

在密码学方面,zk EVM 的指令集已经完成,两种实现都完成了:在电路中和在执行环境中。

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

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

虽然 zk EVM 和核心 2.0 基础设施已准备好公开,但编译器需要做更多工作才能正确覆盖所有边缘情况。为了提供更全面的开发者体验,我们决定在编译器 100% 可靠后立即开放对 zkEVM、编译器和核心 SDK 的访问。

大多数东西看起来和感觉都是一样的。以下是一些重要的区别:

支持以太坊中的大多数操作码!但是,也有一些例外:

此版本不支持 ADDMOD、SMOD、MULMOD、EXP 和 CREATE2 操作码,但将来会支持。

我们暂时不支持 KECCAK256 操作码,而是自动将其所有调用替换为调用另一个抗冲突哈希函数。KECCAK256 稍后将作为预编译器引入。

我们决定不包含 SELFDESTRUCT 操作码,因为以太坊计划将其删除。

我们可能会删除对完整 256 位 XOR/AND/OR 操作码的支持,因为这些操作码仅存在于已编译的用于位掩码的可靠代码中。这可以由编译器使用其他操作码来完成。

在 zkSync 2.0 中,有一个不同的 gas 概念。交易价格将根据当前的 L1 gas 价格(由于发布调用数据)和 ZKP 生成成本而波动。智能合约调用将具有最大数量的 zk EVM 步骤和存储写入参数。

下一个版本将包括我们的 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 的设计结合了以下 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 交互的工具,

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

这个核心基础设施功能齐全,已经集成了 zkEVM 执行器!

编译器完成后,我们将一起共享对所有组件的访问权限!开发人员将能够部署 Solidity/Zinc 智能合约并通过 Web3 API 进行交互。

标签:KSYSYNCzkSyncTECzksync币交易所SYNC Networkzksync币imtokenlitecoin

币安app下载热门资讯
Web3如何颠覆传统产业?这里有35个商业思路

撰写:TaschaLabs 编译:TechFlow intern Web3 将颠覆传统行业。如果纳斯达克和纽交所的顶级公司采用 Web3 商业模式,它们会是什么样子?这里有 35 个案例: 注意:这些并不是进行 Web3 /代币化的唯一方法,只是一些例子。其中一些已经在实施,一些则很难执行。但如果你是一个创始人,它们应该作为你的灵感。

金色观察|将推出zkEVM 深入了解Polygon Hermez 2.0

近日Polygon官方宣布,将于7月21日推出zkEVM,为开发者和用户提供“EVM等效”解决方案、高效能zkp和与以太坊主网级别的安全性。 a41 Ventures研究员100y.eth发推深入解释了Polygon Hermez。

下一代 L2 有哪些?一文详解 Scroll、Aztec、Immutable X、Polygon zkEVM

来源:Bankless?分析师 Ben Giove 编译及整理:比推 Amy Liu 以太坊的第二层(L2)生态系统继续快速增长。目前在 22 个第二层中的总锁定价值(TVL)超过43.6亿美元,比一年前增长了1194%。哪里有增长,哪里就有竞争。随着质押的增加,L2 生态系统内的竞争也在加剧。

金色Web3.0日报 | 加密研究员:以太坊在合并后将成为通缩型资产

1.DeFi代币总市值:467.81亿美元DeFi总市值 数据来源:coingecko 2.过去24小时去中心化交易所的交易量43.2亿美元过去24小时去中心化交易所的交易量 数据来源:coingecko 3.DeFi中锁定资产:871.9亿美元DeFi项目锁定资产前十排名及锁仓量 数据来源:defillama NFT数据 1.NFT总市值:211。

Web3 社交平台能否复刻 Web2 社交平台的成功

现在我们用微信、Discord、推特、Facebook等社交软件来解决我们在现实世界沟通时遇到的时间和空间的障碍,以最短的时间达成沟通或社交的目的。但是这些中心化的社交平台掌握着我们的隐私和所有权等重要的数据,真正的内容产出者和广大的用户仅仅是其中一组数据。如果对其有利,我们的隐私会被这些中心化平台售卖,我们的内容会被删除、屏蔽。

晚间必读5篇 | 市场崩溃下 SBF与他日益庞大的商业帝国

“用你自己的方式筹资并运作你自己的项目。”这是Juicebox的座右铭,也是业已实现的现实。 如果你有个创新愿景想要筹资,Juicebox是启动你的web3事务的可编程金库基础设施。该协议确实还是项实验性技术,但如果你乐于帮助一个新的协作框架成为先锋典范,用Juicebox正合适。