Bitget App
Trade smarter
行情交易合约跟单策略理财Web3

从Type1到Type4,各类型ZK-EVM间差异何在?

MarsBitMarsBit2023/09/25 07:21
作者:Lisa Akselrod

在 ZK-EVM 领域,区别主要来自以太坊/EVM 等效性水平、ZK 不友好元素对证明生成成本和速度的影响,以及电路实现的复杂性(如 VM 构建或状态树)。

编者按:作者根据 Vitalik 此前撰写的 ZK-EVM 介绍文章进行整理,并详细介绍了各类 ZK-EVM 和它们之间的差异。

大约一年前,一群 ZK-EVM 宣布即将推出测试网。这些举措激起了以太坊社区的好奇心,并引发了人们对以太坊等效和 EVM 等效等术语背后的细微差别的讨论。

为了明确起见,Vitalik 撰写了一篇重要的文章,题为 《不同类型的 ZK-EVMs》 ,将各种 ZK-EVM 分类为四种类型,并解释了它们的区别。

其核心思想是:Type 1 (例如  Taiko )与以太坊完全等效,而 Type 4 (例如 zkSync)在高效的证明生成方面表现出色。所有其他类型,Type 2、Type 2.5 和 Type 3 ,介于这两者之间(例如  Polygon zkEVM、 Scroll  Linea )。

大多数 ZK-EVM 最初都是 Type 2.5 和 Type 3 ,并透露了一些朝 Type 1 或 Type 2 发展的意图,尽管这些项目没有为此提供具体的时间表或承诺。

本文主要关注 Type 1 和 Type 2/Type 2.5 之间的差异,并描述了破坏以太坊等效性可能带来的后果。我们还将简要介绍其他类型。

ZK-EVM 的主要目标是扩展以太坊,即提高以太坊的吞吐量,同时保留其其他特性(安全性、开发者体验等)。在理想情况下,ZK-EVM 应该能够:

在 ZK-EVM 领域,区别主要来自以太坊/EVM 等效性水平、ZK 不友好元素对证明生成成本和速度的影响,以及电路实现的复杂性(如 VM 构建或状态树)。

让我们分析这些差异,特别是将 Type 1 与 Type 2/Type 2.5 区分开来。我们还将涉及到与每种类型最相关的使用案例。

在比较各种类型时,通常使用下面的图表:

对于那些不在 ZK-EVM 领域全职工作的人来说,这张表可能看起来一头雾水,所以让我们将这些术语翻译成通俗易懂的话再看看:

这个图表更清晰地展示了每种类型的实际情况,但它仍然可能有些晦涩难懂,接下来让我们通过分别解释每种 Type,全面探索 ZK-EVM 领域。

Vitalik Buterin :

Type 1 表示不更改以太坊系统的任何部分,以便更轻松地生成证明。对以太坊的不改变意味着安全性上的不妥协,因为大多数密码学原语(例如哈希函数)、开发者基础设施(例如调试器)或链基础设施(例如执行客户端)已经经过了 9 年的实战测试。

Type 1 ZK-EVM 不会替换任何东西:哈希、状态树、事务树、预编译或任何其他共识逻辑,一切都与主网的 EVM 完全相同。

Type 2 通过去除一些不利于 ZK 的部分,使得证明生成更快、电路开发更容易。然而,由于这一点的后果,它可能会使得 ZK-rollup 的其他部分(例如节点软件)的开发更加复杂。这些复杂性可能是由于已经确立的最佳实践和测试工具与实施的更改(例如改变的状态树)不兼容所导致的。

注意:等效于以太坊和等效于 EVM 并不相同。虽然等效于以太坊意味着没有改变以太坊的任何部分,也就是说与所有以太坊 dApp 完全兼容,但是等效于 EVM 允许改变数据结构(例如块结构或状态树)。

尽管这些调整可能看起来很小,但它们会影响以太坊的兼容性。改变数据结构可能导致以太坊 dApp 与 Type 2 ZK-EVM 不兼容,特别是在验证关于过去交易、收据或状态的 Merkle 证明时(例如跨链桥)。

