Optimistic Rollup 的两难困境:资金效率与安全性难全

2020-10-17 评论

三句话讲完

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

 

背景

 

近几个月来,以太坊上的 gas 价格上涨引起了人们对可扩展性解决方案,尤其是 Layer 2 可扩展性方案,的兴趣。这类方案大致可分为两类:有效性证明 vs. 欺诈证明。我们之前在这篇文章(中文译本)和这篇文章(中文译本)中比较过这两类方案。

有效性证明类方案包括 ZK-Rollups(提供链上数据可用性)和 Validium(仅保证链下数据可用性)。以太坊主网上已经部署了类似的系统,包括我们自己的 StarkEx。

欺诈证明类方案包括 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 万美元)来挖矿,将包含 fraud_detected 交易的区块替换掉。此举可视为对 fraud_detected 交易的无声攻击。为什么说它是无声的?因为从无辜旁观者的角度来看,整个网络似乎平安无事。如果没能将包含欺诈证明的交易上链,当然不会发生交易回滚。

为了证明我们的观点:资本效率和安全性之间存在权衡关系,我们接下来会说明其由来和影响。假设 DTD 有一周的时间(有人提议过将 DTD 设为 4.5 小时(中文译本);一些人认为时间过短带来的风险太高)。根据我们的分析,无论 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)能解决这一问题吗?能够在 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://www.8btc.com/media/657251
转载请注明文章出处