Cointime

扫码下载App
iOS & Android

为什么说Rollup 在扩展以太坊的过程中必不可少?

作者:StarkWare. 编译:Cointime:QDD.

简要概述

1. 有效性 Rollup 是以安全和去中心化的方式提高以太坊吞吐量的最有前景的方法;zkEVM 和 Cairo VM(CVM)是有效性 Rollup 中使用的两种虚拟机。

2. zkEVM 关注以太坊的兼容性,但在性能和可扩展性方面做出了牺牲。

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

当谈到以太坊扩展时,Rollup 是今年的热门话题。在各种类型的 Rollup 中,我们认为有效性 Rollup(VRs),也称为 zk-rollup,是以安全和去中心化的方式提高以太坊吞吐量的最有前景的方法。在这个扩展解决方案的核心,是使用可验证计算的有效性证明。以下是它们的

工作原理:

1. 操作者将交易执行从以太坊的主网转移到一个离链环境中,而不是在以太坊的主网上处理每个交易。这个离链环境作为第二层存在,即在以太坊之上运行的一层。

2. 在处理大批量交易之后,第二层操作者返回结果并将其应用到以太坊的状态,同时提供一个有效性证明来验证离链执行的完整性。该证明确保批量中的所有交易都是有效的,并由链上的验证合约自主验证。这使得以太坊可以将结果应用到其状态中。

注意:有效性 Rollup 经常被错误地称为零知识 Rollup,但这是不准确的。大多数有效性 Rollup 并不使用零知识证明,并且并不用于确保隐私。因此,“有效性 Rollup” 这个术语更加准确。

离链虚拟机

在继续之前,我们首先需要回答的问题是:什么是虚拟机(VM)?简单来说,虚拟机是一个程序可以运行的环境,就像一台运行Windows操作系统的Mac一样。它在对一些输入进行计算后在不同状态之间转换。以太坊虚拟机(EVM)是运行以太坊智能合约的虚拟机。

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

虽然所有的有效性 Rollup 都致力于利用有效性证明来扩展以太坊,但它们在选择在离链环境中执行交易的虚拟机方面存在差异。许多有效性 Rollup 选择复制EVM的设计(因此被称为“zkEVM rollups”),试图在L2 Rollup上复制以太坊。Starknet 使用了一种新的虚拟机——Cairo VM(CVM),专门设计用于优化有效性证明的效率。

这两种方法都有各自的优势和权衡,但zkEVM以以太坊的兼容性为代价来换取性能,而Cairo VM则将性能置于兼容性之上,优先考虑可扩展性能力。

zkEVM 方法

zkEVM 是一种有效性 Rollup,旨在将以太坊体验完全带入第二层区块链。它的目标是将以太坊开发环境作为一个Rollup进行复制。通过zkEVM,开发者在编写或迁移智能合约到更可扩展的解决方案时,不需要改变他们的代码或放弃他们的EVM工具(和智能合约)。

这种方法的一个主要缺点是它降低了有效性证明的扩展潜力。由于要保持与以太坊的兼容性,zkEVM的速度较慢,资源消耗较大。与CVM不同,EVM并非设计时考虑证明效率,这限制了可以改善效率和可扩展性的优化方法的使用,最终影响了系统的整体性能。

EVM的可证性

zkEVM方法的核心挑战源于EVM的原始设计蓝图,它并没有被设计成在有效性证明的环境中运行。因此,试图模仿其功能的努力未能充分发挥有效性证明的潜力,导致效率不够优化。EVM与有效性证明的兼容性受到以下因素的阻碍:

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

2. 以太坊存储布局严重依赖Keccak和一个大型Merkle Patricia Tree,它们都不适合有效性证明,并施加了重大的证明负担。例如,Keccak在x86架构上非常快(我们通常在其上运行EVM),但需要90,000步来进行证明(使用特殊构建的版本)。而Pedersen(一种zk友好的哈希函数)只需要32步。即使使用递归压缩,zkEVM中使用Keccak意味着高消耗的证明资源,这最终由用户承担。

因此,各种zkEVM追求对以太坊工具链的不同程度的支持,zkEVM与以太坊的兼容性越强,性能就越低。(有关zkEVM类型的更多信息,请跳到文章末尾。)

Cairo-VM 方法

zkEVM 解决方案在“使EVM适用于有效性 Rollup”方面投入了大量的开发时间,优先考虑了与长期性能和可扩展性的兼容性。还有另一种选择:使用全新的专用虚拟机,并在其上添加对以太坊工具链的支持作为额外的层级。这就是Starknet采用的方法,Starknet是一个在2021年11月推出的无许可有效性 Rollup。Starknet是第一个在完全可组合网络上提供通用智能合约平台的有效性 Rollup。

