一个真正终局的 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 的概念可以被拆解成两个部分:
那么 zkEVM 就是一个至少在编程语言层面兼容 EVM 的 zk 虚拟机。智能合约在 zkEVM 中运行后, 会生成一个 zk 证明, 它可以证明运行状态转换的有效性, 保证计算可信。验证者只需对证明验证即可 ( 开销很小 ), 无需重新执行 ( 冗余很大 )。
zkEVM 在各个层面都具有重大的意义:
近期 zk Rollup 项目非常活跃。StarkNet 宣布将在未来发币, Aztec 发布了隐私 DeFi, zkSync 发布了主网上线倒计时, Scroll 发布了 Pre-Alpha 版本的 zkEVM, Polygon 开源了 zkEVM 项目的全套代码……
以太坊生态可谓是一场 zk 与 zkEVM 的军备竞赛。而正如我们在之前的 zkVM 与 zkEVM 文章中所说的, zkEVM 的方案各有千秋, 各有优势。
首先是技术大方向上的区别, 基本分为两个方向:
两个方向上都有不同的选手:
按照 Vitalik 的分类对比方法的话, 分为如下类型:
在方案的取舍上, 实际上有非常多的变量。就像游戏初始人物加点一样, 只有一定量的天赋点可以分配给每个变量, 可以说又是一个三难选择:
其中典型方案的区别为:
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 会是怎么样的呢?
zkEVM Rollup 都有光明的未来。
Related Links
https://mp.weixin.qq.com/s/GT4Yfw8VPhBikME4mKCTNQ
https://mp.weixin.qq.com/s/808jMXvIUqB973aVHrAzGQ
https://mp.weixin.qq.com/s/sl3JewEsVNZ7bhSAgd8z1g
https://blog.polygon.technology/the-future-is-now-for-ethereum-scaling-introducing-polygon-zkevm/
https://www.youtube.com/watch?v=sokVnpaqIEc
0a:
https://medium.com/@foresightventures-zh/foresight-ventures- 解读 -zk-zkvm-zkevm- 及其未来 -6643262505b2
https://twitter.com/toghrulmaharram/status/1518270138876891138
https://docs.google.com/presentation/d/1XB96F9ahIlGUevpOTdi-yx_gkrwmX4WGcCjwf3gEiYc/edit#slide=id.g13232b2e9d8_0_401
https://www.cryptologie.net/article/564/what-are-zkvms-and-whats-the-difference-with-a-zkevm/
0b:
https://appliedzkp.org
https://twitter.com/0xShitTrader/status/1549816145053728769
https://twitter.com/yezhang1998/status/1549771898393100288
0c:
https://vitalik.eth.limo/general/2022/08/04/zkevm.html
https://medium.com/@foresightventures-zh/foresight-ventures- 解读 -zk-zkvm-zkevm- 及其未来 -6643262505b2
https://twitter.com/aliatiia_/status/1422655305540902913
https://twitter.com/toghrulmaharram/status/1550065886064779265
https://twitter.com/aliatiia_/status/1498647477754474502
https://twitter.com/LuozhuZhang/status/1538166119785111552
https://twitter.com/aliatiia_/status/1422655305540902913
https://twitter.com/aliatiia_/status/1549999424650215430
https://twitter.com/cronokirby/status/1550750051873562624
https://twitter.com/henrlihenrli/status/1559173089971146753
https://twitter.com/henrlihenrli/status/1559173135789830144
1:
https://github.com/0xPolygonHermez/zkevm-doc/blob/main/mkdocs/docs/zkEVM/Polygon-zkEVM-Archtectural-Overview.md
https://blog.polygon.technology/zkverse-deep-dive-into-polygon-hermez-2-0/
https://www.youtube.com/watch?v=T2fH1NlHnAc
1b:
https://twitter.com/0xDinoEggs/status/1544868275829571584
1c:
https://twitter.com/Ingo_zk/status/1550121968904507393
https://blog.polygon.technology/introducing-plonky2/
https://twitter.com/_bfarmer/status/1549807101010010115
https://twitter.com/toghrulmaharram/status/1549863723556282370
https://twitter.com/dlubarov/status/1550491404345950216
https://twitter.com/yezhang1998/status/1549808592936906752
https://twitter.com/dlubarov/status/1550506366527086594
https://twitter.com/dlubarov/status/1550491438470668290
https://twitter.com/toghrulmaharram/status/1550065886064779265
https://twitter.com/aliatiia_/status/1549999427791765504
https://twitter.com/mt_1466/status/1550490476201082880
https://youtu.be/T2fH1NlHnAc?t=516
2a:
https://mp.weixin.qq.com/s/Yd-umFnjhXyB7crei2lynA
https://twitter.com/0xmisaka/status/1511370037306834954
https://mp.weixin.qq.com/s/GT4Yfw8VPhBikME4mKCTNQ
2b:
https://mp.weixin.qq.com/s/nGwUfCh6c3qMVcnLAQc-8A
https://vitalik.ca/general/2020/08/20/trust.html
3d:
https://twitter.com/sandeepnailwal/status/1550009537406574593
https://twitter.com/sreeramkannan/status/1551439980991377410
4a:
https://vitalik.eth.limo/general/2022/08/04/zkevm.html
4b:
https://twitter.com/VitalikButerin/status/1553342590786813952
4c:
https://thorstenball.com/blog/2022/05/17/professional-programming-the-first-10-years/
4d:
https://twitter.com/itamarl/status/1552616078068838401
https://twitter.com/sgoldfed/status/1551607983167229954
https://twitter.com/EdFelten/status/1555163841469841411
https://twitter.com/MihailoBjelic/status/1554994843851554816
https://twitter.com/pseudotheos/status/1554937456050544641
Others:
https://ethresear.ch/t/nearly-zero-cost-attack-scenario-on-optimistic-rollup/6336/3
https://ethresear.ch/t/a-pre-consensus-mechanism-to-secure-instant-finality-and-long-interval-in-zkrollup/8749
https://twitter.com/yezhang1998/status/1553785807521325057
https://twitter.com/kelvinfichter/status/1553323160564404225
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。