跳到主要内容

zkEVM Rollup

欢迎来到零知识证明、Rollup 和 zkEVM 的迷人世界,这些概念正在迅速重塑区块链技术的格局。本概述旨在带您踏上这些先进技术构建的探索之旅,将其简化为易于理解、消化吸收的部分,让您领略它们的影响和潜力。

我们的目标是弥合这些先进技术的理论与实践之间的鸿沟,为您提供对其现实世界应用和潜在影响的全面理解。因此,无论您是该领域的爱好者还是专业人士,我们都希望本概述能成为您了解区块链技术中这些变革性概念的综合指南。

zkEVM Rollup

什么是 ZK?

“零知识”通常指密码学中的一个概念,称为“零知识证明”。这是一种方法,通过该方法,一方(证明者)可以向另一方(验证者)证明他们知道一个值 x,而无需透露除“他们知道值 x”这一事实之外的任何信息

该术语源于验证者除了断言的有效性之外,对证明的细节一无所知。例如,如果您试图证明您知道某个账户的密码,零知识证明可以确认您知道密码,而无需实际透露密码是什么。

零知识证明的思想在隐私增强技术中具有重要意义。例如,它是某些加密货币和其他系统中不可或缺的组成部分,在这些系统中,平衡验证需求和隐私必要性至关重要。

ZK 中的“证明”

在计算机科学和密码学领域,证明是一种过程或方法,它在不透露任何额外信息的情况下确认某个主张的有效性。这个主张可以很简单,例如证明您知道密码而无需透露密码是什么。

  • ZK-SNARK (零知识简洁非交互式知识论证):这是一种零知识证明形式,在计算和需要存储或传输的数据量方面特别高效。“简洁”意味着证明小巧且验证速度快,“非交互式”意味着无需来回通信。ZK-SNARKs 用于隐私保护区块链系统,例如 Zcash。

  • ZK-STARK (零知识可扩展透明知识论证):这是另一种零知识证明形式。虽然它们也提供效率,但 ZK-STARKs 提供了无需信任设置的额外优势(因此缩写中包含“透明”部分)。然而,ZK-STARKs 比 ZK-SNARKs 计算量更大,并产生更大的证明。ZK-STARK 用于 Fractal、SuperSonic、StarkWare、Polygon Miden 等。

为什么区块链需要 ZK?

随着比特币和以太坊等区块链网络的普及,这些网络上处理的交易数量急剧增加。这是采用的积极信号,但也带来了一些挑战。区块链在设计上并非固有可扩展,这导致了交易时间缓慢和费用高昂等问题。

为什么需要扩容?

  1. 有限的交易吞吐量:区块链中的每个区块容量有限,并且每隔几分钟就会生成一个新区块(截至我 2021 年的最后更新,比特币约为 10 分钟,以太坊约为 15 秒)。这限制了每秒可以处理的交易数量。例如,比特币每秒可以处理约 3-7 笔交易 (tps),以太坊可以处理约 15 tps。这远低于 Visa 等传统系统可以处理的量(每秒数千笔交易)。

  2. 高昂的费用:当网络拥堵时,用户通常需要支付更高的费用来优先处理他们的交易。

  3. 确认缓慢:在需求旺盛时,交易可能需要很长时间才能确认,因为交易数量超出了网络快速处理的能力。

如何扩容?

扩容区块链通常有两种方法——Layer 1(链上)扩容和 Layer 2(链下)扩容。

  1. Layer 1 扩容涉及对区块链协议本身的更改。这可能包括增加区块大小(允许每个区块容纳更多交易)、缩短区块时间或实施分片(将网络分成更小的部分,即“分片”,每个分片都能够处理自己的交易和智能合约)。

  2. Layer 2 扩容涉及在现有区块链之上构建一个辅助层。交易在链下处理,然后链上结算。Layer 2 解决方案的例子包括状态通道、Plasma 链和 Rollup(Optimistic Rollup 和 ZK-Rollup)。这些解决方案本质上将大部分交易从主链上移开,从而减少拥堵。

扩容区块链是在保持其去中心化特性(某些 Layer 1 解决方案可能会损害这一点)与提高其快速、廉价处理更多交易的能力之间取得平衡。不同的区块链可能会根据其具体目标和限制选择不同的扩容解决方案。

ZK 技术应用于 Rollup 扩容解决方案中。

什么是 Rollup?

“Rollup”是 Layer 2 解决方案,旨在提高区块链(如以太坊)的吞吐量,而无需更改其底层协议或“Layer 1”。它们旨在解决许多区块链在变得更受欢迎时面临的可扩展性问题。

