# Optimistic Rollup 的两难困境

By [Starknet 中文](https://paragraph.com/@starknet-zh) · 2022-12-20

---

> 原文：[The Optimistic Rollup Dilemma](https://medium.com/starkware/the-optimistic-rollup-dilemma-c8fc470ca10c)  
> 翻译：以太坊爱好者

![](https://storage.googleapis.com/papyrus_images/ac1d36c316080552d81b90d1a0e3c83f7e9d96e66b51ecb9c091b01a2c98bf9f.png)

概要
--

*   我们认为，流动性提供者会更喜欢 ZKR-Uniswap（构建在 ZK-Rollup 上的 Uniswap），而非 OR-Uniswap（构建在 Optimistic Rollup 的 Uniswap），因为前者的资本效率更高。
    
*   若想提高 OR 的资本效率，需要缩短其挑战期 (Dispute Time Delay，DTD)，从而降低对 Layer 1 发动 “欺诈 + 审查” 攻击的成本。
    
*   从根本上来说，这是 OR 在资本效率和安全性之间的两难困境：提高资本效率一定会降低安全性。
    

背景
--

近几个月来，以太坊上的 Gas 价格上涨引起了人们对可扩展性解决方案，尤其是 Layer 2 可扩展性方案，的兴趣。这类方案大致可分为两类：有效性证明 vs. 欺诈证明。我们之前在这篇文章（[中文译本](http://mp.weixin.qq.com/s?__biz=MzIwODA3NDI5MA==&mid=2652528374&idx=1&sn=7ced5d3f9d42e938e8c821779791d1ee&chksm=8ce65dabbb91d4bd867ba1f8db7e31584c3d9c1f0212fed08c3fc086a7f7cf47e52b6e4c444a&scene=21#wechat_redirect)）和这篇文章（[中文译本](http://mp.weixin.qq.com/s?__biz=MzIwODA3NDI5MA==&mid=2652528916&idx=1&sn=9513e09704b55fb48f122379459a9a29&chksm=8ce66249bb91eb5fa66f9d13dfa0ab90c6ec72390851f157eefbcd26ce8220e633f3112af512&scene=21#wechat_redirect)）中比较过这两类方案。

有效性证明类方案包括 ZK-Rollups（提供链上数据可用性）和 Validium（仅保证链下数据可用性）。以太坊主网上已经部署了类似的系统，包括我们自己的 [StarkEx](https://medium.com/starkware/starkex/home)。

欺诈证明类方案包括 Optimistic Rollups (OR)。其中一些方案即将在公共测试网上线。OR 是最新一代欺诈证明设计，其前辈是闪电网络和 Plasma。对于那些深受以太坊拥堵之苦的去中心化应用开发者来说，OR 是很有吸引力的，因为这类方案能够保持 Solidity 代码不变，并将去中心化应用迁移至成本较低且具有可扩展性的 OR 上。

OR 背后的基本概念：只将交易数据发送到主链上。计算和状态存储不再发生在主链上，而是转移 Rollup 上，由 Rollup 上的区块生产者和验证者来执行计算工作。该方案假设至少有一位用户会及时【在挑战期 (DTD) 内】发现欺诈并向主链报告，从而确保系统的完整性。当一个 OP 区块（译者注：也就是发到以太坊区块链上的一批 OP 交易数据）的挑战期结束以后，该块也就被公认具有终局性了。

分析
--

接下来，我们将从流动性提供者和用户的角度来分析 OR。

假设有一个与 Uniswap 一样大的应用可以轻而易举地通过移植现有的 Solidity 代码来无缝迁移到 OR 上。让我们从流动性提供者和用户的角度来分析 OR。

### 流动性提供者

如上文所述，OR 会定义一个挑战期，以便发现并报告欺诈行为。取款的等待时间必须长于 DTD ，否则该系统很容易就会因为失窃而失去偿债能力。

出于安全的考虑，延长 DTD 会比较好，从而提高下述这种攻击的成本：

1.  OR 验证者发现欺诈，并将 fraud\_detected 交易发送至内存池。这时，OR 验证者已经履行了职责：发现并 “报告” 了欺诈。但是，只有将 fraud\_detected 交易上链，这个告状才是有效的。
    
2.  假设在 DTD 期间，攻击者租用足够多的算力（目前[成本约为每小时 30 万美元](https://www.crypto51.app/)）来挖矿，将包含 fraud\_detected 交易的区块替换掉。此举可视为对 fraud\_detected 交易的无声攻击。为什么说它是无声的？因为从无辜旁观者的角度来看，整个网络似乎平安无事。如果没能将包含欺诈证明的交易上链，当然不会发生交易回滚。
    

为了证明我们的观点：资本效率和安全性之间存在权衡关系，我们接下来会说明其由来和影响。假设 DTD 有一周的时间（有人提议过将 DTD 设为 4.5 小时（[中文译本](http://mp.weixin.qq.com/s?__biz=MzIwODA3NDI5MA==&mid=2652529577&idx=1&sn=556374469e40a25b076a5aaf0189cc5e&chksm=8ce660f4bb91e9e230c9364370fc2f2bf5cedb76cbced48976f05c9eac1effacea0e05f9f96d&scene=21#wechat_redirect)）；一些人[认为时间过短带来的风险太高](https://twitter.com/VitalikButerin/status/1296805309520867330?s=20)）。根据我们的分析，无论 DTD 是 1 天还是两周，都只是安全性和资本效率之间的权衡曲线上两个不同的点而已。根据 DTD 时长的不同，攻击者需要承担的成本也在 100 至 1000 万美元之间。攻击者承担的成本并不直接取决于其所追求的利益，如果 OR 持有数十亿美元的资产，那么攻击成本高达数百万美元也不能阻止他们。

由于流动性提供者的行为，机会成本对去中心化应用的影响很大。这段时间来，我们已经看到流动性从 Uniswap 流向 SushiSwap，又回到 Uniswap 上。将 OR-Uniswap（构建在 OR 上的 Uniswap）与 ZKR-Uniswap（构建在 ZK-Rollup 上的 Uniswap 分叉）进行对比。流动性提供者现在可以选择将资金放在 OR-Uniswap 上锁定一周时间，或放在 ZKR-Uniswap 上锁定 30 分钟（证明生成周期）。ZKR-Uniswap 有一个基本优势。从长期来看，代币经济或其它激励机制难以打败这种优势。

经常有人问我们：[快速取款 (Fast Withdrawal)](https://medium.com/starkware/starkexchange-fast-withdrawals-using-cookie-jars-88eefea6a11a) 能解决这一问题吗？能够在 OR 和 ZK-Rollup 之间创造公平的竞争环境吗？

不能。快速取款只会通过缩短取款时间来改善用户体验，不会提高资本效率：必须在 Layer 1 智能合约中锁定足够多的资金来支持整个 DTD 期间的取款。

另外，快速取款只能用于同质化资产，遇上 NFT 就没有用。即使对于同质化资产来说，需求量越大，机会成本越高。事实上，当很多人都想交易供不应求的同质化资产时，机会成本非常高：不妨想象一下，整个 DeFi 领域的用户都想交易 YFI 时，提前锁定足够支付一周取款额度的 YFI 需要多少成本。在这样收益率暴涨的时候，如果要你锁定 YFI，你希望获得多少回报？

有些人可能会说，流动性提供者不足为虑，因为整个 DeFi 领域会集中到同一个 OR 上，降低用户的取款频率和交易成本。

请注意，这一假设的前提是，没有任何去中心化应用运行在 OR 以外的地方，包括 Layer 1 和 ZK-Rollup 等。

我们认为，即使在这一场景下，随着 OR 的吞吐量增加，安全性也会下降。为什么？让我们从用户 Alice 的角度来思考。

### 用户

*   信任：Alice 可能会相信 OR，或者更具体来说，至少有一方会验证 OR 的当前状态。这就意味着，从 Alice 的角度来说，OR 在本质上是一个可信系统。可信系统以惊人的规模运作，通常是高价值企业（例如，Coinbase、币安和传统银行）的基础。这些企业在努力不辜负信任，因为它们的声誉越来越好。
    
*   不信任：Alice 可以亲自验证 OR 的状态。遗憾的是，验证 OR 的成本与 OR 的吞吐量成正比：例如，如果 OR 将以太坊的可扩展性提高 20 倍，验证成本也会提高 20 倍。久而久之，只有少数富人才能负担得起高吞吐量 OR 的验证成本。
    

就今天来看，这种担忧也不是杞人忧天：目前，验证以太坊是一种利他行为。一些人认为，当前以太坊的验证成本之高，已经到了会损害去中心化的地步：受成本的影响，验证以太坊完整性的网络参与者在减少。换言之，去中心化程度降低和安全性降低才是真正的问题。

结论
--

OR 面临两难困境：它无法达到 ZK-Rollup 那样的资本效率，因为这会降低其安全性。这是 OR 的固有问题，而非设计细节问题。因此，在选择是运行在 OR 还是 ZK-Rollup 上时，任何应用都会更倾向于后者，因为后者会吸引流动性提供者。

感谢 [Dan Robinson](https://twitter.com/danrobinson?lang=en) 对本文初稿的建议。

---

*Originally published on [Starknet 中文](https://paragraph.com/@starknet-zh/optimistic-rollup)*
