TWAP预言机 vs. Chainlink喂价:比较分析

本文深入比较了TWAP预言机和Chainlink喂价,指出TWAP在价格精度、安全优化、市场覆盖、安全扩展和信息源多样性方面存在局限性,不适用于大多数DeFi场景。Chainlink通过VWAP提供准确实时的市场数据,具有更强的抗篡改性和更广泛的市场覆盖,并提供灵活的安全扩展方式,是更优越的预言机解决方案。

TWAP 预言机 vs. Chainlink 价格喂价:一个对比分析

Uniswap V3 的发布引发了关于 Uniswap 的时间加权平均价格 (TWAP) 预言机与 Chainlink 价格喂价 相比如何的各种问题。虽然这两种价格预言机解决方案都提供了各种基于以太坊的 token 之间的汇率,但存在许多并不立即明显但对用户有严重后果的重大差异。

我们展示了我们的分析,说明为什么我们认为 TWAP 预言机不适合绝大多数 DeFi 用例,以及 Chainlink 价格喂价如何克服此类限制,从而为 DeFi 生态系统提供卓越的价格预言机解决方案。比较的主要重点如下:

价格精度

  • TWAP 指标具有滞后性,在中等至高度波动时期,它会与市场范围内的价格失去同步,导致智能合约使用不准确的数据,使协议面临抵押不足的风险。
  • Chainlink 价格喂价使用成交量加权平均价格 (VWAP) 来提供准确的、实时的金融市场数据,而不管市场波动如何。

安全/准确性优化

  • TWAP 预言机在抗篡改性(安全性)和时效性(准确性)之间存在反比关系,这意味着用户需要针对其中一个进行优化,但不能同时实现两者。
  • Chainlink 价格喂价可以同时最大化抗篡改性(安全性)和时效性(准确性),而无需反比关系。

市场覆盖率

  • TWAP 预言机仅包含来自单个交易所的价格,导致市场覆盖率严重不足,无法解释交易对、CEX、竞争 DEX、不同 DEX 版本或移植到其他区块链网络的 DEX 之间的流动性碎片化。
  • Chainlink 价格喂价通过跟踪所有交易所(CEX 和 DEX)的价格并按实际交易量对其进行加权来提供完整的市场覆盖率,从而充当面向未来的、一劳永逸的预言机机制,自动跟踪新的流动性碎片化。

可扩展的安全性

  • TWAP 预言机不具有可扩展的安全性,因为提高安全性的唯一方法要么是资本密集型的,要么会导致波动期间出现陈旧/不准确的数据。
  • Chainlink 价格喂价提供了多种方法来让预言机网络随着其担保价值的增加而提高其安全性,例如添加更多节点、数据源和加密经济安全性,例如更高的节点支付和隐式/显式质押。

喂价多样性

  • TWAP 预言机仅提供两个链上 token 之间的汇率,这意味着它无法提供有关现实世界资产(如商品、外汇、股票、指数或以法币计价的 token)的金融市场数据。
  • Chainlink 预言机网络可以将智能合约连接到任何外部数据资源,包括任何类型的金融市场数据、现实世界事件、链下计算、数据隐私解决方案等等。

注意: 所提供的信息适用于所有源自 AMM DEX 的 TWAP 预言机,而不仅仅是 Uniswap。AMM DEX 作为价格预言机的局限性并没有削弱其巨大的价值主张,特别是提供去中心化、无需许可和非托管 token 交换的能力。最后,为简单起见,我们使用“TWAP 预言机”来表示由链上 AMM DEX 生成的任何 TWAP,即使从技术上讲,TWAP 可以从任何数据源生成。

什么是 AMM DEX?

在检查 TWAP 的局限性之前,重要的是要了解什么是 AMM DEX 以及它如何为用户生成汇率。如果你已经熟悉这个概念,请随意跳过本节。

去中心化交易所 (DEX) 是由智能合约提供支持的应用程序,允许用户以去中心化、非托管和点对点的方式在区块链网络上交易资产。然而,自动做市商 (AMM) 没有使用传统的买/卖订单簿来提供流动性(中心化交易所 (CEX) 中最常见),而是使用预先注资的流动性池来进行 DEX 上的所有资产交换。

