一个真正终局的 zkEVM Rollup 的核心不会是技术架构或技术先进度,而是Social Consensus,以及谁会最先触及生态 DApp 开发者。
作者: msfew@Foresight Ventures
以太坊的未来路线可谓是为 Rollup 量身打造, 而目前最被寄予厚望的方案就是采用了零知识证明技术的 zk Rollup.
通常大家的认知中, zk Rollup 需要数年的工程开发才可以真正落地, 这是由于构建 zkEVM 的开发难度巨大. 为了让开发者能无缝移植和部署以太坊智能合约到 zk Rollup 中, 开发团队需要对兼容 EVM 的 zkEVM 进行开发与性能优化.
实现 zkEVM 一直是以太坊基金会和 Polygon 等其他 zk Rollup 团队的重点任务. 在长期视角下, zkEVM 的实现不仅能解决以太坊主网共识瓶颈的各个方面:
同时以 zkEVM 为核心组件, 可以构建一个真正完美的通用 Rollup 网络.
Polygon 就在近期带来了这么一个带有 zkEVM 的 alpha 版本 zk Rollup, 与 Scroll, StarkNet, zkSync, Sin7Y 等的方案相比各有千秋. 这些 zkEVM 的存在是 Polygon 与以太坊生态的一个巨大飞跃, 也意味着全新且更好的 Rollup 用户体验即将到来.
在了解 zkEVM Rollup 如何颠覆以太坊用户体验之前, 我们需要认识 zkEVM 的概念. 如果你想更深入地了解 zk, zkVM 与 zkEVM, 欢迎阅读我们之前的研究文章.
zkEVM 的概念可以被拆解成两个部分:
zk: 零知识证明技术, 可以通过一个精简的证明来证明一批次 tx 的有效性, 达成计算可信, 从而实现扩容. EVM: 以太坊生态的智能合约执行器. 正是 EVM 的存在才让以太坊具有智能合约运行能力, 成为全球计算网络 (相比之下比特币的功能可能只能算是计算器), 同时 EVM 也衍生出 EVM 兼容, EVM 等同, EVM 超集的概念.
那么 zkEVM 就是一个至少在编程语言层面兼容 EVM 的 zk 虚拟机. 智能合约在 zkEVM 中运行后, 会生成一个 zk 证明, 它可以证明运行状态转换的有效性, 保证计算可信. 验证者只需对证明验证即可 (开销很小), 无需重新执行 (冗余很大).
zkEVM 在各个层面都具有重大的意义:
近期 zk Rollup 项目非常活跃. StarkNet 宣布将在未来发币, Aztec 发布了隐私 DeFi, zkSync 发布了主网上线倒计时, Scroll 发布了 Pre-Alpha 版本的 zkEVM, Polygon 开源了 zkEVM 项目的全套代码……
以太坊生态可谓是一场 zk 与 zkEVM 的军备竞赛. 而正如我们在之前的 zkVM 与 zkEVM 文章中所说的, zkEVM 的方案各有千秋, 各有优势.
首先是技术大方向上的区别, 基本分为两个方向:
两个方向上都有不同的选手:
在方案的取舍上, 实际上有非常多的变量. 就像游戏初始人物加点一样, 只有一定量的天赋点可以分配给每个变量, 可以说又是一个三难选择:
其中典型方案的区别为:
Polygon Hermez 此次开源的 zkEVM Rollup 网络的核心组件就是 zkEVM. 它的整体技术方案与其他方案的对比和我们前文中所述的基本一致.
Polygon zkEVM Rollup 的整体架构如下:
架构中的核心就是 zkEVM 本身. zkEVM 会执行 L2 的 tx, 并且链下证明网络会为 zkEVM 中 tx 的执行生成有效性证明, 最终状态改变和证明会被提交上以太坊主网.
Polygon zkEVM Rollup 的关键组件为: PoE 共识算法, zkNode, zkProver, STARK 与 SNARK 的 Proof Builder, Rollup 跨链桥:
Rollup 跨链桥: Polygon zkEVM Rollup 除了是一个传统的 Burn/Mint 跨链桥以外, 还可以作为与其他 L2 进行跨链的桥梁.
Polygon zkEVM Rollup 的设计核心思路就是:
真正让 Polygon 方案脱颖而出的优势有很多.
首先, Polygon 开发团队间的协作天然地形成了合力. Polygon 的 zk 宇宙中包含了 Polygon Hermez (也就是我们所说的 Polygon zkEVM 的主力开发团队), Polygon Zero, Polygon Miden, 与 Polygon Nightfall, 模块化方案中更是包括了其他的很多团队. 虽然三支 zk 队伍的方向略有不同, 但都是 zkVM 领域的顶尖团队, 在技术方案与架构上能直接地进行协作与互相帮助. 比如 Polygon Hermez 选择 64-bit 的 small field 的 STARK 证明生成就是采取了 Polygon Zero 的建议.
此外, Polygon zkEVM Rollup 在 zk 技术上有很多创新. 比如两门 DSL zkASM 和 PIL 的创造, 可以用于解释 EVM 字节码与编码多项式承诺; STARK 与 SNARK 的结合, 发挥了 STARK 的 Scalable 和 SNARK 的 Succinct, 让证明整体更快的同时最终链上空间消耗更小; 优化上, 采用了非常高效的 Goldilocks 作为 base field, 实现了 Keccek 电路的并行计算, 使用 Poseidon-hash Merkle tree 作为数据结构进行系统的存储.
在证明生成去中心化与 EVM 等同性上, Polygon Hermez 与 Scroll 都以各自的方式做出了很大的努力. 要实现 EVM 等同性, 就必须要将 EVM 的操作码通过 zk 电路的形式来编写, Polygon 通过 zkASM 来解释, 然后在 zkExecutor 中执行 (Geth 本质上一样是解释), 而 Scroll 是直接可以对 Geth 客户端的 Execution Trace 生成证明. 两者在兼容性上实际没有区别 (runtime 的解释或者转译不会对适配性有影响), 对比下, Polygon 的方案在 EVM 等同性上做到了对证明节点更友好, 更高效, 对比之下, Scroll 侧重于完全复用 Geth 的安全基础, 更方便审计.
我认为 Polygon Hermez 的 zkEVM 的方案在原生 EVM 支持与性能之间击中了 Sweet Spot, 不仅通过 zkASM 对 EVM 进行解释, 避免了 EVM 底层开发复杂度极高的问题, 同时也通过不同角度的创新与优化让性能不再是 zkEVM 的致命问题.
用户苦 Layer 1 gas 已久也, 在我们之前 MEV 的研究里, 讨论到了一个理想的网络的形态.
在一个理想的网络里:
同时在 Crypto 与区块链的语境中, 网络还需要是去中心化与性能可拓展的. 这就是一个理想区块链网络的三难格局:
Layer 1 的单体区块链不可能同时做到以上几点, 而 Rollup 通过中心化出块, 去中心化验证做到了能最终实现性能高, 去中心化, 低费率的终局.
这也是我们在 Rollup 文章中得出的结论.
在长远的角度和实际的理论性能上限下, zk Rollup 相比 OP Rollup 更具有可拓展性, 安全假设更加强.
Optimistic Rollup 所带有的挑战期让一个 tx 被真正 finalized 的时间特别长, 而 zk Rollup 的证明一经生成与验证, 则可以直接让 tx 完全 finalized.
Rollup 的 OP 就像 Layer 1 的 PoW 与最长链原则, zk 像 PoS 与其相关共识. 对于 Layer 1 来说, PoW 与 PoS 的机制都是可以的, 但追求性能的 Rollup 在终局中更需要更强保证 (通过质押或者密码学) 的 zk 机制来实现.
这也是我们在模块化区块链文章中得出的结论.
既然 zk Rollup, 那么为什么现在火热的都是 Optimistic Rollup 呢?
因为目前运行的 zk Rollup 并没有通用计算能力, 如 Loopring 等, 仅仅是停留在单一操作的阶段, 开发者无法部署与移植智能合约到 Rollup 中.
zk 证明主要用于证明操作的正确性, 一个 zkEVM Rollup 的出现能培养像 Optimistic Rollup 一样的智能合约生态, 远远比普通的 zk Rollup 转账扩容网络灵活, 同时会比 Optimistic Rollup 更具有安全性, 用户体验更好.
zkEVM Rollup 的出现是天时地利人和:
那么 zkEVM Rollup 对于用户来说到底什么体验上的提升呢?
首先我们需要定义一下用户, 我认为, 用户包含了开发者和普通用户:
在未来, 用户与开发者在 zkEVM Rollup 上的体验会无限接近于以太坊主网, 同时体验会在低 gas 与快速确认的优势下更加地迅捷和流畅.
Polygon zkEVM Rollup 的计划中, ETH 始终会作为 Rollup 的 gas fee 计价单位, 而 MATIC 会作为质押所需要的代币, 这是非常优秀的一个决策:
同时, Polygon 所为 zkEVM Rollup 带来的还有:
对于 zkEVM Rollup 方案的未来, 我们会分析技术上的未来, 以及这个方案的终局形态到底是什么.
Vitalik 对这个话题有着非常深刻的见解. 在他所概括的四种 zkEVM 分类中, 没有真正的好与坏的方案, 只是有不同的技术上的取舍: 更贴近底层但更慢, 更缺少兼容性但更快.
长远来看, zkEVM 的工程化落地和优化只是时间上的问题. 所有方案都有着自己的价值. Vitalik 也说这些不同方案或许在时间的推移中慢慢转型, 直到找到适合自己定位的哪一种.
最好的未来, 就是我们拥有非常多个不同风味的 zkEVM, 从而开发者可以选择自己喜欢的那一种, 以太坊主网也可以去通过他们的创新来做自我提升. 越多创新就是越好的未来.
Rollup 技术的终局会是 zkEVM Rollup, 而 Optimistic Rollup 会继续有着自己的一席之地, 甚至会有 zkEVM 与 Optimistic 混合的 Rollup (个人认为一种机制其实足矣).
zkEVM Rollup 在很多方面都比 Optimistic Rollup 好. 但是 Optimistic Rollup 最大的好处就是建立起来更简单, Optimism Bedrock 和 Geth 只有五百行代码的区别, 任何了解 Geth 的工程师都可以很轻松的搭建一条 Optimistic Rollup, 或者未来在 Celestia 上使用 Optimint 等引擎, OP Rollup 这方面的道路已经被全面探索过. 而 zkEVM Rollup 复杂度更高, 学习门槛更高, 还没有真正完全落地的经验与方案.
聊了很多的技术, 但是技术肯定不是最重要的. zkEVM Rollup, Rollup, 以太坊, 乃至区块链的瓶颈从来不是工程落地或者 DA 或者共识上的技术瓶颈, 而是用户.
举个 Web2 的例子 (感谢 Nelson): 苹果的 App Store. 所有的开发者都会优先考虑在 App Store 上发布应用, 但是 App Store 的审核非常不稳定, 经常会随机拒绝应用的上传. 相比之下, 安卓的应用市场, 或者亚马逊的应用市场审核就友好很多. 但是为啥大家都想发布到 App Store 呢? 因为 App Store 有成熟且稳定的用户群体! 无论安卓或者亚马逊应用市场的开发者体验做得再天花乱坠, 开发者都还是会涌向有着用户的平台.
软件开发的目标不是优雅的 API, 100% 的 Test Coverage, 最好的编程语言, 而是: 解决更多的问题和提供更多的价值. 这就意味着需要面向更多的用户.
那么在我们的想象中, 一个真正终局的 zkEVM Rollup 会是怎么样的呢?
终局的基础: 技术
终局的核心: Social Consensus
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!