Starknet使用Cairo-VM(CVM)和同名的高级语言。Cairo-VM是专为程序执行的有效性证明而设计的虚拟机。

通过Cairo(虚拟机和语言),我们拥有:

1. 优化的有效性证明 - 每个指令都有高效的代数表示

2. 一种类似Rust的现代语言,用于编写可证明的程序

3. 一个在高级Cairo和Cairo汇编(虚拟机指令)之间的中间表示(Sierra),可以高效地执行Cairo代码

开发一种新的语言可以根据其所要满足的具体需求进行定制,并为其添加解决以前未满足的需求的功能。

Cairo和多元化编码

为了创建关于某个计算的有效性证明,首先必须将该计算表示为描述计算的数学约束序列。由于优化计算以提高效率以及需要专门的工具支持的挑战,这个过程可能非常棘手。

Cairo语言最初的设计目标是简化这个任务,使向StarkEx添加功能和复杂业务逻辑变得更容易。Cairo程序被编译为代数机器代码 - 一系列数字,由单个固定的虚拟机执行。借助Cairo,生成描述计算的数学约束的整个复杂性 - 这对于有效性证明来说是一个棘手的问题 - 被抽象化并由一组固定的约束(总共不到50个约束)捕获。结果,开发者可以利用有效性证明来扩展其应用程序,而无需了解底层的数学和基础架构,只需用他们熟悉的语法编写代码。

https://twitter.com/EliBenSasson/status/1638270015009968134

Starknet注重创新,这反映在其对多元化编码的方法上。Cairo在使用STARKs实现最佳扩展性方面的能力,并不仅限于那些本地使用Cairo编写合约的人。开发者可以选择适合自己的方法:

1. 在Cairo中本地编码:随着Cairo 1.0的发布,开发者现在可以使用一种人性化和安全的、受Rust启发的语言来编写程序逻辑,这样可以使编码更容易,减少错误。

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

3. 转译:转译是指将用一种编程语言编写的源代码转换为另一种语言的过程。Nethermind团队开发了名为Warp的转译器,用于将Solidity代码转译为Cairo。Warp使Solidity智能合约可以在Starknet上移植,实际上使其成为一种类型4的zkEVM。它已经被用于转译和部署Uniswap合约,只需进行最小的更改。

4. 在Starknet上使用zkEVM:Cairo VM可以用于证明另一个虚拟机的执行。Kakarot是一个用Cairo编写的zkEVM,可以在Starknet上运行以太坊智能合约。Cairo VM和zkEVM并不是相互竞争的方法,我们不必在Cairo VM和zkEVM之间选择,可以同时使用两者!

尽管Cairo存在时间不长,但它已经成为第四受欢迎的智能合约语言(按总锁定价值计算),并已经保护了超过3.5亿美元的资金。

总结

zkEVM旨在将以太坊环境作为Rollup复制,并允许开发者使用熟悉的以太坊工具。然而,这种方法限制了有效性证明的全部潜力,并且可能需要大量资源。

Cairo VM专门为有效性证明系统设计,没有受到EVM的限制。它配备了一种新的、安全且人性化的Rust风格的编程语言,称为Cairo 1.0,形成了一个强大的工具,旨在通过使用STARK Proofs来实现以太坊的最大效率扩展。

令人兴奋的是,每周Cairo取得的成就,以及不同的开发者选择的增长,例如Kakarot zkEVM和Warp。随着Starknet dApps进入生产,展示了Cairo的强大能力,我们有信心它将被用于未来更具雄心的项目。

通过上述提到的STARK扩展的三种方法,以及未来几个月可能提供的其他方法,开发者现在可以以前难以想象的方式控制区块链的扩展能力。

评论

所有评论