在简单的 AMM 模型中,流动性池是一个智能合约,允许流动性提供者 (LP) 存入等量的两种 token(例如,ETH/USDT 流动性池的 100 美元的 ETH 和 100 美元的 USDT),交易者可以使用这些 token 在这两种 token 之间进行交换。LP 可以获得交易费用(例如,每次交易的 0.3%),以补偿其流动性供应并仍然持有交换后相同的累计资产价值(忽略无常损失)。因此,用户和其他智能合约只需支付少量费用即可获得即时可用的流动性。

AMM 流动性池中的汇率由一个粘合曲线决定,该曲线取决于池中每一侧的相对流动性数量。虽然存在具有各种设计考虑的不同类型的粘合曲线,如本 Chainlink 文章 中所探讨的那样,但本文中的概念适用于所有类型的 AMM。特别是,Uniswap 使用 X*Y=K 粘合曲线,其中 K 是一个常数值 1,X 是 token0 的数量,Y 是 token1 的数量。如果 token0 的数量增加,那么 token1 的数量必须减少(因此汇率成比例地变化),反之亦然。

Automated Market Maker Bonding Curves

加粗不同类型的 AMM 曲线,它们根据池中每一侧的 token 相对数量来确定 token 的汇率(加粗来源加粗

AMM 提供的汇率是通过套利来管理的,其中自动机器人有自利的经济激励(又名利润)来重新平衡池的汇率以匹配其他交易所。例如,这可以采取在 AMM 上以较低的价格购买 token 并在具有较高价格的不同交易所出售 token 的形式,既赚取利润又在两个交易所之间建立平衡。套利是 AMM 加粗通常加粗为用户提供公平市场价值的交换的原因(忽略滑点)。

由于 AMM 管理每个交易对的汇率(已经在链上),因此有些人认为该数据可以用作 DeFi 协议中的一种抗审查的价格预言机。然而,这并非易事,并且存在许多隐藏的局限性,这些局限性会使用户的资金面临严重风险。

为什么要用 TWAP?

使用 AMM 流动性池作为价格预言机的最简单方法是简单地将当前驻留在池中每一侧的 token 数量相除,以获得汇率。

加粗示例:一个具有 2 个 WBTC 和 120,000 个 USDT 的池将产生每个 WBTC 60,000 个 USDT 和每个 USDT 1/60,000 个 WBTC 的价格。加粗

虽然这确实提供了流动性池的当前现货价格,但它极易受到操纵。使用 AMM 现货价格作为预言机的智能合约很容易受到夹层攻击的攻击——在这种攻击向量中,恶意实体在 AMM 流动性池中进行大量交易,以使其价格向有利的方向转移,然后使用扭曲的定价从将该 AMM 流动性池用作现货价格预言机的智能合约中不公平地抽取价值。

通常,只有像鲸鱼这样资金雄厚的实体才有可能进行此类攻击,但闪电贷 — 临时无抵押贷款,仅当在交易结束前全额偿还才有效 — 允许世界上任何人成为临时鲸鱼并执行此类夹层攻击。

这也不是一个理论问题;由于协议依赖 AMM 现货价格作为预言机,用户资金已经损失了数百万美元(例如,warp.financebZx,他们都升级到 Chainlink 以解决此问题)。因此,即使是 Uniswap 也强烈建议避免使用 AMM 现货价格作为预言机,因为它们可以(并且将会)被操纵,从而导致用户损失。

Flash Loan DeFi Attack

加粗下面显示了一个理论上的(但合理的)示例,说明闪电贷如何用于通过操纵单个 DEX 的价格来操纵资金市场 DeFi 协议并从中抽取资金;所有这些步骤都发生在单个交易中。(加粗来源加粗

为了缓解夹层攻击,AMM DEX 开始提供时间加权平均价格 (TWAP) 预言机。TWAP 是一种定价方法,用于计算资产在指定时间段内的平均价格。例如,“一小时 TWAP”表示取在定义的小时内的平均价格。由于闪电贷仅存在于单个区块中,因此在多个区块上获取 TWAP 值可以免疫此类攻击。

最广为人知的 TWAP 预言机来自 Uniswap,包括其当前的 V2 和即将发布的 V3 版本。Uniswap 版本中使用的一种常见 TWAP 实现包括在不同的时间点拍摄两个快照,跟踪每个快照的时间戳和历史价格总和,并使用此信息来计算最终的 TWAP 数据点(如下图所示)。在 V2 中,快照是一个手动过程(或外包给 Keep3r),而 V3 将该过程外包给 Uniswap 交易者。默认情况下,Uniswap V3 支持约 13 秒的 TWAP,但可以通过为每个交易池支付一次性 gas 费将其延长至约 9 天。

Uniswap V2 TWAP Oracles

加粗Uniswap V2 AMM 支持的 TWAP 计算方法(加粗来源加粗

虽然使用链上数据作为你的价格预言机听起来很理想,但在实践中,存在许多权衡。这些局限性会使用户的资金面临风险,最终阻止 TWAP 预言机在绝大多数 DeFi 应用程序中大规模使用。这些问题仅仅是根据 AMM DEX 计算的 TWAP 的固有局限性,这意味着它们只能通过使用非 TWAP 和非 AMM 预言机解决方案(如 Chainlink 价格喂价)来解决。我们将在下面探讨这些局限性以及 Chainlink 价格喂价如何缓解这些限制。

TWAP 预言机的局限性

时效性/准确性

顾名思义,TWAP 是一个滞后指标,不提供当前现货价格,而是提供在先前时间段内获取的平均值。这在低波动时期(由于价格值变化不大)在很大程度上没有问题,但在中等至高度波动时期可能会成为一个重大问题,因为 TWAP 会与全球范围内的市场价格失去同步。

如果资产的价格在一个方向上迅速变化,TWAP 将传递过期的定价数据,因为它来自过去,并且没有足够的时间来赶上。这种动态导致抗篡改性(安全性)与时效性(准确性)成反比关系,这意味着开发人员被迫优先考虑一种属性,但不能真正同时实现两者。

调整 TWAP 覆盖的时间长度(例如,10 分钟 TWAP 与 10 小时 TWAP)具有以下含义:

  • 更长的 TWAP: 更高的抗篡改性(操纵成本更高),但数据不太准确(在波动期间变得陈旧)。
  • 更短的 TWAP: 数据更准确(在波动期间保持时效性),但抗篡改性降低(降低了操纵成本)。

安全性和准确性之间的反比关系在 TWAP 中是不可避免的,这使得它非常不受欢迎,因为 DeFi 应用程序需要同时具有最大抗篡改性和准确性的价格预言机。由于低级别的抗篡改性对于高价值应用程序来说是不可接受的,因此大多数 TWAP 预言机倾向于通过使用 30 分钟到 12 小时之间的时间样本来提高抗篡改能力。

虽然此范围内的 TWAP 时间样本可能在低波动时期有效,但加密货币市场中常见的波动性适中,并且极端波动性(例如 黑色星期四)和 rug-pull/退出骗局(例如 Compounder)都有许多历史先例,导致资产价格迅速变化(通常以估值崩溃的形式)。在每种情况下,TWAP 都将返回在如此波动期间不准确的过期数据。

数据显示 Uniswap v2 的 ETH/USDC 10 分钟 TWAP 预言机与 Chainlink 的 ETH/USD 价格喂价之间的偏差(加粗来源

为了展示其含义,让我们看一个理论上但合理的例子,即使用加粗一小时 Uniswap TWAP加粗的去中心化货币市场。该货币市场在低波动时期似乎运转正常。但是,市场波动性突然增加,并且用作贷款抵押品的 token 价格在十分钟内线性下降 50%(这是加密货币,可能会发生)。

通常,协议将有充足的时间在这种抵押品价值下降太多之前清算该仓位(以太坊在十分钟内产生约 48 个区块)。但是,由于使用了一小时的 TWAP,因此它没有足够的时间来赶上,并且在此十分钟的时间段后仅报告了 5% 的跌幅(与真实的市场范围价格偏差 62%)。

由于 TWAP 定价偏差,协议无法在足够的时间内清算该仓位,并且债务现在的价值高于基础抵押品,从而导致抵押不足的仓位。 即使当 TWAP 预言机赶上并报告正确的价格时,也为时已晚,并且该仓位无法完全清算。由于这是一个有毒的债务仓位,贷款人将不得不承担损失,因为借款人现在偿还贷款的价值高于其抵押品,因此借款人没有偿还贷款的动机。

虽然这是一个极端的例子,但这正是在波动时期以及不太极端的情况下使用 TWAP 预言机时可能发生的确切问题。将时间样本减少到十分钟或以下也不是一个合适的解决方案,因为它会使价格预言机的抗篡改性降低至少一个数量级。这种在波动期间不准确的定价也会对其他类别的 DeFi 应用程序产生不利影响,例如算法稳定币和 rebase token,它们的货币供应依赖于定价数据以确保正确维持Hook。

Chainlink 价格喂价通过不使用 TWAP 计算方法来避免过时价格数据的问题,而是选择基于来自聚合器的数据的成交量加权平均价格 (VWAP)。来自数据聚合器的 VWAP 计算涉及从所有流动性交易所(包括中心化交易所和去中心化交易所)获取价格数据,使用精确的方法按实际交易量对其进行加权,并删除异常值和虚假交易量,以得出反映全球市场价格的单个价格点。这些价格喂价在偏差阈值的基础上(例如,价格每变动 0.3%)和心跳的基础上(例如,每 1 小时)更新,以确保在任何时间点智能合约应用程序始终可以获得准确的数据。

Chainlink ETH/USD Price Feed

加粗以太坊主网上具有 0.5% 偏差阈值和 3 小时心跳的 Chainlink ETH/USD 价格喂价(加粗来源加粗

由于价格数据是从链下源获取并在链上异步传递的,因此闪电贷对 Chainlink 价格喂价没有影响(因为闪电贷仅存在于单个区块中的链上)。这避免了 TWAP 预言机试图解决的问题,而不会在市场波动期间损害准确性。虽然 TWAP 预言机有特定的用例,但实时、成交量加权的价格是大多数 DeFi 应用程序为保护用户资金安全所需要的。

需要注意的是:像 Uniswap 这样的 AMM DEX 仅限于 TWAP 喂价,而 Chainlink 价格喂价可以利用任何定价计算方法,包括 VWAP、TWAP 或各种其他自定义计算。但是,VWAP 不仅是 DeFi 中最常见的定价方法,而且也是传统金融中最常见的定价方法。

市场覆盖率

TWAP 预言机的另一个根本问题是它们缺乏市场覆盖率 — 资产的价格考虑到的交易所数量与当前资产交易的所有交易所相比。TWAP 仅表示单个 AMM DEX 的价格行为,这意味着任何依赖此价格数据的智能合约仅暴露于总交易市场的一小部分。这降低了发起攻击的难度,因为恶意行为者只需要操纵单个交易所,而不是同时操纵数百个中心化和去中心化交易所中的数千个交易市场。

可以通过延长获取的时间样本来提高 TWAP 预言机的抗篡改性,但只能以降低准确性为代价,从而使其作为长期解决方案不切实际。无论如何,延长时间样本仍然无法提供完整的市场覆盖率,因为仅跟踪单个交易所。除了 TWAP 的时间样本之外,还有许多其他关于市场覆盖率的动态需要考虑。

即使用于计算 TWAP 预言机的 AMM DEX 具有足够的流动性水平,也不能保证流动性不会转移到其他交易所并意外地降低操纵成本。延长 TWAP 时间样本以补偿此类攻击只会导致定价过时,从而无法解决该问题。跨交易所转移流动性/交易量对于所有仅从单个交易所获取价格的预言机来说都是一个问题。

Single Source Oracle Failure

加粗单一来源预言机无法解释跨交易所的交易量/流动性转移(加粗来源加粗

尤其是在 DeFi 的快速创新中,链上流动性将如何转移是完全无法预测的。新的协议和网络正在不断推出,导致 DeFi 中发生多种形式的流动性碎片化:

  • 竞争 DEX: AMM 领域的竞争非常激烈,一些协议甚至部署了吸血鬼攻击以快速从领先的 DEX 中吸走流动性。这导致流动性碎片化,因为现有和未来的 AMM 争夺流动性。
  • 相同的 DEX,不同的版本: 某些 AMM 具有用于更新的选择加入版本控制,这意味着当发布新的协议版本(例如 Uniswap V3)时,在所有 LP 完成切换之前,流动性可能会在两个不同的 AMM 版本之间碎片化。这会导致新版本发布后的一段时间内流动性碎片化。
  • 相同的 DEX,不同的链: 为了保持竞争力,AMM 正在推出对新区块链的支持,例如 Sushiswap 扩展到 Fantom、Polygon、xDai、BSC 和 Moonbeam。Uniswap V3 将在以太坊和 Optimism layer-2 网络上启动,从而进一步碎片化其自身的流动性。
  • 相同的 DEX,不同的交易对: AMM 使用隔离的交易池,其中单个资产可能在多个不同的池中具有特定 token 的流动性(例如 LINK/ETH、LINK/USDT、LINK/USDC 等),从而碎片化单个 AMM 中资产的流动性。

由于 TWAP 预言机仅跟踪单个区块链上的单个 AMM 的单个版本上的单个交易市场,因此流动性碎片化可能会对任何依赖此数据作为市场定价真实来源的智能合约产生重大的副作用。 除了这些已知的未知数之外,还有未知的未知数,可能会创建一个全新的去中心化交易所类型,取代 AMM 模型,从而可能导致流动性的大规模迁移。我们无法预测未来,因此永远不应该依赖来自单个交易所的价格数据,尤其是当你希望设置并忘记你的预言机机制,并假设它将始终提供高质量的价格数据时。

通过中间值器聚合跟踪不同 AMM 和 DEX 的 TWAP 预言机也不能为市场覆盖率提供足够的解决方案,因为安全性与准确性之间的相同反比关系仍然存在。混合低质量的数据点不会产生高质量的数据点。聚合 TWAP 实际上会降低攻击成本,因为只需要操纵流动性最差的 DEX 即可影响最终的中间值数据点。它也没有考虑到中心化交易所发生的大部分流动性/交易量。

实现市场覆盖率意味着跟踪所有交易场所(链上和链下),而不仅仅是特定用户或开发人员首选的特定类型的交易所。我们已经看到了当协议使用未提供完整市场覆盖率的价格预言机会发生什么情况,例如 Compound.finance 基于来自单个交易所的不规则价格偏差错误地清算了 8500 万美元的 DAI 贷款。

Chainlink 价格喂价通过利用 三种聚合层 来解决这些问题并确保强大的市场覆盖率:1) 数据提供商,2) 节点运营商和 3) 预言机网络。

Chainlink 从多个专业的数据聚合器(例如 BraveNewCoin、Kaiko、CoinGecko、CryptoCompare、Amberdata 等)获取 VWAP 数据。这些数据聚合器拥有庞大的全职团队,专门致力于生成反映全球资产价格的高质量价格喂价。每个数据聚合器都跟踪所有链上和链下交易所,使用精确的方法按实际交易量对其进行加权,以防止操纵、虚假交易量和其他形式的数据损坏。由于每个 Chainlink 价格喂价都使用多个数据聚合器,因此使用多种基于 VWAP 的价格计算方法,以进一步增加对试图转移最终聚合价格点的任何恶意行为者/交易者的抵抗力。

Chainlink Three Layers of Aggregation

加粗Chainlink 价格喂价使用价格数据聚合器实现完整的市场覆盖率(加粗来源加粗

每个 Chainlink 节点从至少三个独立的数据聚合器获取数据并获取中值,既可以防止 API 停机,又可以避免任何单一的事实来源。更重要的是,每个 Chainlink 节点都从一组不同的数据聚合器生成其中值,以进一步加强网络安全性。然后每个预言机网络从多个独立节点获取中值,以进一步防止预言机停机和恶意/不准确的节点响应。通过这三个聚合层,实现了完整的市场覆盖率,而不会损害抗篡改性、活跃性或准确性。

安全性的可扩展性

如果你的智能合约应用程序的总锁定价值增加(例如,从 1000 万美元增加到 10 亿美元的 TVL),你将如何提高价格预言机的抗篡改性以增强对用户资金的保护?对于 TWAP 预言机,有两种基本方法可以实现此目的:延长 TWAP 的时间样本和/或增加 AMM 池中的流动性。

延长 TWAP 的时间样本会遇到与实现安全性但降低价格准确性的相同的反比关系问题。随着协议的扩展,波动期间价格预言机的准确性变得越来越重要,因为有更多用户资金受到威胁,这意味着 TWAP 样本的长度只能略微增加。因此,延长 TWAP 时间样本不能作为 DeFi 协议中扩展 TVL 的长期解决方案。

另一种方法是向 AMM 池添加流动性,但这也有其自身的权衡。首先,开发人员将其有限的资本部署到 AMM 池中是一种非常低效的扩展其预言机安全性的资本方式。其次,与按预定义的百分比提高安全性相比,对于具有相对较高的流动性水平的池(但安全性仍然需要提高),扩展成本将更加昂贵。

最后,用户没有收到强有力的保证,因为可以像添加流动性一样容易地从 AMM 池中删除流动性。这可能是由于恶意原因(例如 rug-pull)或完全由经济激励驱动,例如流动性转移到为 LP 提供更高收益的不同 AMM 协议。LP 不一定忠于任何单个 AMM 协议。

这导致了一个双刃剑:资本是在集体知道它可能在任何时间点被移除的情况下添加的,或者强制执行时间锁定以防止流动性 rug-pull,但这会产生机会成本,并且不能解决大量解锁的流动性流向竞争交易所的风险。因此,在扩展其 TWAP 预言机的安全性时,开发人员的选择非常有限。

Chainlink 提供了一种更加灵活和多方面的方法来扩展价格喂价安全性。随着价格喂价担保的价值增加,数据请求者有能力:

  • 增加高级数据源的数量,从而进一步分散数据源和聚合流程。
  • 增加独立节点运营商的数量,从而进一步分散数据传递和验证流程。
  • 切换到更昂贵但质量更高的数据 API 和提供卓越保证的节点运营商。
  • 为每个已完成的请求向每个节点运营商支付更多的 LINK 费用,从而为恶意活动建立更高的机会成本。
  • 与需要相同数据的其他用户聚合费用,从而创建共享的、集体资助的预言机网络,这些网络比任何项目自己负担得起的更安全。
  • 在主网实施后,利用其他安全方法,例如用于零知识证明的 DECO 和用于可信硬件的 Town Crier
  • 在显式质押启动后,要求节点在服务协议中质押更多的 LINK,以便为诚实行为创造更大的加密经济激励。

Chainlink Oracle Network Overview

加粗Chainlink 网络在隐式和显式质押、用户费用池合约、治理合约和服务协议中大规模运行的概述(加粗来源加粗

这些方法为使用 Chainlink 预言机网络的开发人员提供了广泛的可调整工具和变量,以无缝地扩展价格喂价的安全性。Chainlink 安全性扩展方法比 TWAP 方法更具资本效率,并且不需要权衡价格准确性。

Chainlink 价格喂价已经开始扩展其安全性,以匹配其在整个 DeFi 中增加的责任,例如 ETH/USD 价格喂价 最初从 3 个节点增加到目前的 31 个节点,以及 LINK/USD 价格喂价 从启动时的 9 个节点扩展到现在的 31 个节点。随着显式质押的发布,可以进一步扩展 Chainlink 预言机网络的安全性并对其进行量化,以获得更强大的加密经济保证。结合其所有安全性扩展方法,Chainlink 提供了一个面向未来的预言机解决方案,可以更好地为 DeFi 不断增长的 TVL 提供服务。

集中流动性

在考虑 TWAP 预言机的安全性时,另一个重要的考虑因素是支持流动性集中的 AMM 会显着降低操纵成本。从上下文中可以看出,传统的 AMM(如 Uniswap v2)的流动性沿零到无穷大之间的整个价格曲线均匀分布,从而确保交易者无论池的当前汇率如何都可以访问流动性。

较新的 AMM(如 Uniswap v3)通过支持集中流动性来偏离此模型 — LP 可以在自定义价格范围内分配资本。例如,两个稳定币(USDC/USDT)的 AMM 对的 LP 可以将其资本仅分配给 0.99-1.01 的价格范围。这导致在中市场价格附近的流动性更深。

Uniswap Concentrated Liquidity

加粗Uniswap v2 中的均匀流动性分布与 Uniswap v3 中的集中流动性(加粗来源加粗

但是,当大部分流动性集中在有限的价格范围内,并且对手使用其资本将资产的汇率推出此范围时,进一步操纵价格的成本会显着降低,因为在价格曲线的其余部分几乎没有流动性。

此外,当流动性集中在当前中市场价格附近时,攻击者可以使用接近真实市场范围价格的平均执行价格来耗尽此集中价格范围,从而降低负价格影响并进一步降低操纵成本。因此,集中流动性 AMM 提高 LP 的 ROI 并降低交易者价格影响的相同资本效率特性,也会通过降低操纵成本使攻击者受益。

在 2021 年 11 月发生了一个此问题的 真实示例,其中操纵了 VUSD/USDC Uniswap v3 池,以便耗尽链上借贷市场(Rari Fuse Pool #23)中的资产。流动性池包含 15.7 万个 USDC 和 22.2 万个 VUSD,但由于这两个 token 都是稳定币,因此大部分流动性都集中在 1 美元附近。在以接近无穷大的价格(数万亿 USDC)评估 VUSD 的价格范围内添加价值 0.1 美元的流动性后,攻击者将自己的资本中的 23.2 万个 USDC 换成 22.2 万个 VUSD,从而耗尽了 1 美元附近的集中流动性并耗尽了池中的 VUSD 储备。

由于 1 美元范围以外的唯一流动性是之前存入的 0.1 美元的 token,这些 token 集中在接近无穷大的价格附近,因此池中 VUSD 相对于 USDC 的汇率转移到接近无穷大。这导致了报告的 VUSD 的 TWAP 预言机价格在十分钟内呈指数级增长。当在 Rari 池 #23 借贷市场中使用他们新收到的 VUSD token 作为抵押品时 — 该市场使用集中流动性池作为 TWAP 预言机 — 攻击者能够通过以夸大的估值借用其 VUSD 抵押品来耗尽所有其他池资产。

这导致攻击者的净总利润约为 300 万美元,而借贷池因产生无法盈利地清算的有害贷款仓位而资不抵债。

Rari Fuse Pool #23 Oracle Manipulation

加粗耗尽资产后的 Rari Fuse Pool #23(加粗来源加粗

值得注意的是,由于 VUSD/USDC 池中的流动性集中在中市场价格附近,因此操纵该池的总成本仅为 1 万美元,因为以总计 23.2 万美元的 USDC 购买了 22.2 万美元的 VUSD。即使 AMM 池在接近中市场价格附近集中了数量级更多的流动性,操纵成本仍然相对较低,因为攻击者仍然会遇到很小的负价格影响。

在正常情况下,可以在 TWAP 预言机更新之前,通过外部方针对另一个未操纵的流动性池执行套利来逆转对集中流动性池的操纵。但是,在实践中,有多个原因可能导致这种套利不会发生:

  • 没有套利机器人: 该 token 的整体流动性或交易量可能太低,无法让套利机器人跟踪。该 token 可能不符合 ERC20 标准,因此可能无法被机器人识别。在 VUSD 操纵期间没有发生套利。
  • 没有其他 DEX 流动性: 该 token 可能仅在单个 DEX 上的单个交易对上具有链上流动性,这意味着无法在 DEX 之间进行无风险套利。无法原子地执行 CEX 和 DEX 之间的套利,因此机器人可能会选择不承担此风险。
  • 其他 DEX 交易对也受到操纵: 可能以相同的方式操纵了具有 token 的每个链上流动性池,这意味着无法发生链上套利。这种情况发生在 INV token 上,导致 Inverse Finance 的攻击

除了上述情况之外,当流动性主要集中在当前中市场价格范围之外的范围内时,情况会变得更糟。这可能发生在市场波动时期,其中市场中价位从集中流动性转移,并且 LP 尚未重新平衡其流动性范围,无论是由于 gas 成本还是手动效率低下。

Uniswap v3 out of range liquidity

加粗Uniswap v3 上的集中流动性超出当前市场价格的范围(加粗来源加粗

主要的结论是,即使集中流动性池具有大量的流动性,但耗尽该流动性的成本可能非常低(如果流动性超出范围,甚至接近于零)。这增加了操纵的可能性,从而导致 TWAP 预言机价格出现偏差。

重要的是要注意,如果资产存在的唯一流动性是在具有不健康流动性分布的单个集中流动性池中,那么从根本上说,使用任何类型的价格预言机都是不传统金融与加密货币和 DeFi 的规模对比

加密货币的市值超过 2 万亿美元,DeFi 中担保的价值超过 500 亿美元,但是,链下市场的规模仍然要大几个数量级( 来源 )

TWAP 预言机也无法提供代币的 USD/fiat 汇率。诚然,像 USDT、USDC、GUSD、DAI 和 sUSD 这样的稳定币可以作为美元的代理,但它们的Hook并不总是保持 1:1。稳定币的Hook在很大程度上取决于市场的流动性以及公众对稳定币支持的信心。使用 TWAP 预言机来获取 USD/fiat 价格是对稳定币Hook的一个很大的假设,如果Hook中断(如在黑天鹅波动期间),可能会导致 DeFi 应用程序的错误输出。

作为一个去中心化的预言机网络,Chainlink 节点没有这样的问题,因为它们可以从任何链下数据源获取数据,因此可以提供世界上任何可交易资产的价格,无论它主要存在于链上还是链下。 这允许创建各种真实世界资产的数据馈送,以及各种事件,如天气、GPS 位置、可验证的随机性等等(在我们的 超越价格馈送 文章中进一步探讨)。Chainlink 预言机还将维护这些数据集的机密性,同时仍然通过诸如 Town CrierDECOMixicles 等技术,使数据在智能合约的执行中可用。

通过 Chainlink 获取几乎任何链下数据集和链下计算的能力使智能合约的开发变得更加容易,因为数据馈送可以轻松地添加、调整或切换,而无需进行最少的集成工作。这也意味着用户不必担心其协议的某些部分使用具有不同安全性和准确性假设的预言机网络,尤其是当这些假设比 Chainlink 弱得多时;即 TWAP。

结论

无论是市场波动期间不准确的价格馈送、极弱的市场覆盖范围、扩展预言机安全性的有限选择,还是缺乏馈送多样性,TWAP 预言机都不适用于保护用户资金的绝大多数 DeFi 应用程序。

虽然金融市场数据只是 Chainlink 作为去中心化预言机网络的通用实用性的一小部分,但 Chainlink 价格馈送为 DeFi 提供了最高质量的价格数据,并由最强大的预言机安全性支持。这些价格馈送在极端的市场波动和区块链网络拥塞期间都经过了时间的考验,并继续为 Aave、Synthetix 等众多领先的 DeFi 协议保护数十亿美元的用户资金。这就是为什么 Chainlink 价格馈送正以加速的速度被采用,以及为什么它们已经成为并将继续成为所有区块链上 DeFi 生态系统的标准价格预言机解决方案。


在 Twitter 上关注我们 @SmartContent777,以获取最新文章,并关注我们的个人帐户 @Crypto___Oracle@ChainLinkGod,以获取有关 Chainlink、DeFi 和区块链领域的持续信息流。

  • 原文链接: smartcontentpublication....
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
smartcontentpublication
smartcontentpublication
江湖只有他的大名,没有他的介绍。