复制成功

分享至

主页 > 数字货币 >

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

2023.06.06

作者:StarkWare;编译:凹凸曼

摘要

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

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

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

  • 在谈论扩展以太坊时,Rollups 是今年的热门话题。在各种类型的 rollups 中,我们认为 Validity Rollups (VRs),也称为 zk-rollups,是以安全和去中心化的方式增加以太坊吞吐量的最有希望的方式。这种扩展解决方案的核心是使用有效性证明进行可验证计算。他们是这样工作的:

    运营商不是在以太坊主网上处理每笔交易,而是将交易执行卸载到链下环境。这个链下环境作为第 2 层,意味着在以太坊之上运行的层。

    在处理大量交易后,第 2 层操作员返回结果以应用于以太坊的状态,以及验证链下执行完整性的有效性证明。该证明保证一批中的所有交易都是有效的,并由链上验证者合约自主验证。这允许以太坊将结果应用到它的状态。

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

    Validity Rollups

    注意:Validity Rollups 通常被错误地称为零知识汇总,但这并不准确。大多数 Validity Rollup 不使用 ZKP,也不用于确保隐私的目的。因此,术语「Validity Rollup」更准确。

    链下虚拟机

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

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

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

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

    zkEVM 的做法

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

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

    EVM 的可证明性

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

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

    以太坊存储布局严重依赖 Keccak 和大型 Merkle Patricia Tree,这两者都不利于有效性证明并施加大量证明负担。例如,Keccak 对于 x86 架构(我们通常在其上运行 EVM)非常快,但需要 90k 步来证明(内置特殊构建)。而 Pedersen(一种对 zk 友好的哈希函数)需要 32 个步骤。即使使用递归压缩,在 zkEVM 中使用 Keccak 也意味着最终由用户支付的大量证明者资源。

    因此,各种 zkEVM 旨在为以太坊工具提供不同级别的支持——zkEVM 与以太坊的兼容性越高,性能就越差。 (有关 zkEVM 类型的更多信息,请跳至文章末尾。)

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

    Cairo-VM 的做法

    免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

    加⼊OKEx全球社群

    和全球数字资产投资者交流讨论

    扫码加入OKEx社群

    相关推荐

    industry-frontier