,
zkEVM指的是零知识证明(Zero Knowledge Proof)和以太坊虚拟机(EVM)之间的完美兼容,早期的 ZK Rollup 是不支持 EVM 的。它们普遍缺乏执行智能合约的能力(或者支持特别的虚拟机),因此受限于相对简单的特定场景,为了解决这个问题,许多组织和研究人员专注于创建 zkEVM,就是为智能合约在 EVM 中的执行(过程和结果)生成零知识证明的。
Type1 类 zkEVM :完全等效于以太坊
Type2 类 zkEVM :完全兼容 EVM 以太坊虚拟机(曾经还有 Type2.5 类,如今看来基本与 Type2 类融合了)
Type3 类 zkEVM :几乎兼容 EVM 以太坊虚拟机
Type4 类 zkEVM :兼容高级语言
架构:
完全等同于以太坊且无需改变以太坊系统环境的任何部分。
无需取代哈希(Hashes)、状态树(State Trie)、交易树(Transactions Trie)、预编译的合约(Precompiles),和任何其他共识逻辑(In-consensus Logic)。
其目标是与现有的应用程序完全兼容,开发者可以将应用程序丝滑地照搬过去。
优点:
是所有类型 ZK Rollup 中兼容程度最高的方案。因此也是开发者最友好对方案——允许开发者将现有代码零摩擦(无需修改)地部署到 L2 上运行,因为所有的共识逻辑和系统环境完全等同于以太坊。
和以太坊本身探索扩容的方向高度一致,因为在 Type1 类 zkEVM 上的探索,未来是可以被无摩擦地引入到 Ethereum 本身,从而使得以太坊 L1 本身更具可扩展性。
它可以让 Rollup 无摩擦地照搬现有的海量以太坊基础设施(例如:以太坊执行客户端可以按原来的方式用于生成和处理 Rollup 区块、现有的区块浏览器和区块生成等工具也可以丝滑地部署到 L2)。
能够如同现在的以太坊一样验证以太坊区块,或者更确切来说是验证执行层端(包括所有交易执行、智能合约和账户逻辑,但目前还不包括信标链共识逻辑)。
正如先前提到的,完全等价以太坊的一大价值,便是可以借助以太坊现有的巨大网络效应和成熟复杂的生态。
缺点:
以太坊在融合零知识证明方面所面临的问题,Type1 类方案也同样面临(毕竟它是以太坊等价,而以太坊最初并非为了 zk 功能设计的)。
最大的问题就是生成证明所需时间久。针对这个问题,目前行业里主要的解决方案主要是:通过巧妙的工程大规模并行化证明,或通过 硬件优化来加速。
主流项目:
以太坊基金会 PSE(Privacy and Scaling Explorations 隐私和扩容)团队
Taiko:今年 7 月已更新至 Alpha-4 测试网,预计 2024 年年初上线主网。Taiko 项目从最初就优先考虑去中心化和兼容性,是目前第一家且唯一一家实现去中心化提议者(proposer)的 ZK Rollup。
架构:
力求完全兼容 EVM 以太坊虚拟机,但不等效于以太坊。
与以太坊自身的运行环境相比,此类型 zkEVM 主要对区块结构、状态树的数据结构、gas fee 的定价逻辑(根据 zk 友好度重新定价)和数据存储等方面进行了一些修改,使 zk 验证证明生成得更快更便宜。
其目标是尽可能与绝大部分现有应用程序兼容,少数应用需进行一些改动。
优点:
通过对 gas fee 的重新定价(越 zk 不友好的 op code 价格越贵,反之亦然),和删除部分对 ZK 不友好的以太坊堆栈,来提供比 Type1 类更快的验证时间。
Type2 类型可以做到与极大部分现有的以太坊应用程序兼容,因此绝大多数开发者和用户层面基本感受不到摩擦。
虽无法零修改地直接使用以太坊执行客户端,但通过一些调试仍可以支持现有的 EVM 调试工具和其他开发基础设施。因此仍在极大程度上可以借力于以太坊现有的繁荣生态。
缺点:
更改执行环境的影响范围虽小,但中长期依旧存在潜在的开发问题。比如将以太坊常用哈希(Keccak)替换为其他 zk 友好的哈希值(例如 Poseidon ),有可能会导致那些依赖于 Keccak 哈希值(涉及到历史数据)的程序应用(比如:跨链桥。大致原理:跨链桥不是实时通讯,通常是你在 A 链做了一个行为——比如已经 burn 了什么;要在 B 链做相互对应行为——要铸造什么…那本质就是你在 B 链上需要去证明 A 链的历史数据,因此会涉及到使用 Keccak 来证明历史数据)在迁移到 Type2 类型项目后出现不兼容问题(无法使用、或者跑出不同结果)。
对 gas fee 定价规则的更改(本意是通过重新根据对 zk 友好程度来定价 op code,来「引导」开发者减少使用 zk 不友好的 op code),对于已经在以太坊上已经进行过 gas fee 优化的合约、甚至是以太坊上的 gas fee 优化工具就会带来问题。
这些修改虽然和 Type1 类 zkEVM 相比,进一步提高了证明者的效率,但和 Type4 类 zkEVM 相比,证明时间依旧是一个相对缺点。
主流项目:
Scroll:2022 年 9 月上线 Pre-Alpha 测试网,2023 年 2 月上线 Alpha 测试网,预计于 2023 年 8 月上线主网。测试网上线时属于 Type3 类 zkEVM,但正在逐步增强 EVM 兼容性并向 Type2 类 zkEVM 过渡。
Polygon zkEVM(Polygon 团队的 ZK Rollup 方案):2023 年 3 月上线了主网 Beta 版本。上线时属于 Type3 类 zkEVM,但目前在向 Type2 类 zkEVM 过渡。
架构:
Vitalik 在其 2022 年的 blog 文章中称,Type3 类 zkEVM 更像是一个过渡(通过提高兼容程度过渡为 Type2/1 类;或者通过降低兼容程度、提升 zk 友好度,过渡为 Type4 类)。
近乎兼容 EVM 以太坊虚拟机。通过在兼容性方面进一步牺牲,使其 zkEVM 更易于开发、zk 证明生成速度更快。
删除了更多在 zkEVM 中难以实现的功能(比如预编译功能)。
在处理合约代码(contract code)、内存(memory)或堆栈(stack)方面存在更大差异。
目标是与大多数现有应用程序兼容。
优点:
相比起 Type1 和 Type2 类 zkEVM,此类型更加 zk 友好,运算 zk 证明时间更短。
相比起 Type4 类 zkEVM 可以兼容的现有以太坊应用程序更多。
缺点:
相比起 Type1 和 Type2 类 zkEVM,此类存在更高的不兼容性和更多元素的牺牲(对以太坊开发者更加不友好)。这也是为什么 Type3 类更像是一个过渡,处于此类的方案大概率会通过提升兼容度,过渡到 type2 类 zkEVM。
相比起 Type4 类 zkEVM 证明速度更慢。
架构:
此类实际上属于 zkVM(零知识证明虚拟机,而非零知识证明以太坊虚拟机)。
可以理解为编程语言层面的兼容。大致逻辑是:开发者可以继续使用他们在以太坊上习惯使用的编程语言(比如 Solidity)编写智能合约。此类型项目会用编译器将此编程语言转换为它们自定义的可读代码(比如 Starkware 使用 Warp 编译器将 Solidity 代码转换为 Cairo 字节码;zkSync 通过 LLVM 编译器将 Solidity 代码转换为其自定义的虚拟机可执行的代码 LLVM-IR)进行编译,并在它们自定义的环境中(比如 Starknet 的 Cairo VM 和 zkSync 的 Sync VM)执行。
目标是低成本、高效率、最大化零知识证明友好性。
优点:
非常快的验证时间。
直接从高级语言编译可以大大降低成本(时间、金钱和计算工作量)。
降低成为证明者的技术门槛,提高去中心化程度。
此类 zkEVM 可以通过使用其自定义的虚拟机原生支持帐户抽象(Account Abstraction)。因为 EVM 等效的链无法原生支持账户抽象,需要通过以太坊的 ERC-4337 来实现。
缺点:
大量现有的以太坊应用程序无法被复制到这类 zkVM 中,或者在复制过程中会出现问题:比如 合约在 Type 4 类 zkVM 系统中的地址可能与 EVM 中的地址不一样;Type4 类 zkEVM 不支持手写的 EVM 字节码(而目前许多应用程序都会使用手写的 EVM 字节码以节省 gas fee);(先前提到了此类型是通过编译器达到 Solidity 代码语言层面的兼容)其编译器并不支持 Solidity 的一些功能。
以太坊开发者如果想将应用部署到此类项目上,需要进行更复杂的的调整。因此,和前几类 zkEVM 相比,此类项目的开发者友好度相对低,有可能影响生态的发展和技术的迭代速度。
极难借力于以太坊现有的复杂繁荣的生态和网络效应。
主流项目:
zkSync Era(Matter Labs 团队构建的 ZK Rollup 方案):2020 年 6 月上线 zkSync Lite(zkSync 1.0),主要支持简单的支付(payment)和资产兑换(swap)场景,并不支持 EVM 兼容的智能合约;2023 年 3 月上线 zkSync Era(zkSync 2.0),通过上述架构可以实现在高级语言层面的兼容。zkSync 的目标本就不是 EVM 兼容,而是提高零知识证明生成速度。
Starknet(Starkware 团队构建的 ZK Rollup 方案):2021 年 11 月上线主网,今年 7 月已更新至 v0.12.0 版本。其自身属于 Type4 类 zkEVM,目标本就不是 EVM 兼容。但目前它上面也有像 Kakarot 这样的项目,旨在使 Starknet 也能达到类似 Type 2.5-3 类 zkEVM 的兼容程度)
正加财富网内容推荐 | ||
OK交易所下载 | USDT钱包下载 | 比特币平台下载 |
新手交易教程 | 平台提币指南 | 挖矿方法讲解 |