# ZK-rollups是什么

By [Isabella🦄](https://paragraph.com/@isabella-26) · 2022-11-24

---

以太坊扩容解决方案
---------

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

因此，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](https://ethereum.org/en/developers/docs/scaling/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](https://blog.alchemy.com/blog/dydx-is-closing-the-gap-between-cefi-and-defi) 和领先的去中心化交易所 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](https://github.com/matter-labs/awesome-zero-knowledge-proofs) 与加密交易哈希的概念相同。尽管典型的以太坊交易有很多组成部分，但它们都可以在不泄露交易数据的情况下用唯一的交易哈希表示。
                
                把数百笔以太坊交易简化为一笔，使得 ZK-rollups 比使用以太坊的第 1 层链便宜得多。
                
                与需要等待一段时间以获取欺诈证明的Optimistic Rollups不同，当 ZK-SNARK 被发送到以太坊时，接收智能合约**可以立即验证证明是否在链上有效**。
                
                因为 ZK-SNARKs 是即时验证的，所以只要在以太坊上确认 ZK-SNARK 交易（约 12 秒），就可以在 ZK-rollups 上提取资金，而不需要等待几天或几周的争议期结束。
                
                有效性证明无需人工干预或欺诈证明验证即可防止欺诈，这使得使用 ZK-rollups 进行的交易确认比 optimistic rollups 更快且可扩展。
                
                目前，以下项目使用了ZK-rollups 解决方案： StarkNet、ZKSync 和 Mina Protocol。

---

*Originally published on [Isabella🦄](https://paragraph.com/@isabella-26/zk-rollups)*