推荐阅读

  • 俄美元首通话 普京称俄目前不可能恢复与乌谈判

    10月10日,俄罗斯总统助理乌沙科夫当地时间10日凌晨介绍了俄美两国领导人通话的有关情况。乌沙科夫表示,普京在通话中详细介绍了俄罗斯为回应乌克兰武装部队实施的恐怖袭击而采取的措施。普京表示,乌克兰方面试图破坏俄罗斯国家杜马选举并对民众实施袭击,导致立即恢复谈判的可能性遭到破坏。普京还指出,乌克兰方面试图阻止俄罗斯军队推进的企图没有任何成功的前景,俄军目前完全掌握战场主动权,并正在持续向前推进。普京强调,由于乌克兰方面的立场,特别是其试图破坏俄杜马选举的行为,目前不可能恢复与乌克兰的谈判。特朗普已指示将普京在通话中传递的信息转达给乌克兰代表团。乌沙科夫称,关于举行普京与特朗普双边会晤的问题,双方目前尚未进行具体讨论。(央视新闻)

  • Telegram 内置 Gram 钱包更名为 Money 并向全体用户开放

    10月9日,Telegram 已将其原仅向部分用户开放的钱包服务“Gram wallet”更名为“Money”,并正式向全平台超过十亿用户全面推出。“Money”是针对 Gram 代币的内置钱包,支持存储、转账以及购买平台礼物与收藏级用户名。 此外,配套交易平台“Walt”提供超过 300 种资产服务,涵盖代币化股票、贵金属、永续合约及理财收益项目。用户可通过“Walt”向“Money”钱包进行即时划转且免收网络手续费。官方同时提示,加密资产投资存在相应风险。

  • Blockchain.com 寻求批准开展预测市场和加密货币衍生品交易

    10月9日,加密资产平台 Blockchain.com 已向美国商品期货交易委员会(CFTC)提交申请,寻求获得指定合约市场(DCM)和期货佣金商(FCM)牌照,以向美国用户提供事件合约(预测市场)及加密货币衍生品交易服务。

  • 贝森特:美国本周可能查扣约 10 亿美元与伊朗相关的加密货币

    美国财政部长贝森特周四在 Newsmax 于华盛顿举办的 NPolicy Summit 上表示,我们本周可能会查扣 10 亿美元的加密货币,并称「我们知道它在哪里,我们正在孤立他们」。贝森特表示,特朗普政府对伊朗的举措已从「极限施压」转为「绝对孤立」,措施包括海上封锁、限制航空出行及切断陆路通道,阿联酋和阿曼正与美方合作,美方也在与巴基斯坦和土耳其合作切断所有进出伊朗的陆路通道。

  • Zcash 开发团队计划于明年 1 月引入抗量子签名以保护公开支付

    隐私加密货币 Zcash(ZEC)开发团队计划于明年 1 月在网络中引入后量子签名操作码,以支持基于哈希的签名技术,从而抵御潜在的量子计算攻击。该方案主要针对透明(公开)支付池,目前约有 70% 的 ZEC 存放于该池中。尽管开发者将 1 月定为目标期限,但具体的网络激活时间尚未最终确定。 该升级旨在防止攻击者利用现有公钥反向推导私钥并伪造支付授权。此外,Zcash 节点验证程序 Zakura 还推出了一项基于私密信息检索(PIR)的钱包工具,允许用户在查询多地址余额时不向服务器泄露地址间的关联性。此前,以太坊研究员 Justin Drake 曾警告人工智能可能加速破解传统加密算法,并呼吁加密货币持有者应对潜在的安全威胁。

  • BTC突破83000美元

    行情显示,BTC突破83000美元,现报83017.3美元,24小时涨幅达到0.66%,行情波动较大,请做好风险控制。

  • 中共中央、国务院:全面实施“人工智能+”行动

    10月9日,中共中央、国务院印发《关于发展新质生产力的意见》。意见提到,全面实施“人工智能+”行动。推进人工智能对传统产业的改造,加快推进智能网联新能源汽车、人工智能手机和电脑、人形机器人等新一代智能终端场景应用。加快人工智能等数智技术创新,突破基础理论和核心技术,强化算力、算法、数据等高效供给。因地制宜、分业施策布局国家人工智能行业应用中试基地和高价值应用场景,大力推动人工智能在各行业应用。构建技术监测、风险预警、应急响应体系,确保人工智能安全、可靠、可控。

  • 美国政府相关钱包近三日向Coinbase Prime存入17733枚BTC及750枚WBTC

    10月9日,据Lookonchain监测,过去三天内,与美国政府相关的钱包已向Coinbase Prime存入了17,733枚BTC(价值14.8亿美元)和750枚WBTC(价值6200万美元)。 根据Arkham的标记数据,这些钱包目前仍持有价值254亿美元的加密资产,其中仅比特币的价值就达253亿美元。

  • ETH跌破2500美元

    行情显示,ETH跌破2500美元,现报2499.87美元,24小时跌幅达到2.55%,行情波动较大,请做好风险控制。

  • ETH突破2500美元

    行情显示,ETH突破2500美元,现报2500.13美元,24小时跌幅达到2.21%,行情波动较大,请做好风险控制。