zkSync 与 OP-Stack 的比较

  • xpara_
  • 发布于 2023-10-28 13:39
  • 阅读 28

本文深入探讨了zkSync的架构和生态系统,zkSync 是一家致力于开发 zkEVM 的公司,并介绍了 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 在以太坊中运行侧链。 从那时起,他们将去中心化作为核心原则。 他们专注于将所有交易数据存储在以太坊中,并考虑采用多运营商模型来处理排序器去中心化模型。

到 2020 年 6 月,该团队取得了重大进展,推出了 zkSync v1 主网。 该版本是他们旅程中的一个重要里程碑,代表了他们最初概念在更大范围内的实际实施。 一年后,在 2021 年 6 月,他们通过发布 zkSync 2.0 测试网(称为 Era)进一步突破了界限。

快进到 2023 年 3 月,zkSync 的完整主网成功启动,标志着该团队取得了一项重大成就。 这一发展代表了该平台的成熟及其为更广泛采用做好准备。 此次发布是第一个部署在以太坊 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)

2. 当前生态系统

2.1 总体状况

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

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

(来源: zkSync Era — L2BEAT)

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

此外,唯一钱包的数量也在增加,表明用户采用率正在提高。 同时,桥接到 zkSync 的以太坊数量也在增长。

2.2 主要项目

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

2.2.1 Argent

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

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

2.2.2 SyncSwap

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

  • Stableswap:多池允许 SyncSwap 聚合多个不同的池模型,每个池模型都有自己的最佳方案,从而使交易非常高效。 第一个落地的池模型将是稳定池,与通用经典池相比,它支持高效的稳定币交易,使 SyncSwap 进入庞大的稳定币市场。
  • 智能路由器:它充当流动性聚合器,聚合不同的流动性池和各种池模型,以毫不费力地提供最佳价格。 提供多跳和路径拆分
  • 动态费用:SyncSwap 在其 DEX 上引入了动态费用,允许用户根据市场状况和社区偏好自定义交易费用。 四个方面包括可变费用、定向费用、费用折扣和费用委托。 这些功能为用户提供了灵活性和适应性,以优化他们的交易策略并与市场和社区不断变化的动态保持一致。

2.2.3 Tevaera

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 协议,旨在解决以太坊的可扩展性问题,利用零知识 (ZK) rollup 结构。 它由 Matter Labs 开发,代表一个 ZK-rollup 平台,其设计重点是用户需求。 该平台旨在在其自定义虚拟机中与以太坊虚拟机 (EVM) 广泛兼容,并针对零知识证明进行了优化。

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

zkSync rollup 操作的阶段可以概括为:

  1. 最初,用户生成交易或优先级操作。
  2. 随后,运营商承担处理用户请求的责任。 成功处理后,运营商会创建一个 rollup 操作并将其包含在区块中。
  3. 区块完成后,运营商会以区块提交的形式将其提交给 zkSync 智能合约。 值得注意的是,智能合约会验证某些 rollup 操作的一部分逻辑。
  4. 最后,将区块的证明提供给 zkSync 智能合约,这一步骤称为区块验证。 如果使用验证器合约成功进行验证,它会将新状态验证为最终状态。 这就结束了 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)

3.1.2 执行概述

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

它的第一个职责是跟踪 Layer 1 (L1) 智能合约的存款或优先操作。 这种机制对于确保 zkSync 与以太坊网络的无缝集成至关重要,因为所有从以太坊网络发起的更改都需要在 zkSync Layer 2 (L2) 环境中进行监控和反映。

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

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

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

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

3.2 结算

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

  1. 执行器合约:此合约从验证器获取区块数据和 zkSync 中状态转换的 zk 证明。
  2. 验证器合约:这是一个逻辑合约,允许系统验证从执行器合约提供的区块数据和 zk 证明。

(来源: 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)

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 经过精心设计,对以太坊的 geth 进行了细微的修改,从而形成了一个几乎与 EVM 完全兼容的系统。 另一方面,ZK-Stack 在 EVM 操作码中进行了一些更改,其中一些操作码不受支持。 尽管进行了这些修改,但影响很小,并且这些项目已经过严格的测试并在现实世界中得到验证。

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

4.1.2 本地账户抽象

与 ERC-4337 不同,ZK-Stack 的架构包括一个本地账户抽象 (AA) 功能。 在像 ERC-4337 这样的系统中,有必要建立一个单独的 UserOps 内存池,以允许网络内的帐户抽象。

4.1.3 对隐私的支持

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

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

4.2.1 基础设施运营:OP-Stack 更加直观

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

4.2.2 VM 替代方案:ZK-Stack 更有可能提供各种选项

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

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

OP-Stack 主要依赖以太坊作为其数据可用性层,将所有交易信息和输出状态根存储在以太坊中。 这种使用导致运营 OP-Stack 链的成本很高。 然而,已经尝试通过将交易数据存储在 Celestia DA 中来抵消这种成本。

ZK-Stack 正在积极研究和开发替代数据可用性解决方案,例如 zkPorter。 这种方法使用户能够根据他们对更高安全性或更低成本的偏好来确定他们的数据可用性。 此外,希望维护数据隐私的企业可以采用像 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 领域的常态。

\* 我目前正在使用链上数据分析 rollups 的收入和成本结构。 如果你对潜在的合作感兴趣,请打开 DM

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

关于我们

Four Pillars 是一家总部位于首尔的全球加密研究公司,由韩国最具影响力的区块链研究人员组成。 通过强大的研究和治理技能,它通过提供高质量的研究文章,同时支持协议扩展到韩国和全球市场,帮助各种市场参与者轻松加入区块链行业。

Four Pillars 链接

  • 网站( EN/ KO)
  • Twitter ( EN/ KO)
  • Telegram ( KO)
  • 原文链接: medium.com/fourpillars/s...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

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