对以太坊进行的修改旨在简化开发并提高证明生成速度。目标是修剪依赖于不友好的零知识密码学的以太坊部分。用更专业的术语来说,由于非本地域(例如哈希函数)而需要大量门电路(加法和乘法操作)的部分;大量的多标量乘法和/或快速傅里叶变换(FFT);或者只是需要大量操作的部分。

Type 2 ZK-EVM 可能修改的不友好的零知识元素的具体示例:

Poseidon 哈希函数在证明生成方面具有显著的速度优势。

然而,需要注意的是,相对于广泛社区认可的已建立的密码学原语,较新的密码学原语并不那么受青睐。尽管 Poseidon 可能提供速度,但 Keccak 经过实战检验的特性使其更具鲁棒性和安全,因为它被广泛采用。

这就是为什么 Keccak 尽管更古老且被更广泛的社区采用(在其他行业,例如安全系统或智能设备中的传感器),但可以被认为比 Poseidon 更更经得起考验,毕竟 Poseidon 是在 ZK 社区内创建和使用的新哈希函数。

请注意:更改这些组件任意之一都会破坏以太坊等效性。

Type 2.5 ZK-EVM 增加了在 EVM 中使用 ZK 技术难以证明的特定操作的 gas 成本。

鉴于以太坊每个区块的 gas 限制(30 M gas),增加每个操作码的 gas 成本会导致每个区块的操作码减少。因此,一个区块中可以包含较少复杂的操作码。较简单的操作码使电路变得更小,并且生成证明的速度更快。

难以进行 ZK 证明的部分包括:

改变 gas 成本可能会降低开发人员工具的兼容性并破坏某些 dApp。例如,经常执行 gas 成本增加的操作码的智能合约可能会超过区块 gas 限制并且无法执行。

Type 3 ZK-EVM 省略了不适用于 ZK 的预编译,并可能调整内存和存储访问。

依赖已删除的预编译的 dApp 需要进行重写。在不常见的情况下,Type 3 ZK-EVM 和原始 EVM 处理边缘情况的方式的差异可能需要对 dApp 进行调整。

Type 4 离 EVM 已经很远了。

用高级语言(例如 Solidity,Zinc)编写的智能合约源代码被编译为中间表现形式,生成适用于 ZK 友好的虚拟机的操作码。

在证明执行轨迹的 ZK 电路中,每个步骤都实现了约束,每个步骤的成本是所有操作码的总和。因此,Type 4 ZK-EVM 旨在使用尽可能少的复杂操作码来优化效率。

值得一提的是,自定义操作码(不在以太坊中涵盖的操作码)使得可以通过默认情况下在以太坊上无法实现的新功能。例如,通过帐户抽象功能进行多次调用执行,或使用像  Argent  这样的开箱即用解决方案启动智能合约钱包。

不同的 ZK-EVM 类型优先考虑不同的目标和特征。Type 1 侧重于以太坊等效性,而 Type 4 优先考虑高效的证明生成。其他类型介于这些极端之间,许多 Type 2 和 3 ZK-EVM 协议已宣布他们打算转向以太坊等效。

这四种类型的分类可能不是 ZK 汇总的最终状态,将来可能会进行进一步的修改。例如,一些 ZK-EVM 可能会成为混合型,Type 1/2 可能会开发 Type 4 解决方案(具有尽可能高的效率)并为 dApp 提供两种选择,而 Type 3 和 4 ZK-EVM 可能会添加以太坊等效选项。

0

免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。

PoolX:质押赚新币
CEC、QTLX、GDV等热门新币火热进行中!
立即质押!

你也可能喜欢

WUF 代币可领取

Medium2024/08/15 09:55

WuffiTap:终极社交挖矿冒险

Medium2024/08/15 09:51

官方Gala商品店宣布开业

Medium2024/08/14 03:32

2024年7月:通过新发展优化平衡

在七月,ICON推进了其整合工作并优化了系统性能。主要成就包括完成了对Stellar的审计以及Solana的合约。展望八月,我们预计将Sui合约部署到主网。

Icon Foundation Blog2024/08/13 11:16