以下是理解它们工作原理的简化方法:

  1. 链下聚合:交易在“侧链”或“Rollup 链”中收集并在主链外处理。这种聚合发生在链下,以避免主链拥堵。

  2. 计算和存储:与这些交易相关的数据在链下处理和存储。这减轻了主链的计算负担。

  3. 提交到主链:一旦交易 Rollup 准备就绪,聚合交易的证明(这可以是像 SNARK 或 STARK 这样的加密证明,或者仅仅是数据的哈希)就会提交到主链。这个证明的大小比完整的单个交易列表要小得多。

  4. 验证:主链上的验证者验证此证明。一旦验证通过,捆绑的交易就被视为已确认。

Rollup 主要有两种类型:Optimistic Rollup 和 ZK-Rollup。

  1. Optimistic Rollup:这些依赖于“欺诈证明”系统。本质上,它们假设交易 Rollup 是正确的,除非有人证明它是欺诈性的。

  2. ZK-Rollup:这些使用零知识证明来验证每个交易 Rollup 的正确性。ZK-Rollup 的优势在于不需要等待确认期,因为它们不依赖欺诈证明。

两种解决方案都有助于增加区块链上每秒可以处理的交易数量,从而提高可扩展性。以下是它们的区别:

Optimistic RollupZK-Rollup
吞吐量估算~500 TPS✅ >2000 TPS
资金提现周期数周✅ 数分钟至数小时
隐私昂贵✅ 便宜
EVM 兼容性⚠️ 需要调整您的 Solidity 代码
成本✅ 低❌ 高

ZK-Rollup 与 zkEVM

ZK-Rollup 和 zkEVM 都是为以太坊使用零知识证明的 Layer 2 扩容解决方案,但它们针对不同级别的功能。

  1. ZK-Rollup:这是一种特定类型的 Layer 2 解决方案,它将许多交易捆绑或“Rollup”成单个交易,显著增加了每秒可以处理的交易数量。每个 ZK-Rollup 都包含一个状态转换和一个证明该转换是正确的证明。然而,传统上,ZK-Rollup 在其可以处理的计算复杂性方面受到限制,主要用于简单的转账。
  2. zkEVM (zk 以太坊虚拟机):这是一个更近期的发展,它将零知识证明的力量带到了以太坊虚拟机 (EVM)。EVM 是以太坊上所有智能合约运行的环境。zkEVM 允许使用零知识证明 Rollup 更复杂的智能合约交互,而不仅仅是简单的转账。换句话说,zkEVM 旨在使任何任意计算都可以在零知识中进行验证,从而有效地允许通过 ZK-Rollup 扩展以太坊的全部智能合约功能。

zkEVM 与 EVM

EVM 是以太坊中智能合约的运行时环境。它是一个强大的系统,使开发人员能够以智能合约的形式编写复杂的脚本,这些脚本随后在以太坊网络上发生交易时执行。因此,EVM 兼容性意味着 Layer 2 解决方案可以以与 EVM 相同的方式执行相同的智能合约。

以下是一些通用的兼容性级别:

  1. EVM 等效:这是最高级别的兼容性。EVM 等效解决方案可以运行任何可以在以太坊主链上运行的智能合约,而无需进行任何更改。它完全复制了 EVM 的功能。例如,zkSync 2.0 声称在 ZK-Rollup 中提供 EVM 等效功能。
  2. EVM 兼容:EVM 兼容解决方案可以运行许多(但不一定是所有)与 EVM 相同的智能合约。可能需要对智能合约进行一些调整,以使其在 Layer 2 解决方案中工作。
  3. 非 EVM 兼容:非 EVM 兼容解决方案提供与以太坊主链上可用的功能不同的功能。例如,它可能能够处理简单的交易,但不能处理复杂的智能合约。

zkEVM 项目的目标是开发提供完全或接近完全 EVM 等效功能的 ZK-Rollup。这使得开发人员可以将他们的去中心化应用移植到这些 Layer 2 解决方案,而无需进行重大更改,从而在不牺牲 EVM 提供的功能的情况下受益于改进的可扩展性。

市场上的 zkEVM 解决方案

Scroll

Scroll 团队成立于 2021 年,一直致力于开发与以太坊 EVM(以太坊虚拟机)等效的 ZK Rollup,作为其持续扩容以太坊努力的一部分。Scroll 与隐私和扩容探索团队以及其他开源贡献者合作,在过去两年中公开构建了一个字节码兼容的 zkEVM(零知识以太坊虚拟机)。

Scroll 于 2 月底宣布其 Alpha 测试网已在 Goerli 网络上线。Alpha 测试网对所有用户开放进行无需许可的技术测试,平均出块时间为三秒。迄今为止,它已促成超过 2000 万笔交易,生成了超过 150 万个区块,并拥有超过 400 万个交互地址。此外,4 月 11 日,Scroll 开放了其网站生态系统界面。

