Validity Rollups:以太坊扩容的最佳方案及其争议

robot
摘要生成中

Validity Rollups: 以太坊扩容的最佳选择

Validity Rollups(也称为zk-rollups)被认为是以安全和去中心化方式提升以太坊处理能力的最有前景的解决方案。这种扩容方案的核心在于使用有效性证明进行可验证计算。其工作原理如下:

运营商将交易处理转移到链下环境(称为第2层),而不是在以太坊主网上处理每笔交易。在处理大量交易后,第2层操作员将结果返回以应用于以太坊状态,同时提供验证链下执行完整性的有效性证明。这个证明保证了批次中所有交易的有效性,并由链上验证者合约自动验证。这使得以太坊能够将结果应用到自身状态。

值得注意的是,Validity Rollups通常被误称为零知识汇总,但这并不准确。大多数Validity Rollup既不使用ZKP,也不用于确保隐私。因此,"Validity Rollup"这个术语更为准确。

为什么说Validity Rollups是以太坊最有希望的扩容方式?

链下虚拟机

在深入讨论之前,我们需要先了解虚拟机(VM)的概念。简而言之,VM是一个可以运行程序的环境,就像在Mac上运行Windows操作系统一样。它在执行某些输入的计算后在不同状态之间转换。以太坊虚拟机(EVM)就是运行以太坊智能合约的VM。

零知识虚拟机(zkVM)是一种程序执行环境,它能够生成易于验证的有效性证明,以证明程序已正确执行。"zkEVM"这个术语通常指的是利用以太坊虚拟机(EVM)并能够证明EVM执行的汇总。这个术语可能会产生误导,因为EVM本身并不生成这些证明;相反,证明是由一个单独的证明机制生成的,该机制以EVM执行的结果为起点。此外,这些证明主要关注有效性而非隐私,因此它们并不完全是零知识证明。

尽管所有Validity Rollups都旨在利用有效性证明来扩展以太坊,但它们在选择执行链下交易的VM方面存在差异。许多Validity Rollups选择复制EVM的设计(因此被称为"zkEVM rollups"),试图在L2 rollup上复制以太坊的体验。而Starknet则使用了一种新的VM——Cairo VM(CVM),专门设计用于优化有效性证明效率。

这两种方法各有优缺点:zkEVM以性能换取以太坊兼容性,而Cairo VM则将性能置于兼容性之上,优先考虑扩展能力。

zkEVM的做法

zkEVM旨在将以太坊体验完整地引入Layer-2区块链。它的目标是在汇总中复制以太坊开发人员环境。通过zkEVM,开发人员在编写智能合约或将其移植到更具可扩展性的解决方案时,无需更改代码或放弃现有的EVM工具和智能合约。

然而,这种方法的一个主要缺点是它限制了有效性证明的扩展潜力。由于zkEVM致力于与以太坊兼容,因此速度较慢且资源消耗更大。与CVM不同,EVM在设计时并未考虑证明效率。这限制了可以提高效率和可扩展性的优化措施,最终影响系统的整体性能。

EVM的可证明性挑战

zkEVM方法面临的核心挑战源于EVM的原始设计——它并非为在有效性证明环境中运行而设计。因此,复制其功能的努力无法充分发挥有效性证明的潜力,导致效率不佳。这种低效率最终会拖累系统的整体性能。EVM与有效性证明的兼容性受到以下因素的阻碍:

  1. EVM采用基于堆栈的模型,而有效性证明更适合基于寄存器的模型。EVM的堆栈特性使得证明其执行的正确性以及为其本机工具链提供直接支持变得更加困难。

  2. 以太坊存储布局严重依赖Keccak和大型Merkle Patricia Tree,这两者都不利于有效性证明,并增加了大量证明负担。例如,Keccak在x86架构上运行速度很快,但需要90k步来证明。相比之下,Pedersen(一种对zk友好的哈希函数)只需要32个步骤。

因此,各种zkEVM为以太坊工具提供了不同级别的支持——zkEVM与以太坊的兼容性越高,性能就越差。

Cairo-VM的方法

与zkEVM将大量开发时间投入到"让EVM适应Validity Rollups"不同,还有另一种选择:使用全新的专用虚拟机,并在其之上添加对以太坊工具的支持作为附加层。这正是Starknet采用的方法,Starknet是一个于2021年11月推出的无需许可的Validity Rollup。Starknet是第一个在完全可组合的网络上提供通用智能合约平台的Validity Rollup。

Starknet使用Cairo-VM(CVM),这是一种同名的高级语言。Cairo-VM专门设计用于高效生成程序执行的有效性证明。

使用Cairo(虚拟机和语言)提供了以下优势:

  1. 优化的有效性证明——每条指令都有一个有效的代数表示
  2. 用于编写可证明程序的类Rust语言
  3. 高级Cairo和Cairo汇编(VM指令)之间的中间表示(Sierra),允许高效执行Cairo代码

开发新语言使得可以根据特定需求进行定制,并为其配备能够满足之前未满足需求的功能。

Cairo和编码多元化

Starknet鼓励创新,这反映在其多元化的代码方法中。Cairo使用STARKs获得最佳扩展的能力不仅限于那些直接在Cairo中编写合约的开发者。开发人员可以选择最适合他们的方法:

  1. 在Cairo中原生编写代码:随着Cairo 1.0的发布,开发人员现在可以使用符合人体工程学且安全的类Rust语言。

  2. Solidity兼容性:Solidity开发人员可以编写可供Cairo VM使用的代码。这种方法提供了与以太坊类似的开发体验,并使Solidity智能合约可移植到Starknet。有两种实现方式:

    • 转译:使用Warp转译器将Solidity代码转换为Cairo。
    • Starknet上的zkEVM:使用Kakarot,一个用Cairo编写的zkEVM,可在Starknet上运行以太坊智能合约。

尽管存在时间较短,Cairo已成为TVL排名第四的最受欢迎的智能合约语言,并获得了超过3.5亿美元的资金支持。

总结

zkEVM旨在将以太坊环境复制为rollup,让开发人员使用熟悉的以太坊工具。然而,这种方法限制了有效性证明的潜力,可能会消耗大量资源。

Cairo VM专为有效性证明系统而设计,不受EVM的限制。它由一种新的、安全且符合人体工程学的类Rust编程语言Cairo 1.0支持,形成了一个强大的工具,旨在通过使用STARK证明最大化以太坊的扩展效率。

Cairo的持续进展、Kakarot zkEVM和Warp等多样化开发选择的增长令人振奋。随着Starknet dApp进入生产阶段,展示了Cairo的强大功能,相信它将在未来用于更具雄心的项目。

得益于STARK扩展的多种途径,以及未来几个月内可能出现的新方法,开发人员现在对区块链扩展拥有前所未有的控制力。

为什么说Validity Rollups是以太坊最有希望的扩容方式?

ETH2%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 3
  • 转发
  • 分享
评论
0/400
TokenomicsTrappervip
· 17小时前
其实如果你读一下规格... zk 证明只是对集中基础设施的烟雾和镜子,哈哈,早在 2021 年就说过这个。
查看原文回复0
链圈打工人vip
· 18小时前
eth天下第一!
回复0
MEV猎人老王vip
· 19小时前
这zk属实顶
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)