币灵灵财经
首页 > 币圈新闻 > 文章正文

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

币灵灵财经 2024-11-22 09:16 1107

欧易交易所

欧易交易所

软件大小:268.26MB

软件版本:v3.4.2

摘要

Validity Rollups 是以安全和去中心化的方式增加以太坊吞吐量的最有前途的方式;zkEVM 和 Cairo VM (CVM) 是有效性汇总中使用的两种类型的 VM。

zkEVM 专注于以太坊兼容性,但牺牲了性能和可扩展性。

Starknet 中使用的 Cairo VM 将性能和可扩展性置于兼容性之上。

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

Validity Rollups

链下虚拟机

零知识虚拟机 (zkVM) 是一种程序执行环境,它与程序输出一起允许生成可以轻松验证的有效性证明。此有效性证明证明程序已正确执行。当使用术语「zkEVM」时,它通常是指利用以太坊虚拟机 (EVM) 并能够证明 EVM 执行的汇总。这个术语可能会产生误导,因为 EVM 本身并不生成这些证明;相反,证明是由一个单独的证明机制生成的,该机制以 EVM 执行的结果为起点。此外,这些证明是关于有效性而非隐私的,因此它们不完全是零知识证明。尽管如此,为了保持一致性,我们将在本文中坚持使用传统术语「zkEVM」。

zkEVM 的做法

zkEVM 是一个 Validity Rollup,其目标是将以太坊体验完全引入 Layer-2 区块链。它旨在将以太坊开发人员环境复制为汇总。借助 zkEVM,开发人员在编写智能合约或将智能合约移植到更具可扩展性的解决方案时,无需更改代码或放弃其 EVM 工具(和智能合约)。

EVM 的可证明性

zkEVM 方法的核心挑战植根于 EVM 的原始蓝图——它并非设计用于在有效性证明上下文中运行。因此,反映其功能的努力无法释放有效性证明的全部潜力,导致效率达不到最佳水平。这种低效率最终会拖累系统的整体性能。 EVM 与有效性证明的兼容性受到以下因素的阻碍:

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

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

Cairo-VM 的做法

zkEVM 解决方案投入大量开发时间来「让 EVM 为 Validity Rollups 工作」,将兼容性置于长期性能和可扩展性之上。还有另一种选择:使用全新的专用虚拟机,并在顶部添加对以太坊工具的支持作为附加层。这是 Starknet 所采用的方法,Starknet 是 2021 年 11 月推出的无需许可的 Validity Rollup。Starknet 是第一个在完全可组合的网络上提供通用智能合约平台的 Validity Rollup。

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

1. 优化的有效性证明——每条指令都有一个有效的代数表示

2.用于编写可证明程序的 Rust-like 语言

3. 高级 Cairo 和 Cairo 汇编(VM 指令)之间的中间表示(Sierra),允许高效执行 Cairo 代码

Cairo 和编码多元化

Cairo 语言最初旨在简化此任务,并使其更容易向 StarkEx 添加功能和复杂的业务逻辑。 Cairo 程序被编译成代数机器代码——一个数字序列——由一个固定的 VM 执行。有了 Cairo,生成描述计算的数学约束的整个复杂性——有效性证明的一个棘手问题——被抽象出来并被固定的约束集(总共少于 50 个约束)捕获。因此,开发人员可以利用有效性证明来扩展他们的应用程序,而无需了解底层数学和基础设施,只需使用他们熟悉的语法编写代码即可。

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

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

Starknet 上的 zkEVM:Cairo VM 可用于证明另一个 VM 的执行。 Kakarot 是一个用 Cairo 编写的 zkEVM,可用于在 Starknet 上运行以太坊智能合约。 Cairo VM 和 zkEVM 不是竞争方法,我们可以同时拥有 Cairo VM 和 zkEVM,而不是在 Cairo VM 和 zkEVM 之间进行选择!

总结

zkEVM 旨在将以太坊环境复制为 rollup,并允许开发人员使用熟悉的以太坊工具。然而,这种方法抑制了有效性证明的全部潜力,并且可能是资源密集型的。

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