最近的披露表明,Scroll 在 Type 2 EVM 等效的道路上持续取得进展。他们已成功完成所有 EVM 操作码的兼容性开发,目前正在进行审计流程。他们的下一个目标是确保与 EIP2718 交易的兼容性。

从技术角度来看,Scroll 的架构相对传统。其主要关注点是 zkEVM,负责验证 Layer 2 (L2) 上 EVM 执行的正确性。然而,要将 zkEVM 转换为以太坊上全面的 ZK Rollup,需要一个完整的 L2 架构。具体来说,现有的 Scroll Alpha 测试网由 Scroll 节点、桥接合约和 Rollup 合约组成。

Scroll 节点由排序器、中继器和协调器组成。排序器(也称为定序器)向用户和应用程序暴露 JSON-RPC,从交易池读取交易,并生成 L2 区块和状态根。目前,Scroll 的排序器节点是中心化的,计划在未来的升级中逐步去中心化。

Scroll 架构

协调器处理 Roller 和 Scroll 节点之间的通信,每当排序器中创建新区块时,它会从池中随机选择一个 Roller 来生成证明。中继器监控以太坊和 Scroll 链上的桥接合约和 Rollup 合约。Rollup 合约保证 Layer 1 (L1) 级别的 L2 数据可用性,并确保 L1 级别的 L2 区块恢复。桥接合约负责跨链操作期间的链间通信,促进双向消息传输以及资产抵押和提取操作。

最后,Roller 网络扮演着至关重要的角色。嵌入 zkEVM 的 Roller 在网络中充当证明者,为 ZK Rollup 生成有效性证明。Roller 首先将从协调器接收到的执行轨迹转换为电路见证。然后,它为每个 zkEVM 电路生成证明,最终聚合来自多个 ZK 电路的这些证明。

这种复杂的架构设计标志着 Scroll 坚定不移地致力于通过 zkEVM Rollup 增强以太坊的可扩展性。凭借其公开透明的开发实践,它们是开源社区内协作可能带来的成果的杰出范例。

StarkWare

StarkWare 正在通过提供基于 STARK 的扩容解决方案来推动区块链技术的发展,该解决方案可确保 Layer 2 (L2) 上的安全性、速度和无缝用户体验。他们支持多种数据可用性模式,其产品包括 StarkNet 和 StarkEx。

StarkNet 是他们的 L2 网络,而 StarkEx 是一种专为企业用户设计的 Rollup 验证服务。DApp(去中心化应用)可以构建在 StarkEx 服务之上。然而,该服务目前仅支持为特定 DApp 编写自定义电路,而不支持通用 zkEVM Rollup。StarkEx 还包括多项即插即用服务,例如 NFT 铸造和交易,以及衍生品交易。在生态系统方面,去中心化期货合约交易平台 dYdX 是 StarkWare 的忠实用户。

严格来说,StarkNet 可以被描述为一个 zkVM(零知识虚拟机)。它不使用 ZK 电路来实现以太坊操作码。相反,它采用了一种更友好的 ZK 汇编语言——AIR(代数中间表示),以及高级语言 Cairo。尽管 StarkNet 本身不兼容 EVM,但可以通过 Kakarot 等方法实现与以太坊的兼容性,Kakarot 是一个用 Cairo 编写的 zkEVM 和字节码等效的 EVM。在中心化特性方面,StarkNet 有点中心化,无法与以太坊同步升级其安全性。因此,它需要开发人员集中精力加强其安全功能,并与以太坊同步适应新协议。

StarkNet 采用 STARK 作为其证明系统,与 SNARK 相比,它展现出更多的创新。与 SNARK 不同,STARK 不依赖“信任设置”。此外,它提供了更简单的密码学假设,消除了对椭圆曲线、配对和指数知识假设的需求。相反,它纯粹依赖于哈希和信息论,使其对量子攻击更具弹性。总的来说,STARK 比 SNARK 更安全。在可扩展性方面,STARK 具有显著的边际效应,更大的证明会带来更低的总体成本。

然而,存在架构方面的担忧。目前,该系统只有一个由 StarkWare 控制的排序器,以及一个负责生成 ZK 证明的证明者。这个证明者不仅为 StarkNet 生成证明,还为所有在其自己的 StarkEx Rollup 上运行的其他应用程序生成证明。这种控制的集中化可能在长期内带来潜在风险。

总之,StarkWare 正在以其基于 STARK 的扩容架构引领 L2 解决方案的开发。然而,与所有技术一样,其未来的成功将取决于它如何很好地解决中心化问题,并在安全性、速度和用户体验之间保持平衡。

zkSync

