Cover photo

ZK-rollups是什么

以太坊扩容解决方案

众所周知,由于使用量极大,以太坊主网交易的痛点就是费用高和时间长。

因此,Web3开发者想了几种办法来解决以太坊的扩容问题。例如:

  1. 对Layer1改进的以太坊 2.0;

  2. Optimism 和 Arbitrum 等Layer2;

  3. Polygon 或 xDai 等侧链。

    在Layer2中,web3 开发人员也可以选择使用以下三种技术:

    1. state channel;

    2. Optimistic Rollups;

    3. ZK-rollups。

    我们来简单聊聊Layer2的几种路径,尤其是近期比较火的ZK-rollups。

    什么是以太坊第 2 层(Layer2)?有哪些类型?

    Layer 2 主要专注于解决以太坊在网络拥塞期间(当许多用户试图同时使用以太坊网络时)出现的高交易费用和低交易速度,同时要保证以太坊执行层的安全性。

    大多数Layer 2 解决方案是在链下将多笔交易分批处理为更简单、更便宜的交易,再在以太坊链上发布。Layer 2 解决方案主要使用了以下3种扩展技术:

    1. State Channel;

    2. Optimistic Rollups;

    3. ZK-Rollups.

      1. State Channel (状态通道)

      State Channel允许用户在链下进行无限交易,而只需将两笔交易提交到以太坊网络:第一笔交易和最后一笔交易。

      它的工作原理是:

      1. 第一个交易打开一个state channel 并“锁定”那个状态。

      2. 用户在链下进行交易。

      3. 链下交易完成后的剩余状态记录在“关闭”state channel 的第二笔交易中。

      利用state channel状态通道的以太坊 L2 项目包括:

      • Connext - 一个用于快速、无需信任、跨链应用程序和通信的网络

      • Kchannels - 为以太坊提供信任最小化的支付渠道

      • Perun - 为用户提供支持实时支付的链下框架

      • Radien - 提供一种快速、廉价的方式来转移 ERC20 代币

        2. Optimistic rollups (乐观汇总)

        Optimistic rollups 涉及处理大量交易,处理链下计算,并在更简单的交易中“汇总”它们发布到以太坊的执行层。

        Optimistic Rollups之所以叫做“乐观的”,是因为交易被认为是有效的,除非它们被证明是错误的。

        在以太坊主链上确认 optimistic rollup 交易之前,有一段时间可以提交欺诈证明,来对潜在的无效交易提出异议。

        直到欺诈证明的争议期结束,所有剩余的交易才会在以太坊上得到确认。

        由于 optimistic rollup Layer 2 需要使用到欺诈证明,因此与ZK-rollups等其他解决方案相比,此确认窗口往往会增加交易确认时间。

        利用Optimistic Rollups的以太坊 L2 有:

        • Arbitrum - TVL ($3.2B) ,市场份额 (54.7%), 最大的optimistic rollups*

        • Metis - TVL(4.57 亿美元),市场份额 (7.84%) ,第三大optimistic rollups*

        • Optimism - TVL(4.65 亿美元),市场份额 (7.97%) ,第二大optimistic rollups*

        • Boba Network - TVL(1.87 亿美元),市场份额 (3.22%) ,第四大optimistic rollups*

        *L2Beat 提供的TVL 和市场份额数据。

        3. 零知识汇总ZK-rollups

        零知识汇总(ZK-rollups)类似optimistic rollups,因为它们将链下执行的大量Layer2交易组合在一起,并将它们作为一个交易提交到以太坊。

        然而,ZK-rollups 是立刻证明有效性,而不是假设交易有效直到被证明。

        但是与 optimistic rollups 相比,构建ZK-rollup Layer2的技术非常复杂性,这是开发者需要考虑的。

        利用 ZK-rollups技术的以太坊 L2 项目有:

        • Starknet - 由 dYdX 和领先的去中心化交易所 ImmutableX 使用以太坊上的永续合约

        • zkSync - 被 Yearn Finance、FRAX 和 Zerion 等 dApp 使用

          ZK-rollup 的工作原理

          要了解 ZK-rollups 的工作原理,我们首先需要了解其创始概念:[零知识证明 (ZKP)]

          ZKP 代表了一种证明你知道某事,而不透露你知道的东西的方法。

          例如,在最近流行的 Wordle 游戏中,我可以通过发送我的最终棋盘的屏幕截图,来证明我有解决方案,而无需透露解决方案是什么。每个人都会认可我的结果是正确的,即使他们不知道实际答案(零知识)。这就是 ZKP 的本质。

          ZK-rollups 通过将大量第 2 层交易(链下)合并为一笔交易,然后在以太坊主网上进行mine。

          与其单独mine 100 笔交易,不如将它们汇总到一个交易中。

          此单一交易以有效性证明的形式出现,也称为简洁、非交互式知识论证 (SNARK-succinct, non-interactive argument of knowledge) 或简洁、透明的知识论证 (STARK-succinct, transparent argument of knowledge)。

          SNARKs 和 STARKs 与加密交易哈希的概念相同。尽管典型的以太坊交易有很多组成部分,但它们都可以在不泄露交易数据的情况下用唯一的交易哈希表示。

          把数百笔以太坊交易简化为一笔,使得 ZK-rollups 比使用以太坊的第 1 层链便宜得多。

          与需要等待一段时间以获取欺诈证明的Optimistic Rollups不同,当 ZK-SNARK 被发送到以太坊时,接收智能合约可以立即验证证明是否在链上有效

          因为 ZK-SNARKs 是即时验证的,所以只要在以太坊上确认 ZK-SNARK 交易(约 12 秒),就可以在 ZK-rollups 上提取资金,而不需要等待几天或几周的争议期结束。

          有效性证明无需人工干预或欺诈证明验证即可防止欺诈,这使得使用 ZK-rollups 进行的交易确认比 optimistic rollups 更快且可扩展。

          目前,以下项目使用了ZK-rollups 解决方案: StarkNet、ZKSync 和 Mina Protocol。