zkSync快照及与OP-Stack的比较

  • 4pillars
  • 发布于 2023-07-12 19:41
  • 阅读 24

本文详细介绍了zkSync的发展历程、生态现状及技术架构,zkSync是以太坊的Layer2扩展方案,通过zk-rollup技术提高交易吞吐量,降低交易成本,并着重分析了zkSync的三个核心层:执行层、结算层和数据可用性层。此外,还比较了ZK-Stack与OP-Stack在Dapp开发者、核心开发者和商业角度的不同,最后展望了zkSync的未来发展,并强调了其在隐私性和可扩展性方面的潜力。

关键要点

  • zkSync 背后的公司 Matterlabs 一直致力于开发其独特的 zkEVM 并构建出色的产品。

  • 目前,zkSync Era 正在经历增长,这反映在令人印象深刻的指标和各种项目的部署上。

  • 了解 zkSync 的架构可以通过检查其三个关键层来实现:执行、结算和数据可用性。

  • ZK-Stack(zkSync 的底层代码库)和 OP-Stack 可能具有相似的理念,但从 dapp 开发者、核心开发者和业务运营商的角度来看,可以识别出明显的差异。

1. zkSync 的足迹

1.1 zkSync 简史

zkSync 的旅程始于 2019 年在 EthCC,当时一个小团队努力用 zkSNARK 实现 Rollup。他们的概念验证于 2019 年 1 月推出,其中包括使用 zkSNARK 在 Ethereum 中运行侧链。从那时起,他们将去中心化作为核心原则。他们专注于将所有交易数据存储在 Ethereum 中,并考虑使用多运营商模型来处理排序器的去中心化模型。

到 2020 年 6 月,该团队在 zkSync v1 主网的发布方面取得了重大进展。此版本是他们旅程中的一个重要里程碑,代表了他们在更广泛的范围内对其初始概念的实际实施。一年后,即 2021 年 6 月,他们通过发布 zkSync 2.0 测试网(称为 Era)进一步拓展了边界。

快进到 2023 年 3 月,zkSync 的完整主网成功启动,这标志着该团队取得了一项重大成就。这一发展代表了该平台的成熟及其为更广泛采用做好的准备。此次发布是第一个部署在 Ethereum Rollup 生态系统中的主网 zkEVM。

目前,该团队正在努力使 zkSync 开源。这将允许从 ZK-Stack 进行单独的 zk rollup 链部署,使团队能够启动他们自己的定制 rollup。有关此激动人心的发展的更多细节预计将在不久后公布。

(所有 zkSync 和 Matterlabs 的推文都可以在此链接中找到)

1.2 融资

zkSync 背后的团队 Matterlabs 已经积累了大量资金,以进一步实现其使命。通过最近在 2022 年 11 月进行的 C 轮融资,他们已成功将其总融资额提高到 4.58 亿美元。这个数字包括各种投资轮次和一个专门的生态系统基金。这包括一个单独的 2 亿美元的生态系统基金,2 亿美元的 C 轮融资,由 a16z 领投的 5000 万美元的 B 轮融资,以及 800 万美元的 A 轮和种子轮融资。

  • 种子轮:在种子轮中,Matterlabs 从包括 PlaceholderVC、Hashed 等在内的投资者那里获得了 200 万美元的资金。这笔早期的资金支持为他们开始 zkSync 项目的工作提供了重要的基础。

  • A 轮:在种子轮之后,Matterlabs 在 A 轮融资中额外筹集了 600 万美元。这笔新的资金注入为推动他们的研发并将 zkSync 更接近实现提供了动力。

  • B 轮:Matterlabs 的发展势头持续增长,在 B 轮融资中,他们筹集了 5000 万美元,主要由 a16z 领投。

  • C 轮:Matterlabs 筹集了 2 亿美元。有关此轮融资的详细信息可以在这篇 Techcrunch 文章以及他们的自己的声明中找到。

  • 最后,除了这些投资轮次之外,Matterlabs 还建立了一个专门的 2 亿美元生态系统基金。该基金专门用于促进更广泛的 zkSync 生态系统的增长和发展。

