# 【财富密码】一问解析zkEVM Rollup 的前世今生(四)zkEVM Rollup 项目概览 **Published by:** [VICOINDAO](https://paragraph.com/@vicoindao/) **Published on:** 2023-05-18 **URL:** https://paragraph.com/@vicoindao/zkevm-rollup-zkevm-rollup ## Content zkEVM Rollup 项目概览 ​ 2023 年上半年各类 zkEVM 项目喷井式而出,笔者在关注这些项目的时候主要关注以下 方面: ​ 当前项目进展:包括当前项目阶段,以及测试网、主网预计上线时间,是否和发展 路线图有一致性。 ​ ​ 2.项目实际交互情况:通过与测试(主)网的交互等,主观感受网络 TPS,单笔交易 确认时间等,对网络性能有直观感受。 ​ 3.zkEVM 兼容性:这是最为核心的技术点也是最难评判的,即便部分项目开源,在 VM 层面的技术最为硬核,且涉及到较多的 ZK 协议。具体的,需要关注 ZK 协 议、VM 安全性、兼容程度等。 ​ 4.zkEVM Rollup 架构:相对于 zkEVM,一般项目都会在白皮书等技术文档中公开其 Rollup 架构,且总体差异性较少,但是要关注其整体去中心化程度。 ​ 5.生态运营:项目用户数量、活跃程度、链上应用生态的运营和孵化情况以及开发者 社区的维护等软性反应项目运营的情况的指标。 ​ 6.投融资情况。 本份研报更多的从前四点角度来对项目进行考量,并从技术层面关注 zkEVM Rollup 的 整体架构。 ​ Scroll ​ Scroll 团队创立于 2021 年,致力于开发 EVM 等效的 ZK Rollup 用于扩展以太坊,近两 年来,Scroll 一直致力于与 Privacy and Scaling Explorations 团队以及其他开源贡献者 一起公开构建与字节码兼容的 zkEVM。2 月底 Scroll 宣布其 Alpha 测试网现已在 Goerli 上线,任何用户无需许可都能够参与技术测试,测试网平均出块时间为 3 秒,现已经有 2 千多万笔交易,150 多万的区块和 400 万余的交互地址。同时 Scroll 也于 4 月 11 日 开放了网站生态系统界面。 ​ 从近期信息披露来看,Scroll 在类型二 EVM 等效的道路上不断向前。近期,Scroll 已经 完成了所有 EVM 操作码的兼容开发工作,正在进行审计工作,同时下个目标是兼容 EIP2718 交易。 ​ 技术架构上,Scroll 的架构较为传统,如图 8 所示,其主要分为两个部分:核心部分是 zkEVM,用于证明 EVM 在 L2 执行的正确性;但是要将 zkEVM 变成以太坊上完整的 ZK Rollup,还需要围绕 zkEVM 构建一个完整的 L2 架构。具体的,现有的 Scroll Alpha testnet 由 Scroll Node、Bridge Contract 和 Rollup Contract 组成: ​ 图 8. Scroll rollup 整体架构 | 图源:Scroll – Native zkEVM Layer 2 for Ethereum ​ Scroll Node:由 Sequencer、Relayer 和 Coordinator 组成。 ​ Sequencer,也就是所谓的定序器,向用户和应用开放 JSON-RPC,读取交易池中 的交易并生成 L2 的区块和状态根。现阶段 Scroll 的 Sequencer 节点是中心化的, 在之后的升级中会逐渐去中心化。 ​ 2.Coordinator 负责在 Roller 和 Scroll Node 之间进行通讯,当有新的区块在 Sequencer 中生成的时候,随机选择池中的 Roller 进行证明生成。 ​ 3.Relayer 监测 Ethereum 和 Scroll 链上的 Bridge Contract 和 Rollup Contract。 Rollup Contract 保证 L2 数据在 L1 层面的数据可用性,确保在 L1 层可以恢复 L2 区块,一旦区块的。Bridge Contract 在跨链时负责在双链合约之间通信,双向发 送任意消息或是完成跨链时资产质押和提取操作 ​ 图 9. Roller Network | 图源:Scroll – Native zkEVM Layer 2 for Ethereum ​ Roller Network::Roller 内置 zkEVM,在网络中充当证明者,负责为 ZK Rollup 生 成有效性证明,可见图 9。 ​ Roller 首先将从 Coordinator 接收到的 execution trace(也就是合约具体做了哪些 操作,涉及哪些地址)转换为电路的 witnesses。 ​ 它为每个 zkEVM 电路生成证明,最后聚合这些来自多个 ZK 电路的证明。 ​ StarkWare ​ StarkWare 提供了一种基于 STARK 的扩展解决方案,以确保 L2 的安全性、快速性和无 缝用户体验。他们支持多种数据可用性模式。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 的 zkEVM)等其他方式兼容以太坊。根据个人理解, StarkNet 相对来说还是一个中心化的项目,其中一点是其无法随着以太坊的安全性升级 而同步,因此需要集中研发人员补足安全性上的短板,并跟随 ETH 开发适配新的协议。 ​ StarkNet 使用的 STARK 作为其证明系统,相对于 SNARK,STARK 具有更多创新。它不 需要和 SNARK 那样依赖 “可信设置”。并且,它还带有更简单的密码学假设,避免了对 椭圆曲线、配对和指数知识假设的需要,纯粹依赖哈希和信息论,因此更能抵御量子攻 击。总体而言,STARK 比 SNARK 更安全。在拓展能力方面,STARK 边际效应显著,证 明越大,总成本越低。 ​ 然而,在架构方面,目前系统中只有一个 Sequencer(定序器),由 StarkWare 控制, 并且只有一个 Prover(也就是生成 ZK Proof 的证明者),它不仅为 StarkNet 生成证 明,还为运行在他们自己的 StarkEx rollup 上的所有其他应用程序生成证明。 ​ ZK Rollup 的变体:Validiums 和 Volitions ​ Validium 也是一种 L2 级别扩展解决方案,它使用诸如 ZK Rollup 之类的计算证明来强 制执行交易过程的完整性。和 ZK Rollup 不同的是,Validium 不会将交易数据存储在以 太坊主网上。牺牲链上数据可用性是一种权衡取舍,它可以带来可扩展性的巨大改进, 最直接的点便是 Validiums 每秒可以处理约 9000 笔交易。 ​ 但是在笔者眼中 Validium 不能算严格的 ZK Rollup。这个方案和 Plasma 类似,都没有 做到 L1 层的数据可用性,因此都不能算作 Rollup。和 Plasma 的区别在于 Plasma 在 L2 层中设置了类似于 OP Rollup 的 “七天退出机制”,而 Validium 利用了和 ZK 手段来 缩短 L2 层对数据的验证时间且不把数据同步到 L1 中。 ​ Volition 由 StarkWare 率先推出,可让用户轻松地在 ZK Rollup 和 Validium 之间切换。 例如一些应用程序,比如去中心化衍生品交易所可能更适合 Validium,同时仍希望与 ZK Rollup 上的应用程序可互操作,那么 Volition 便提供了这种可切换性。 ​ 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 支持原生账号抽象,使得任何账户都可以用任何 Token 支付费用。 ​ 此外,通过 zkPorter 协议的应用,结合了 ZK Rollups 和分片技术,网络吞吐量得到了 指数级增长,达到 20,000+ TPS(类似于 Volitions 的数据可用性切换)。 ​ 总体而言,zkSync 是一个生态丰富的 L2 项目,备受开发者和投资者关注。尽管近期出 现了一些 zkSync 上彻底失败的项目案例,但仍然存在一个问题,即开发者是否能在高 级语言等效的 zkVM 上获得良好的开发和迁移体验。目前缺乏开发者层面的确切使用报 告,如果开发者有良好的体验,那么其他类型的努力贴近 EVM 的 zkVM 又有何意义 呢?我们还需要更多时间来观察。 ​ Polygon zkEVM ​ Polygon 于 3 月 27 日启动 zkEVM Rollup 主网络的 Beta 版,也是以太坊等效的虚拟 机,并开源所有 zkEVM 代码。相较于 zkSync,polygon zkEVM 的锁仓量就小很多,但 是在生态中也有很多比较有趣且有活力的项目。 ​ 在 Rollup 设计方面,Polygon 与 Scroll 不同之处在于使用了效率证明(PoE)模型来激 励排序器(Sequencer)和聚合器(Aggregator),以解决去中心化和无许可验证器的 一些挑战。在无需许可的排序器-聚合器两步模型中,任何排序器都可以提出打包批次 的申请,以获得打包费用,但需要支付 L1 层的 Gas 费用并存入一定数量的 Token;同 时,聚合器需要设定自己的目标,以最大化保证每次证明生成的利润。此外,Polygon 与 Volition(ZK Rollup 和 Validium)模式还具有深度兼容的数据可用性模型,来为用 户提供不同层次的服务。 ​ 另外,Polygon 在 ZK 协议方面也投入了相当的工作量,效果也是显著的,在文档中他 们总结自己的技术优势,主要包括以下几点: ​ 更加兼容:Polygon 始终坚持采用 EVM 等效的 zkVM,以降低开发者迁移 dApp 的成本。同时,尽管 Polygon Miden 采用了 ZK-STARK 协议,但仍支持运行 Solidity 合约。 ​ 2.更容易的验证:ZK Rollup 经常受到批评的原因是生成有效性证明需要昂贵的专用 硬件,厂商运行这些硬件并将成本转嫁给用户。Polygon ZK Rollup(如 Polygon Zero)旨在简化证明方案,使得更低级的设备可以参与其中,例如,在消费级 PC 上进行的 Plonky2 证明生成测试。 ​ 3.更快的证明生成和验证过程:Polygon Zero 可以在 170 毫秒内生成一个 45kb 的证 明。 ​ ​理论技术和现实项目之鸿沟 本文主要进行了 ZK 技术的科普,Rollup 机制的介绍,重点强调了数据可用性的重 要性,并在 ZK 还是 zkEVM Rollup 的问题上做了一定的界别。此外,在区分 zkVM 和 zkEVM 的基础上,同时还详细梳理了 zkEVM 三种类型的区别以及围绕着不同类型以及 相关的 ZK 赛道。最后,结合几名优势项目,对各自的技术框架、现有生态等进行了回 顾。 ​ 然而,在具体项目方面,选择高级语言等效的项目反而占据市场主流地位,甚至于较为 中心化的项目也能博得市场的青睐。即便在理论研究中谈到的第一类 VM 有很强的局限 性,但是在有限的市场客户下,“通用性” 似乎是一种累赘,我们无法分辨出 “高效拓展” 突破了哪些问题并实现了超越理论的效果。当然实际上很多人也不关注技术特征,因此 这显得不太 Web3,又很 Web3。 ​ Rollup 技术的目的是进一步挖掘区块链的价值,但往往因为迫切成为市场上的 “创新性 概念”,而产生 “开倒车” 的现象,回归到中心化,这是当前市场存在的问题。 ​ 区块链的价值很容易被看到,谁不希望拥有一个永恒的计算机?但核心问题是,当这台 计算机的运行能力远远低于我们身边任何一台服务器,并需要大量资源投入时,即使使 用价值远低于我们的投入成本,作为一个 “公共产品”,它还能吸引每个人加入使用吗? 当我们已经拥有了相当多国家、社会甚至个人的产品时,在什么情况下,我们愿意忽视 高昂的使用成本,追求 “永远在线,永远正确” 的结果呢?我认为这是当今区块链行业 需要思考的问题。Rollup 技术在技术上可以改善这个问题,但还有一大部分问题需要留 给浮躁的市场去解决。 ​ ​​​ ​好的,今天就分享到这里了,感兴趣的朋友请关注我们! 微信1:victeam005 微信2:shijie20170405 Telegream:https://t.me/VICOINDAOCHAT ## Publication Information - [VICOINDAO](https://paragraph.com/@vicoindao/): Publication homepage - [All Posts](https://paragraph.com/@vicoindao/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@vicoindao): Subscribe to updates - [Twitter](https://twitter.com/VICOINDAO): Follow on Twitter