自以太坊合并完成之后,以太坊社区已经将关注点转移到如何开始扩展区块链以实现更便宜的交易费用、更快的交易和更高的吞吐量,同时保持建立在这个区块链之上的DeFi协议和其他dAPP的安全性。零知识以太坊虚拟机(zkEVM)目前构成了在以太坊社区内开发的最广受好评的扩展技术之一。) y# {6 X' ^- z+ z D8 j' V+ g
本文的重点将研究zkEVM和zkEVM领域中需要注意的一些关键项目。要了解zk-EVM是什么,我们首先需要了解两个关键概念;零知识Rollup(zk-Rollups)和以太坊虚拟机(EVM)$ o6 a' Y! `! W
8 P8 w& j: T5 x) e
什么是ZK-RollupsZK-Rollup是一种在以太坊区块链之上运行的第2层扩展解决方案。ZK-Rollups是链下协议,它在以太坊区块链之外执行交易,然后通过链上Rollup合约将交易批次提交回链上。ZK-rollup处理交易、执行计算并在链下存储数据,同时将资产保存在链上智能合约中。
本质上,ZK-Rollups处理链下交易以减少在执行交易时对区块空间的需求,然后将结果发送到以太坊区块链。ZK-Rollups本质上称为零知识,因为在交易完成后,它们会作为一个批次发送回以太坊区块链,并证明它们是有效的。这些证明被称为短的非交互式知识论证(SNARK)。zk-SNARK是用于验证数据真实性的方法,而无需透露交易的全部细节。9 `4 Q' ]9 ^/ D0 b4 D8 v
! a- d7 z7 d t# a" n' K. y
/ x) ?, T: l! @4 r- Y& a
ZK-Rollups架构有两个关键组件:
0 d% d* W! x4 K$ ^1 Y% K7 Q
链上合约:ZK-Rollups由运行在以太坊网络上的智能合约控制。以太坊区块链作为主合约,存储汇总块和排序,跟踪存款,并存储汇总状态。链上合约还充当验证者,确保ZK-Rollup生成的块。链下虚拟机:链下虚拟机独立于以太坊虚拟机,是ZK-Rollup架构中处理交易的地方。这确保了以太坊主网络上的区块空间减少。现在让我们看看什么是以太坊虚拟机(EVM):
$ g; L; r% D3 S# N1 C
什么是EVM
' k% m& @" v# L& b P
" X+ W- n5 b+ d. c
以太坊虚拟机(EVM)是一种数据处理引擎,其功能类似于具有大量可执行项目的分布式计算机。它是虚拟机,是以太坊整个运营结构的基础。它被视为以太坊中处理执行和智能合约部署的组件。每个以太坊节点运行一个EVM,在每次交易后更新,以确保以太坊网络的状态在整个系统中是一致的。, v7 @# [, W- h
现在我们已经研究了ZK和EVM的两个关键概念,让我们研究一下zkEVM是什么:0 ?4 e0 x* |, N0 ^: E
# \" @& w# K5 g/ }' ~0 z* B# j
zkEVM—更深入的研究zkEVM结合了ZK-Rollups和EVM的概念。因此,zkEVM允许开发dAPP,在使用以太坊虚拟机处理交易和执行智能合约的同时最大化隐私。$ B1 U2 b, c" X8 K9 Z
zkEVM 的类型关于 zkEVM 的执行有不同的思想流派。然而,以太坊的创造者 Vitalik Buterin 已经普及了 zkEVM 的分类。让我们来看看 Vitalik 提出的这些分类。
- d3 U' A$ C# Q& y" e5 [$ f; t
Type1 zkEVM这些类型的 zkEVM 也被称为完全以太坊等效。这是因为这些 EVM 完全等同于以太坊,除了更容易生成证明之外,不会对区块链进行任何更改。
正方:
这些类型的 zkEVm 与以太坊完美兼容,可以为未来在以太坊网络上的 zk 集成提供基础。
反方:
以太坊网络最初并不是为了与 zk 兼容而构建的。因此,以太坊网络可能需要大量计算来进行 zk 证明。因此,这些 zkEVM 可能会导致更长的证明时间,并最终导致更长的交易完成时间。
一些构建 Type1 zkEVM 的项目是来自隐私和扩展探索团队的 Applied ZKP 和 Taiko。
Q0 p' N+ b9 }, x0 n9 N4 ^- d' L
Type2 zkEVMType2 zkEVM 实现寻求与以太坊虚拟机(EVM)完全相同,但与以太坊等效略有不同。Type2 zkEVM 类似于以太坊区块链,除了数据结构和状态树不同。, O" Y: C9 U1 \% Y" x+ S6 b
7 i% [! U. G5 N/ k7 t
正方:3 E) e S2 c9 k: A* }
Type2 zkEVM 具有几乎等同于 EVM 的虚拟机,并将确保与多个 EVM 调试工具和开发人员基础设施的兼容性。" n$ o, i K% T! p
反方:
Type2 zkEVM 与 Type1 EVM 一样,具有较慢的证明时间,因为以太坊区块链最初不是为了与 zk 兼容而构建的。但是,Type2 zkEVM 的时间稍快一些。
5 `/ z. c3 `7 c
一些构建 Type2 zkEVM 的项目包括 Scroll 和 Polygon Hermez。
Type2.5 zkEVMType2.5 zkEVM 之所以如此命名,是因为它们与 Type2 zkEVM 非常相似,只是它们改变了 gas 成本。因此,Type2.5 zkEVM 有时被称为修改稿 gas 成本的 EVM 等效。$ Z0 x8 b7 n9 E0 g7 s" Y
0 ]. L5 y% j& c
正方:9 m" @8 }5 T7 W, D% T
6 T' {5 V% }) }/ z3 S
由于 gas 成本降低,Type 2.5 zkEVM 相当便宜。' w3 L7 L% v' a. G% M, n
反方:# X b4 v: q3 M2 x# _) p: ]
由于链上的 gas 成本发生了变化,因此存在与集成 Type2.5 zkEVM 的软件创建者可用的开发工具不兼容的风险,并且这种实施可能会破坏一些已构建的去中心化应用程序。
Type3 zkEVMType3 zkEVM 与其他形式的不同之处在于,协议中可以调用操作的次数有硬性限制。因此,这些类型的 zkEVM 有时被称为几乎 EVM 等效。
, z, i- H- }2 V1 v
正方:
( ?: L6 C. }+ R4 E
Type3 zk-EVM 更容易构建,并且大大缩短了验证时间,因为它们通常消除了难以实现的功能。! }8 m4 X2 ^& Z0 T1 M4 C- m$ `
反方:
" p b! ^/ o' u9 g
大多数协议目前避免保留为 Type3 zkEVM,直到它们能够完全实现使其成为 Type2.5 zkEVM 的特性。因此,由于大多数应用程序需要重写,因此存在更高不兼容性的风险。
在它们的早期形式中,Scroll 和 Polygon 被认为是 Type3 zkEVM。7 `( B) _/ S9 y/ n0 b% ~7 q& A
/ Q; }: C: a8 v9 k: O3 S! L2 ^! p" S/ e0 Q
Type4 zkEVMType4 zkEVM 的实现是通过使用以 Solidity 和 Vyper 等高级语言编写的智能合约代码并将代码编译为 zk-SNARK 友好的。因此,它们被称为高级语言等效 zkEVM。
正方:* Q; x( e+ B& ?( @' `' U
Type4 zkEVM 具有非常快的证明时间。* O/ r& Q N. i3 L8 M; v! t
反方:) a1 Z9 a, S4 s# S
在使用 solidity 或 vyper 等高级语言编译智能合约时,存在非常高的不兼容风险。
; {# W& |- [- k4 _
zkSync 和来自 Nethermind 的 Warp 是构建和实施 Type4 zkEVM 系统的项目。( f. t& t# y+ j0 h3 l/ R/ Q
9 K$ u, ] A$ F; o4 K& A1 F) D
最后自以太坊合并完成以来,我们看到了扩展解决方案的增加,以确保以太坊仍然是执行去中心化金融项目和其他去中心化应用程序的首选层。因此,我们认为这个话题对于 web3 的成功至关重要。但是,同样重要的是要注意,其中一些解决方案是实验性的,并且这个空间正在迅速发展,因此我们恳请您在做出任何投资决定之前密切关注该空间。