与 StarkNet 类似,zkSync 坚定不移地选择了高级语言等效的 zkVM,吸引了大量关注,热度和锁定价值都非常高。zkSync 1.0(也称为 zkSync Lite)于 2020 年 6 月 15 日在以太坊主网上启动,实现了约 300 TPS(每秒交易量)的交易吞吐量,但不兼容以太坊的 EVM(以太坊虚拟机)。zkSync 2.0(也称为 zkSync Era)于 2023 年 3 月 24 日启动。

zkSync Era 的目标是通过优化其定制构建的 VM 来更快地生成证明,而不是追求 EVM 兼容性。它通过强大的 LLVM 编译器支持 Solidity、Vyper、Yul 和 Zinc(Rollup 的内部编程语言),从而实现了大多数智能合约功能。由于它采用内部 VM,zkSync Era 支持原生账户抽象,允许任何账户使用任何代币支付费用。

此外,结合了 ZK Rollup 和分片技术的 zkPorter 协议的应用,使得网络吞吐量呈指数级增长,达到超过 20,000 TPS(类似于 Volitions 的数据可用性切换)。

总的来说,zkSync 是一个拥有丰富生态系统的 L2 项目,吸引了开发人员和投资者的关注。尽管最近出现了项目在 zkSync 上完全失败的案例,但开发人员能否在高级语言等效的 zkVM 上获得良好的开发和迁移体验仍然是一个问题。目前,缺乏来自开发人员的明确使用报告。如果开发人员体验良好,那么将 zkVM 与 EVM 对齐的其他类型努力的相关性就会受到质疑。回答这些问题需要更多的时间和观察。

总之,zkSync 坚持采用高级语言等效的 zkVM,代表了以太坊 Layer 2 扩容解决方案领域的一个激动人心的演变。随着项目的不断成熟,其对区块链开发和用户体验的影响将变得更加清晰,有助于我们理解 Layer 2 技术的未来。

Polygon zkEVM

3 月 27 日,Polygon 推出了其 zkEVM Rollup 主网的 Beta 版本,这是一个以太坊等效虚拟机,并开源了其所有 zkEVM 代码。尽管 Polygon zkEVM 中的锁定价值远低于 zkSync,但其生态系统内却拥有各种有趣且充满活力的项目。

Polygon 在 Rollup 设计上与 Scroll 不同,它采用效率证明 (PoE) 模型来激励排序器和聚合器,解决与去中心化和无需许可的验证者相关的挑战。在这种无需许可的排序器-聚合器两步模型中,任何排序器都可以提议批量打包应用程序以赚取打包费,但它必须支付 Layer 1 (L1) Gas 费用并存入一定数量的代币。同时,聚合器需要设定自己的目标,以最大化每次证明生成所获得的利润。此外,Polygon 在其数据可用性模型中与 Volition(ZK Rollup 和 Validium 的混合体)表现出深度兼容性,为用户提供不同级别的服务。

Polygon 还在其 ZK 协议方面投入了大量精力,并取得了显著成果。他们在文档中总结了其技术优势,主要包括:

  1. 增强兼容性:Polygon 始终坚持 EVM 等效的 zkVM,旨在降低开发人员迁移去中心化应用 (dApps) 的成本。尽管 Polygon Miden 利用 ZK-STARK 协议,但它仍然支持 Solidity 合约的执行。

  2. 更简单的验证:ZK Rollup 经常因需要昂贵的专用硬件来生成有效性证明而受到批评。这些成本随后由操作硬件的制造商转嫁给用户。Polygon ZK Rollup(例如 Polygon Zero)旨在简化证明方案,使低端设备也能参与。例如,在消费级 PC 上进行的 Plonky2 证明生成测试。

  3. 更快的证明生成和验证过程:Polygon Zero 可以在 170 毫秒内生成 45kb 的证明。

总而言之,Polygon 推出 zkEVM Rollup 主网的 Beta 版本标志着以太坊 Layer 2 技术发展中的关键一步。凭借其强大的生态系统以及对增强兼容性、简化验证和加快证明生成的不懈承诺,Polygon 正在区块链领域树立引人注目的形象。

总结

本概述围绕 zk、Rollup 和 zkEVM 展开,它们是区块链技术的重要方面。我们还比较了 Scroll、StarkWare、zkSync 和 Polygon 等提供的解决方案。

然而,没有万能的解决方案。我们讨论的 zkEVM 主要问题包括中心化、高成本和复杂性。

  • 中心化主要与排序器和证明者的控制权有关,这可能会限制去中心化的范围。

  • 复杂性是另一个重大挑战,主要是由于复杂的编码要求以及生成和验证证明所需的专业知识。

  • zkEVM 的高成本源于生成有效性证明所需的大量资源,这些成本通常转嫁给用户。然而,目前正在努力简化证明生成并降低成本,这表明这些问题可能存在解决方案。