VICOINDAO

Posted on May 17, 2023Read on Mirror.xyz

【财富密码】一问解析zkEVM Rollup 的前世今生(三)理解 zkEVM

理解 zkEVM

我们为了理解 zkEVM(也可以认为是 zkVM), 便必须对 EVM 的概念有一个初步的理

解,从而才能明白当前 zkEVM 的局限性。

从 EVM 到 zkEVM

还记得 Ethereum 社区经典的表述,EVM 由数千台运行以太坊客户端,相互连接的计算

机(节点)共同维护。以太坊协议本身的存在仅仅是为了保持这个独一无二的状态机的

连续地、不间断地和不可变地运行。EVM 规定着如何在区块不断更迭的过程中去定义

那个 “标准” 的状态。EVM 的行为更像一个数学函数:给定一个旧的有效状态 S0 和一

组新的有效交易 T,以太坊状态转换函数产生一个新的有效状态 S1。在这个图灵完备的

状态机上,可以运行任何代码。

EVM 按照一定的规则执行交易。首先,EVM 将人类可读的编程语言(如 Solidity 和

Move)编译为面向机器的 16 进制的 “低级” 语言,称为 EVM 字节码(bytecode),最

终按照操作码(Opcode)解析为顺序指令列表。

因此,zkEVM 是一个至少在编程语言层面兼容 EVM 的 zkVM。EVM 的设计存在一定的

局限性,与本份研报相关的是,EVM 无法与 ZK 相应的协议兼容,需要对原有 EVM 进

行一定的改造,这种改造是颇具有挑战性的:

  1. EVM 对椭圆曲线的支持有限。

  2. EVM 基于 256 位整数运行(就像大多数基于 32~64 位整数运行的普通虚拟机那

样),零知识证明则 “天然” 基于素域运行。

  1. 第三,EVM 不同于传统虚拟机, 有许多特殊的操作码。

  2. 第四,EVM 是基于堆栈的虚拟机而不是更高级别的零知识证明友好型 IR

(Intermediate Representation,即中间表示。这是一种计算机程序编译过程中源

代码和目标代码之间的中间状态)。

zkEVM 兼容性:三种类型

在 Vitalik 的文章中对于改造程度和 EVM 兼容程度做了四个层面的划分,本文对其做更

为明晰的理解。

类型一,高级语言编译等效:最低层级的 “兼容” 便是将流行的高级语言编译为 ZK

SNARK 友好型语言。此时底层环境和虚拟机特性是完全不同于 EVM 的 zkVM,最为直

接的体现是在字节码层面和 EVM 不兼容,开发者无法直接复制、修改 EVM

bytecode,且可能 VM 内部脱离以太坊的技术支持,缺乏一定的 ERC 标准,无法与

EVM 保持同步的安全性。

类型二,EVM 等效:zkEVM 和 EVM 在字节码层兼容但在共识层不兼容,其将大部分

EVM opcode 转化为电路。这个类型涵盖现阶段项目范围最广,在 Vitalik Buterin 的

Blog 中细分为三种类型,主要在 Gas Fee(满足 ZK 协议复杂的操作)、部分操作码兼

容性、哈希函数类、,少量的区块、交易树、状态树结构,证明时间等方面有一定的差

异性。这些不同方面的不兼容会导致较高的证明/验证开销、较低的效率,或是对开发

者合约部署、运行的有限的影响,但是和类型一类型三之间有本质性的区别。由于现阶

段处于 zkEVM 项目爆发期,项目迭代快,同时很难具体评估技术细节不同而导致的等

效层级不同,因此笔者认为只需要关注项目和项目之间的技术大致差异性,而无需强求

类型的限定。

类型三,Ethereum 等效:zkEVM 和 EVM 在共识层兼容,此时 zkEVM 在一定程度上可

以完全融入 L1,作为等效的 P2P 节点进行协议通信,zkVM 和 EVM 可以等效。此时,

zkEVM 在 L1 层便可以进行多个交易的证明,以加快其他节点区块的验证,这意味着 L1

层自身的扩容,无需围绕 zkEVM 构建 L2。该类 EVM 效率极低,仍处于 “研究” 领域,

且大规模的部署可视作以太坊的升级。类似的存在另一种极端情况,公链运行 zkVM,

L1 证明本身数据而抛弃 Ethereum 原有架构,以此减少生成证明时间。

在拓哥看来,所谓兼容性是在有限的 ZK 协议证明能力、网络协议设计难度、网络算

力,运行效率、投入计算量和开发适配性的一个取舍。

·运行效率针对链上用户而言,最为直观体现是交易速度、L1 上验证者效率、L2 上

证明者效率、zkEVM 硬件加速程度等;

·投入计算量体现 L1、L2 层网络的 Gas Fee(手续费);

​·而开发适配性则是从合约开发者角度,考虑合约兼容程度和基础设施通用性,以及

特殊操作码,部分 ERC 协议是否适配等有关。

类型一的 zkVM 完全实现一个 ZK 友好型 VM,在性能方面具有优势,dApp 开发者有

相当高的迁移成本,同时无法同步以太坊的最新特性和安全性。而在类型二中,往往证

明者证明速度(满足电路转化的要求)、计算量和基础设施通用程度(满足以太坊的要

求)呈负相关。

当前 ZK 赛道梳理

围绕着上文提到的 zkEVM 不同等效程度的优劣势,ZK 细分赛道也逐渐火热,主要有以

下几个方面:

  1. ZK 以太坊兼容/电路编译:解决的是最为核心的 EVM 兼容性问题,也是赛场的主

角,各类其他生态围绕其展开。

  1. 公链:如 Manta Network 等,抛弃 Ethereum,建立新的 zkVM,重视 L1 层扩容

问题的同时关注数据隐私问题。

  1. ZK 跨链桥/预言机:ZK 赛道的基础设施,在多条 zkEVM Rollup 的 L2 之间进行资

产迁移或是获取链下数据。

  1. ZK 硬件加速:ZK 赛道的基础设施,解决生存证明计算量大问题。目前 ZK 硬件加

速主要来自 GPU,预计需要到 2023 年年底之后,才能够出现支持 zkEVM 证明的

专用硬件(ASIC),以及相对成熟可用的产品。

  1. ZK 工具类:根据兼容程度提供不同的开发工具。

  1. ZK 应用:与本研报关联较小,更多的聚焦在 ZK 隐私性的优势上。

​​ ​好的,今天就分享到这里了,感兴趣的朋友请关注我们!

微信1:victeam005

微信2:shijie20170405

Telegream:https://t.me/VICOINDAOCHAT