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

详述有效性证明Rollup和Cairo VM技术特性

币灵灵财经 2024-10-30 14:13 371

欧易交易所

欧易交易所

软件大小:268.26MB

软件版本:v3.4.2

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

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

Rollup 是今年关于扩展以太坊的热门话题。在各种类型 Rollup 中,我们相信有效性证明 Rollup(以下简称 VR,或称为 zk-rollup),是以安全和去中心化的方式增加以太坊吞吐量,最有希望的扩容方案。这种扩容方案的核心是采用有效性证明进行可验证计算。下面来了解其运行原理:

详述有效性证明Rollup和Cairo VM技术特性

有效性证明 Rollup

链下虚拟机

零知识虚拟机(zkVM)是程序执行环境,与程序输出一起生成可轻松验证的有效性证明。有效性证明用于证明程序已正确执行。当使用「zkEVM」一词时,通常是指运行以太坊虚拟机(EVM)并能够证明 EVM 执行的 Rollup。这个术语可能会造成误会,因为 EVM 本身无法生成这些证明;相反,证明是由一个单独的证明器机制产生,该机制将 EVM 的执行结果作为其起点。此外,上述证明都是与有效性相关,而与隐私无关。因此,准确来说不能称为零知识证明。而为了保持一致性,在本文中仍使用传统术语「zkEVM」。

了解 zkEVM 运作方式

zkEVM 是一种有效性证明 Rollup,旨在 L2 区块链上完全引入以太坊体验。目的是将以太坊开发者环境复制到 Rollup 中。借助 zkEVM,开发者编写或移植智能合约到扩容方案时,无需调整代码或弃用原本的 EVM 工具(以及智能合约)。

EVM 的可证明性

zkEVM 方式的核心挑战在于 EVM 根深蒂固的原始蓝图,起初的设计并不是为了在有效性证明环境中运行。因此,努力都放在实现以太坊功能上,就无法释放有效性证明的全部潜力,导致效率不尽人意。这种低效率最终拖了系统整体性能的后腿。EVM 与有效性证明的兼容性受到以下因素的阻碍:

EVM 采用基于堆栈的模型,而有效性证明更高效地用于基于寄存器的模型。EVM 基于堆栈的性质使其本质上更难证明其执行的正确性,并为其本地工具链提供直接支持。

详述有效性证明Rollup和Cairo VM技术特性

了解 Cairo-VM 运作方式

zkEVM 解决方案在「让 EVM 适用于有效性证明 Rollup」方面投入了大量开发时间,将兼容性置于长远性能和可扩展性之上。还有另一个选项:采用全新的专用虚拟机,并新增一个额外层用于支持以太坊工具。这就是 Starknet 采取的措施,Starknet 于 2021 年 11 月推出了一个无需许可的有效性证明 Rollup。Starknet 是首个在完全可组合性网络中,实现通用智能合约平台的有效性证明 Rollup。

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

通过 Cairo(VM 和编程语言)可实现:

高级 Cairo 语言和 Cairo 汇编(VM 指令)之间的中间表达式(Sierra),可以高效执行 Cairo 代码

Cairo 和编码多元化

Cairo 语言设计之初就是为了简化这一任务,以便 StarkEx 能轻松增添功能和复杂的商业逻辑。将 Cairo 程序编译成代数机器代码,即一串数字,由单个固定的 VM 执行。有了 Cairo,生成描述计算的数学约束这个复杂过程(对于有效性证明来说非常棘手)得以抽象化,进而以一组固定的约束条件(总共不到50个约束)来表示。这样,开发者无需理解底层数学和基础设施,仅需用熟悉的语法编写代码,就能利用有效性证明扩展应用程序。

Starknet 致力于创新,这点在代码多元化处理方法上展现得淋漓尽致。Cairo 采用 STARK 技术实现最佳扩展功能,不仅限于使用 Cairo 本地环境编写合约。开发者还可以选择最适合的方式:

Solidity 兼容性:Solidity 开发者可以编写支持 Cairo VM 的代码。这种方式提供了与以太坊相似的开发者体验,并支持 Solidity 智能合约迁移至 Starknet。迁移实现方式有两种:

Starknet 上的 zkEVM:Cairo VM 能用于证明另一个 VM 的执行。Kakarot 是采用 Cairo 编写的 zkEVM,可用于在 Starknet 上运行以太坊智能合约。Cairo VM 和 zkEVM 并不是竞争关系,与其在两者之间做出选择,不如采用两者兼得的方式!

总结

zkEVM 旨在将以太坊开发者环境复制到 Rollup 中,并允许开发者使用熟悉的以太坊工具。但这种方式限制了有效性证明的潜力,且资源密集。

zkEVM 类型

Vitalik 将 zkEVM 主要分为四个类型: