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

来源:Scaling Ethereum Efficiently;编译:Starknet 中文社区

概要

有效性证明 Rollup 以安全和去中心化的方式增加以太坊吞吐量,也是最具潜力的方式;zkEVM 和 Cairo VM(CVM)是有效性证明 Rollup 中所使用到的两种虚拟机 (VM) 类型。

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

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

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

和在以太坊主网上处理每笔交易不同,运营者将交易放到链下环境执行。链下环境就是 L2,即在以太坊之上运行的操作层。

在大批量交易处理完成后,L2 运营者将结果返回至以太坊状态中,同时还有一个有效性证明用于验证链下执行的完整性。该证明保证同一批次中的所有交易都有效,并由链上验证合约自主验证。该操作允许以太坊将结果应用于其状态。

0x34d开头地址于约3小时前向币安转入近120万枚HOOK:9月8日消息,据Spot On Chain监测,0x34d 开头地址于约 3 小时前向币安转入近 120 万枚 HOOK,价值约 108 万美元。该地址目前仍持有 127 万枚 HOOK。[2023/9/8 13:26:44]

有效性证明 Rollup

请注意:有效性证明 Rollup 常被错称为零知识证明 Rollup (zkRollup),这并不准确。大部分有效性证明 Rollup 不采用零知识证明,也不用于确保隐私。因此,术语「有效性证明 Rollup」更准确。

在继续深入前,我们需要回答第一个问题:什么是虚拟机(VM)?简而言之,虚拟机是一个可以运行程序的环境,比如 Mac 上运行 Windows 操作系统。VM 在对某些输入执行计算后,在状态之间进行转换。以太坊虚拟机(EVM)就是运行以太坊智能合约的 VM。

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

Gopax宣布已支付37.31%的GoFi未清存款和额外的固定累计利息:金色财经报道,韩国加密货币交易所Gopax宣布,已支付37.31%的GoFi未清存款和额外的固定累计利息。Gopax在公告中称,经与股东协商,我们将进行GoFi的第二笔付款,即每位客户未支付的GoFi存款金额的37.31%以及迄今为止累计的固定利息,累计支付的利息相当于截至前一天的累计金额。

支付日期为今天下午 3 点。付款后的存款金额将为付款前金额的 62.69%。第二次支付的金额预计约为 200 亿韩元。此前,与GoFi相关的未付款额约为700亿韩元,已支付175亿韩元,即首笔付款的25%。剩余的525亿韩元未付金额中,200亿韩元占总数的38%。[2023/8/24 18:19:26]

尽管所有有效性证明 Rollup 都旨在采用有效性证明来扩展以太坊,而不同方案在 VM 执行链下交易方面做出了不同选择。许多有效性证明 Rollup 选择复制 EVM 设计(因此称为「zkEVM rollup」),尝试在 L2 rollup 上复制以太坊。Starknet 采用的是 Cairo VM(CVM),是专为优化有效性证明效率而设计的全新 VM。

上述两种方式各有利弊和取舍,但 zkEVM 牺牲性能以求以太坊兼容性,而 Cairo VM 将性能置于兼容性之上,优先考虑可扩展能力。

AI Meta Club生态代币AMC已销毁超300万:据官方消息,AI Meta Club生态代币AMC通过AMC EntryPass(AMCEP)的铸造和游戏内资产NFT的购买,销毁量已超300万。距上次销毁200万间隔仅7天。AMC代币是整个生态的应用代币,也是生态共识的基础,而AMCEP是生态经济建设的基础,在未来的生态扩建和合作中,这将是AMC的红利和源动力。这样迅速的发展背后是全球各个俱乐部的支持和努力,团队将尽快完善产品,助推俱乐部发展,坚持DAO的治理精神,为AI和Metaverse的全球探索者们提供一个有价值的平台。[2023/8/22 18:14:59]

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

这种方式有一个关键缺陷,即降低了有效性证明的扩展能力。由于重心放在与以太坊兼容,导致 zkEVM 速度更慢且资源密集度更高。与 CVM 不同,EVM 在设计时没有考虑证明效率。因此限制了在提高效率和可扩展性的优化使用,最终影响系统的整体性能。

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

Celsius破产重组计划披露声明相关网络研讨会将于8月21日举行:金色财经报道,Celsius无担保债权人官方委员会社交媒体上表示,Celsius破产重组计划的披露声明相关网络研讨会将于8月21日举行,将就特定主题启动几场会议,内容包括债权人根据计划可以进行的投票以及如何填写选票。[2023/8/18 18:07:34]

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

以太坊存储布局重度依赖于 Keccak 和大型 Merkle Patricia 树,这两者都是非有效性证明友好型,带来巨大证明负担。例如,Keccak 对于 x86 架构非常快速(通常用于运行 EVM),但需要 9 万个步骤来证明(需要特殊内置)。而 Pedersen(零知识友好型哈希函数)只需要 32 个步骤。即使采用递归压缩,zkEVM 中使用 Keccak 消耗证明器资源仍旧很高,成本最终还是得由用户承担。

因此,各类 zkEVM 旨在为以太坊工具提供不同程度的支持,但 zkEVM 与以太坊兼容性越高,性能也就越低。(有关更多 zkEVM 类型的信息,请参阅文章结尾处)

Web3协作平台Dmail与Conflux集成,为Conflux用户提供加密通信服务:金色财经报道,Web3协作平台Dmail宣布集成Conflux Network,支持Conflux用户登录Dmail并收发Web3加密邮件。据悉,Dmail已与众多DID项目合作,支持ENS、Lens、BAB、Unstoppable、SPACEID、.bit、JAZDID、HashKey DID持有者免费铸造Dmail域名邮箱,享受加密通信服务,目前已有90000个独立地址持有11.7万个Dmail的Social Credential。[2023/3/6 12:44:23]

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

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

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

优化有效性证明,每条指令都有一个有效代数表达式

用于编写可证明程序的现代类 Rust 语言

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

开发一种全新语言可以根据特定需求定制,可以包含以前所不具备的功能,满足新需要。

为了创建某些计算的有效性证明,首先必须将该计算表达为描述计算的一系列数学约束。这个过程非常复杂,难点在于优化计算以提高效率,而且需要特定工具。

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

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

在 Cairo 本地编码:Cairo 1.0 受 Rust 启发,更加符合开发者使用习惯且更加安全,编写程序逻辑变得更加容易且不易出错。

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

转译:转译是将一种编程语言的源代码转换成另一种语言的过程。Nethermind 团队构建了 Warp 转译器,用于将 Solidity 代码转译为 Cairo。Warp 让 Solidity 智能合约可移植至 Starknet,使其有效成为第四类 zkEVM。目前已用于转译和部署 Uniswap 合约,只需极小的改动即可实现。

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

尽管 Cairo 问世时间不长,但根据 TVL 排名,Cairo 是第四受欢迎的智能合约编程语言,估值超 3.5 亿美元。

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

专为有效性证明设计的 Cairo VM 不受到 EVM 的限制。Cairo VM 支持 Cairo 1.0。Cairo 1.0 受 Rust 语言启发,更加符合开发者使用习惯且更加安全,形成强大的工具,旨在利用 STARK 证明高效扩展以太坊。

看到 Cairo 每周都在发展,Kakarot zkEVM 和 Warp 这种开发者选择越来越多,令人兴奋。随着 Starknet dApp 投入生产,展现出 Cairo 的强大力量,我们坚信未来 Cairo 会催生出前所未见的优秀项目。

上文概述了 SATRK 扩展的三种路径,毫无疑问未来几个月还会有更多创新诞生。开发者现在对扩展区块链有了前所未有的掌控权。

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

第一类完全等效以太坊:不改变以太坊生态系统的任何部分。

第二类完全等效 EVM:能和现有 dApp 兼容,并对以太坊的设计做出部分调整以加快证明生成。

第三类大致等效 EVM:支持大部分 EVM 操作码,移除部分 zkEVM 难以实现的功能(如预编译和哈希函数)。

第四类等效高级语言:用 Solidity/Vyper 编写智能合约代码,并将其转译成有效性证明友好型语言。

StarkNet 中文

个人专栏

阅读更多

金色早8点

Odaily星球日报

金色财经

Block unicorn

DAOrayaki

曼昆区块链法律

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

链链资讯

[0:0ms0-3:303ms