所有这些资源结合在一起,为 Matterlabs 提供了必要的资金支持,以推进其 zkSync 使命,加快其发展步伐,并促进更广泛的生态系统内的增长。总的来说,Matterlabs 拥有主要区块链项目中最大的融资之一。

(来源:zkSync Insider)

(来源:zkSync Insider

2. 当前生态系统

2.1 总体状态

多年来,zkSync 取得了显著的进展和增长。zkSync v1(现在称为 zkSync Lite)在 2020 年 12 月达到了一个里程碑,当时它的总锁定价值 (TVL) 超过了 100 万美元。从那时起,zkSync 生态系统的 TVL 以指数方式增长。截至目前,它已超过 6.5 亿美元,使 zkSync 成为 Ethereum 生态系统中第三大 Layer 2 Rollup

(来源:L2BEAT – Layer 2 生态系统的状态)

(来源:L2BEAT – Layer 2 生态系统的状态

(来源:zkSync Era – L2BEAT)

(来源:zkSync Era – L2BEAT

快进到 2023 年 6 月,zkSync 拥有一些令人印象深刻的关键指标。它目前是每秒交易数 (TPS) 最高的 rollup,尽管在 30 天的时间内略微落后于 Arbitrum。它拥有最快的 TVL 增长率,并且是 Layer 1 上支付的聚合费用最高的 rollup。

此外,唯一钱包的数量也在上升,表明用户采用率有所提高。同时,桥接到 zkSync 中的 Ethereum 数量也在增长。

2.2 主要项目

此外,生态系统中正在开发许多项目。

(来源:zkSync 生态系统 — dapps 的时代 )

(来源:zkSync 生态系统 — dapps 的时代

2.2.1 Argent

Untitled

Argent 是一个用于基于 Ethereum 的加密货币的非托管移动钱包,它为管理数字资产提供安全且用户友好的体验。

Argent 具有独特的安全模型,旨在保护用户资产,即使用户的手机丢失或被盗。此模型包括生物识别身份验证、社交恢复和链上智能合约钱包等功能。 Argent 是一个具有多重签名安全性和社交恢复功能的钱包,Ethereum 创始人 Vitalik Buterin 说这是他“保护钱包的首选方法”。

2.2.2 SyncSwap

Untitled

SyncSwap 是 zkSync Era 中最大的 DeFi 协议。它是一个基于 AMM 的 DEX,并在 AMM 设计中提供各种重要功能。它为各种代币提供 AMM 池,拥有 62 个池,并且重要的属性如下:

  • Stableswap:多池允许 SyncSwap 聚合多个不同的池模型,每个模型都有其自己的最佳场景,从而使交易非常高效。第一个推出的池模型将是 Stable Pool,与通用 Classic Pool 相比,它支持高效的稳定币交易,从而使 SyncSwap 进入庞大的稳定币市场。

  • 智能路由器:它充当流动性聚合器,以聚合不同的流动性池和各种池模型,从而毫不费力地提供最佳价格。提供多跳和路径拆分

  • 动态费用:SyncSwap 在其 DEX 上引入了动态费用,允许用户根据市场情况和社区偏好自定义交易费用。这四个方面包括可变费用、定向费用、费用折扣和费用委托。这些功能为用户提供了灵活性和适应性,以优化其交易策略并与市场和社区不断变化的动态保持一致。

2.2.3 Tevaera

Untitled

Tevaera 的游戏生态系统为游戏世界带来了冒险和技术的独特融合。Teva Games 提供设置在自然环境中的多类型游戏,并通过一个中央守护者角色故事情节联系在一起。第一款多人游戏计划与 Tevaera 2.0 的发布一起首次亮相,提供以加密为主题的能量提升和多样化游戏模式的惊险游戏体验。

生态系统通过链上游戏基础设施得到进一步增强,该基础设施由 Teva Core、Teva Chain、Teva Dex 和 Teva Market 组成。

  • Teva Core 是一个高级多人游戏框架

  • Teva Chain 是一个 Layer 3 游戏超链,有助于过渡到完全链上游戏。

  • Teva DEX 通过自动游戏 dex 提供可持续的边玩边赚经济,并且

  • Teva Market 允许铸造和交易独特的 NFT 角色。

3. zkSync 的架构

zkSync Era 是一个 Layer 2 协议,旨在解决 Ethereum 的可扩展性问题,它利用零知识 (ZK) rollup 结构。它由 Matter Labs 开发,代表一个 zk-rollup 平台,其设计重点关注用户需求。该平台的目标是在其自定义虚拟机中广泛兼容 Ethereum 虚拟机 (EVM),该虚拟机针对零知识证明进行了优化。

(来源:matter-labs/zksync-era: zkSync era)

(来源:matter-labs/zksync-era: zkSync era

zkSync rollup 运行的阶段可以概括为:

  1. 最初,由用户生成交易或优先级操作。

  2. 随后,操作员承担处理用户请求的责任。成功处理后,操作员创建一个 rollup 操作并将其包含在区块中。

  3. 区块完成后,操作员以区块提交的形式将其提交给 zkSync 智能合约。值得注意的是,智能合约验证某些 rollup 操作的部分逻辑。

  4. 最后,将区块的证明提供给 zkSync 智能合约,这一步称为区块验证。如果验证被 Verifier 合约认为是成功的,它会将新状态验证为最终状态。这结束了 zkSync rollup 操作的生命周期。

这部分深入研究 zkSync 如何运行,重点关注三个基本层:

  1. 执行:这是指导致区块链状态发生变化或转换的过程。简单来说,就是接收交易并将其应用于先前状态的地方。

  2. 结算:这通过证明系统确保执行阶段所做的更改准确反映系统的整体状态。

  3. 数据可用性:这是系统的记录保存部分。它存储所有交易数据(输入)、系统更改(输出)和证明。这样做的目的是确保可以在需要时从头开始重新创建系统的当前状态。

3.1 执行

3.1.1 VM 级别的执行

它在 type4 zkEVM 上运行,这意味着它采用以高级语言(例如 Solidity、Vyper)编写的智能合约代码,然后将其编译为设计为 zk-SNARK 友好的语言。

此外,zkSync Era 的一个独特之处在于它使用基于 LLVM 的编译器,该编译器最终将允许开发人员使用 C++、Rust 和其他流行的语言编写智能合约。

LLVM 框架是一个用于构建智能合约语言工具链的编译器。其高级中间表示 (IR) 允许开发人员设计、实现和改进有效的特定于语言的功能,同时利用广泛的 LLVM 生态系统。

在已建立的工具链中,LLVM 处理 LLVM IR,引入全面的优化,并最终将优化的 IR 转发到 zkEVM 后端代码生成器。

(来源:概述 | 欢迎来到我们的文档 | zkSync Era)

(来源:概述 | 欢迎来到我们的文档 | zkSync Era

3.1.2 执行概述

在 zkSync 中,核心应用程序在管理执行层方面起着关键作用。

它的首要责任包括跟踪 Layer 1 (L1) 智能合约的存款或优先级操作。此机制对于确保 zkSync 与 Ethereum 网络的无缝集成至关重要,因为从 Ethereum 网络发起的所有更改都需要在 zkSync Layer 2 (L2) 环境中进行监控和反映。

核心应用程序还负责管理一个内存池 (mempool),该内存池收集传入的交易。然后,这些交易的集合在队列中等待处理,有效地充当它们被确认并添加到区块之前的保留区域。

核心应用程序职责的一个组成部分包括从 mempool 中获取交易,在虚拟机 (VM) 中执行它们,并根据需要调整状态。从本质上讲,此过程涉及拾取交易、处理它们并将结果反映在系统中。

执行交易后,核心应用程序将生成链块。这些块由已执行和验证的捆绑交易组成。然后,核心应用程序将这些块和证明提交给 L1 智能合约。此过程可确保 L1 Ethereum 链的状态始终与 L2 zkSync 链同步。

为了允许基于 Ethereum 的应用程序进行无缝交互,它提供了一个与 Ethereum 兼容的 web3 API。这使得 zkSync 对于已经熟悉 Ethereum 生态系统的开发人员和用户来说更易于访问和使用。

3.2 结算

此结算层负责确保状态转换 zkSync 的完整性。此验证过程在 Ethereum 中部署的智能合约中完成。此过程有两个重要的合约

  1. 执行器合约:此合约从验证器获取区块数据和 zkSync 中状态转换的 zk 证明。

  2. 验证器合约:这是一个逻辑合约,允许系统验证从执行器合约提供的区块数据和 zk 证明。

(来源:zkSync Era – L2BEAT)

(来源:zkSync Era – L2BEAT

3.2.1 执行器合约

源代码合约地址

proveBlocks 函数在确保 zkSync 系统的完整性和安全性方面发挥着核心作用。它的主要工作是验证提交区块的 zk-SNARK 证明。以下是一个简化的解释来说明它是如何工作的:

  • 首先,proveBlocks 确保按照正确的顺序验证区块。它通过检查收到的前一个区块是否是区块链序列中需要验证的下一个区块来做到这一点。

  • 接下来,该函数开始遍历每个提交的区块。它检查这些区块的哈希是否与其在区块链中的特定位置的预期哈希匹配。这确保了正在验证的区块确实是正确的区块。

  • 然后,该函数将开始构建一个称为 proofPublicInput 数组的东西。这是一个列表,它将成为 zk-SNARK 证明验证过程的公共输入。每个提交区块的区块号都包含在此数组中。

  • 之后,使用 proofPublicInput 数组和一些存储的参数,该函数将检查 zk-SNARK 证明。这类似于解决一个所有片段都应完美地组合在一起的难题。

  • 如果证明通过检查,则该函数会更新系统以反映这些区块现在已通过验证。这就像在清单中的项目旁边添加刻度线一样。

  • 最后,对于每个已验证的区块,该函数会触发一个名为 BlockVerification 的特殊事件。这就像发送通知一样,告知已验证区块号、哈希和提交。

简而言之,proveBlocks 函数就像一个警惕的看门人,确保按照正确的顺序验证区块,确保 zk-SNARK 证明是准确的,并相应地更新系统状态。它的目标是防止执行无效区块,从而确保 zkSync 系统的整体安全性和完整性。

3.2.2 验证器合约

源代码合约地址

这是实现上述验证逻辑的地方。它通过检查 zk-SNARK 证明来验证提交的数据,从而充当 zkSync 的保护器。验证器合约用于验证提交给 zkSync 的数据是否有效。

验证器合约存储“验证密钥”,该密钥用于验证这些 zk-SNARK 证明。每当 zkSync 想要提交更新时,它会生成一个 zk-SNARK 证明并通过执行器合约将其提交给验证器合约。

然后,验证器合约使用验证密钥来检查该证明是否有效。如果有效,它知道该更新是合法的,而无需查看实际数据。如果无效,它将拒绝该更新。

通过验证这些证明,验证器合约确保只有正确且有效的数据才能被 zkSync 接受。这对于安全性和防止无效状态更改至关重要。

3.3 数据可用性

系统的这一部分充当存档,存储所有交易信息(输入)、系统修改(输出)和证明。zkSync 使用智能合约接口来设置其数据可用性 (DA) 策略。zkSync 计划提供多种 DA 选项,以降低成本和保护隐私。

3.3.1 zkPorter

(来源:zkPorter:L2 扩展的突破 \| Matter Labs)

(来源:zkPorter:L2 扩展的突破 | Matter Labs

zkSync 推出了一种名为“zkPorter”的链下数据可用性解决方案。此工具旨在与 zkSync 的 rollup 系统集成,从而促进 rollup 和 zkPorter 帐户之间的交互。为了确保 zkPorter 中的数据安全,使用了“守护者”——他们质押 zkSync 代币并通过签署区块来验证数据可用性。

zkPorter 充当内部共识协议,从而实现高交易吞吐量。为了进行比较,zkSync 2.0 中的标准 ZK Rollup 模式能够处理大约每秒 1,000 到 5,000 笔交易 (TPS)。相比之下,zkPorter 可以管理每秒 20,000 到 100,000 笔交易,具体取决于交易的复杂性。

使用 zkPorter 的一项权衡是用户必须信任 zkSync 的内部共识机制。这导致 rollup 解决方案的去中心化程度较低。用户的平衡行为是在 zkPorter(以较低的成本但降低的安全性)或 ZK-rollup 模式(以最高的安全性)之间做出决定。

此外,zkSync 2.0 促进了互操作性,允许在 ZK-rollup 和 zkPorter 帐户之间进行无缝交换。zkPorter 和 Starkware 的 Volition 之间的根本区别在于数据可用性的确定:在 zkPorter 中,此决策是在帐户基础上做出的,而在 Volition 中,此决策是在帐户内的每笔交易基础上做出的。

4. ZK-Stack 和 OP-Stack

最近,Matter Labs 宣布即将发布 ZK-Stack。这将提供一个类似 OP-Stack 的软件,用于自定义和运行 appchain rollups。

OP-Stack 和 ZK-Stack 的共同特征

  1. 开源和免费:两者都是在开源许可下开发的,保证了免费访问。他们鼓励开发人员贡献并基于该软件进行构建。

  2. 可互操作:来自 ZK Stack 的 Hyperchains 概念可以轻松地以无需信任的网络连接,具有低延迟和共享流动性。此外,OP-Stack 设想了一个 Superchain 概念来连接所有基于 OP-Stack 的链。

  3. 去中心化:为了实现更分散的网络和社区,OP-Stack 和 ZK-Stack 都明确概述了其即将发布的路线图中的去中心化计划。此举不仅提高了网络的弹性,而且还确保了权力和控制权的更公平分配。

虽然从哲学角度来看存在相似之处,但在技术和业务角度来看存在差异。这部分将深入探讨以下角度之间的差异

  1. Dapp 开发者

  2. 核心开发者

  3. 业务

4.1 从 Dapp 开发者的角度来看

4.1.1 EVM 等效性

OP-Stack 的 EVM 实现**:** OP-Stack 的 EVM 是通过对 Ethereum 的 geth 进行轻微修改而创建的,从而产生一个几乎完全兼容 EVM 的系统。另一方面,ZK-Stack 在 EVM 操作码中进行了一些更改,某些操作码不受支持。尽管进行了这些修改,但影响很小,并且这些项目已经过严格测试并在现实世界中得到验证。

但是,由于 ZK-Stack 的非 EVM 等效性而发生了一些事件。一个值得注意的例子涉及 921 ETH 被困在智能合约中,因为该合约使用了 transfer 函数。此问题已得到有效解决。

4.1.2 原生帐户抽象

与 ERC-4337 不同,ZK-Stack 的架构包括原生帐户抽象 (AA) 功能。在像 ERC-4337 这样的系统中,需要建立一个单独的 UserOps mempool 以允许网络中的帐户抽象。

4.1.3 支持隐私

通过利用 Validium,将数据存储在其他机密数据库中可确保隐私,前提是运营商对区块数据保密。此功能对于企业用户尤其有利。

4.2 从核心开发者的角度来看

4.2.1 基础设施操作:OP-Stack 更直观

操作:zkSync 和 OP-Stack 都通过 Sequencer 运行,该 Sequencer 协调交易并将数据存入 Ethereum。然而,zkSync 的操作需要一个证明器。此证明器应用程序处理服务器生成的区块和关联的元数据,以构造有效性零知识 (zk) 证明。相比之下,OP-Stack 不需要单独的复杂基础设施来参与证明挑战游戏。

4.2.2 VM 替代方案:zkSync 有潜力提供更多选项

zkSync 使用 LLVM 编译器进行操作,该编译器转换为 zkEVM 字节码,表明有可能使用其他语言(如 C++)建立执行环境。

4.2.3 数据可用性:ZK-Stack 提供多种选项

OP-Stack 主要依赖 Ethereum 来实现其数据可用性层,在 Ethereum 中存储所有交易信息和输出状态根。这种用法导致 OP-Stack 链的运行成本很高。但是,已经尝试通过将交易数据存储在 Celestia DA 中来抵消此成本。

ZK-Stack 正在积极研究和开发替代数据可用性解决方案,例如 zkPorter。此方法使用户能够根据他们对更高安全性或更低成本的偏好来确定其数据可用性。此外,希望保持数据隐私的企业可以采用 Validium 等解决方案,Validium 允许数据存储而无需披露。

4.3 业务角度:成本和收入

如今,启动独立的 rollup 已成为一种可行的选择,尤其是在像 ZK-Stack 和 OP-Stack 这样的开源软件正在公开开发和维护的情况下。此外,Rollup-as-a-Service (RaaS) 平台(如 Caldera 和 Conduit)正在大大简化该过程。

更进一步,从开发者的角度来看,至关重要的是要实际评估与运营 rollup 相关的潜在成本和收入。但是,由于存在多个变量,因此预测这些金额可能会很复杂。

由于代码库的重大改进正在定期进行,从 Optimism 最近的 Bedrock 升级中可以明显看出,与运行 rollup 相关的成本正在迅速降低。这种动态性质使得准确估算成本和收入变得具有挑战性。此外,由于单个实体通常管理所有 rollups,因此与服务器和基础设施相关的特定成本尚未得到广泛认可。最后,基础代币价格的波动性(例如 zkSync 和 Optimism 的 $ETH)增加了另一层不确定性,因为成本会根据市场情绪而波动。

以下是一些主要的成本和收入:

4.3.1 成本

  • L1 发布成本:存储交易、状态根、证明数据的成本。通常,乐观 rollup 需要更多的发布成本,因为它需要存储原始交易数据以进行验证。一些 rollups 发布状态差异而不是整个状态数据,以避免进一步的成本。

  • L2 排序器运营成本

  • 证明成本:对于 zk,证明生成和验证成本,对于欺诈证明,证明挑战成本。

4.3.2 收入

  • L2 交易费

  • 可能是 MEV,但目前,已知大多数 L2 排序器不提取 MEV 以避免中心化问题

5. 最后的想法

Matterlabs 一直致力于 zkEVM 的开发,在此过程中取得了重大进展。尽管并非完全与 EVM 兼容(Type4 EVM),但利用 LLVM 似乎具有巨大的潜力。Matterlabs 的下一个进展阶段是发布 ZK-Stack,这是一个代码库,它将使开发人员能够利用其强大的代码库来创建自己的 rollups。该工具承诺在隐私和可扩展性领域明显优于 OP-Stack。

但是,这两个项目仍处于早期阶段,需要大量工作。至关重要的是要对其实施相关的成本和收入结构进行彻底评估。此外,一个重大挑战在于围绕两个代码库培养一个开发者生态系统。详细的分析和战略规划对于确保平台及其相关技术的可持续未来至关重要。

我希望这两个项目都能蓬勃发展,并且公开构建和共享路线图成为 web3 领域的常态。

感谢 Kate 为此文章设计图形,以及 M3TA 提供有关 zkSync 的链上数据的宝贵见解。

  • 原文链接: 4pillars.io/en/articles/...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
4pillars
4pillars
江湖只有他的大名,没有他的介绍。