AMP:详解ZK-EVM的五种类型:架构、优缺点及解决方案_PLA

本文详细探讨了ZK-EVM的五种类型,每种类型都有其独特的架构、优点和缺点,以及可能的解决方案。

此外文章还列举了一些实际的项目例子,以便读者更好地理解这些类型在实际应用中的表现。无论你是区块链开发者,还是对区块链技术感兴趣的读者,这篇文章都将为你提供深入且简洁的洞见。

让我们探讨一下ZK-EVM的类型,以及它的优缺点。

1.类型1:完全等同于以太坊;

2.类型2:完全等同于EVM;

3.类型2.5:部分等同于EVM;

4.类型3:几乎等同于EVM;

5.类型4:其中的高级语言等同。

类型1:完全等同于以太坊

架构:完全同于以太坊且不改变以太坊系统的任何部分。

优点

完美兼容性:

能够验证以太坊区块;

帮助使以太坊L1更具可扩展性;

适用于Rollups,因为它们可以重复使用大量基础设施。

缺点

完美兼容性:

以太坊最初不是为ZK功能设计的;

以太坊的许多组件需要大量计算来生成ZK证明;

以太坊区块的证明需要很多小时才能生成。

问题的解决方案:

大规模并行化证明者;

ZK-SNARKASIC.

类型2:完全等同于EVM

架构:

数据结构与以太坊有显著区别;

与现有应用程序完全兼容;

对以太坊进行了微小修改,以便更容易开发和更快生成证明。

优点

提供比类型1更快的证明时间;

数据结构不直接被EVM访问;

在以太坊上运行的应用程序:很可能可以在类型2上运行;

支持现有的EVM调试工具和其他开发基础设施。

缺点

在了解缺点之前,先了解什么是「Keccak」:

以太坊区块链的哈希算法;

用于保护以太坊上的数据;

确保信息被转换为哈希。

类型2与验证历史区块的Merkle证明以验证有关历史交易、收据/状态的应用程序不兼容。这是因为如果哈希算法发生变化,证明将会失效。

我们可以将Keccak看作是一种语言,它使用Merkle证明如果ZK-EVM将Keccak替换为另一种哈希算法,Merkle证明将变得陌生,应用程序将无法读取和验证它们的声明。

对缺点的潜在解决方案:以太坊可以添加未来可扩展的历史访问预编译。

项目

Scroll;

PolygonHermez.

然而,这些项目尚未实现更复杂的预编译,因此,它们可以被认为是不完整的类型2。

类型2.5:部分等同于EVM

架构:

增加难以进行ZK证明的特定EVM操作的Gas成本;

预编译;

Keccak操作码;

调用合约的模式;

访问内存;

存储。

优点

显著提高最坏情况下的证明时间;

比对EVM堆栈进行更深层次的更改更安全。

缺点

开发工具的兼容性降低;

一些应用程序将无法工作。

类型3:几乎等同于EVM

架构:

在ZK-EVM实现中,删除了一些异常难以实现的功能,通常是预编译;

ZK-EVM在处理合约代码、内存或堆栈方面存在轻微差异。

优点

缩短验证时间;

让EVM更容易开发;

目标是对不太兼容的应用程序只需要最少的重写。

缺点

更多的不兼容性;

在类型3中删除的使用预编译的应用程序将需要重新编写。

项目

目前,Scroll和Polygon被认为是类型3,然而,ZK-EVM团队不应满足于成为类型3,类型3是ZK-EVM添加预编译以提高兼容性并转向类型2.5的过渡阶段。

类型4:高级语言等同

架构:

接受用高级语言编写的智能合约代码;

编译为设计为ZK-SNARK友好的语言。

优点

非常快的证明时间;

降低开销;

降低成为证明者的门槛:提高去中心化程度。

缺点

在类型4系统中,合约的地址可能与EVM中的地址不同,因为地址取决于确切的字节码;

这意味着如果类型4的ZK-EVM没有字节码,它们将无法创建地址;

在上述情况下,类型4将与依赖反事实合约的应用不兼容;

许多调试基础设施无法移植,因为它们运行在EVM字节码上。

项目

zkSync

最后,我们可以将上述的几种类型放在一起做一个比较,帮助大家一目了然的理解不同的zkEVM。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-5:240ms