来源:Medium
编译:比推BitpushNewsDerrickChen
预言机是将有关某些链上或链下事件的信息传输到区块链上的工具。这可以是任何东西,从价格到数量再到天气,尽管在本文中我们将讨论价格的预言。在DeFi中,价格预言机用于在链上发布加密货币价格数据,这是智能合约的关键数据输入。通过价格预言获取的最粗略的数据将包括一个没有异常值管理的单一交易工具。在最强大的情况下,各种数据提供者从各种交易所获取输入的值,应用异常值检测,并将聚合提供给像Chainlink或Pyth这样的预言机,然后根据他们从许多数据提供者那里收到的值广播一个总价值。
价格和预言机操纵
价格操纵漏洞是DeFi中最早和最常见的漏洞。在2020年夏天,随着DeFi的腾飞,在预言机被广泛使用之前,由于攻击者会抬高流动性不足的代币的价格,导致大量协议的资金流失,从而导致膨胀他们自己头寸的价值,并使用这个膨胀的价值来提取更多“有价值”的代币,比如ETH或USDC。在早期,协议通常会使用来自单个DEX的直接价格馈送,使得价格操纵相对容易。当协议会在推特上发布对漏洞利用的事后分析时,他们的回复中会充满“Chainlink得修复此问题”,而且通常情况下,他们是对的。
预言机为应对此类攻击提供了一层保护,尽管并没有使攻击成为不可能。例如,看看借贷协议InverseFinance发生了什么,该协议今年受到了两次打击,首先是在Sushiswap上对INV-ETH进行了相对简单的操作。
所需要的只是以很大的ETH交换INV来操纵价格,InverseFinance的预言机发现了这一点,从而使攻击者可以耗尽资金。在Sushiswap上,价格达到了近4,000美元的高位;在UniswapV2上,超过15,000美元;在Coinbase上,它达到了490美元的高位。不幸的是,Inverse使用的Keep3r预言机完全依赖于DEX价格数据。更强大的预言机可能会限制来自DEX的明显错误值的影响,并在价格变动期间更多地依赖Coinbase和其他CEX。
但是,这里的预言机并没有任何责任。预言机只是为协议提供数据的工具。在这种情况下,预言机完全按照设计运行:它使用较短的TWAP跟踪DEX上的INV价格,并且没有异常值检测。只要预言机提供者有足够的透明度,DeFi协议就有责任了解他们使用的预言机是如何运作的,以及如何操纵用作输入的价格馈送。对于在少数或没有中心化交易所提供的非流动性和/或小市值代币,价格操纵和预言机操纵相对容易;协议应认识到这一点并采取措施减轻其影响。
预言机的局限性
预言机不是灵丹妙药,它有两个主要限制:
1.他们无法实施风险管理来限制协议市场操纵措施的影响
2.输出只能与输入一样好。
第一点是诙谐的,但比以往任何时候都更相关;去中心化永续期货交易所的爆炸式增长——由Avalanche和Solana等L1和Arbitrum等以太坊Layer2上更便宜的交易带来——使反市场滥用措施的重要性成为人们关注的焦点。例如,大约一个月前,一位交易员利用了GMX的预言机定价——它允许用户以预言机价格开大头寸而没有滑点——以及精简AVAX订单簿以从不自然的价格变动中获利。
MangoMarkets最近的漏洞利用证明了第二点。简而言之,攻击者开立了MNGO永续期货多头头寸,推高了MNGO-PERP所基于的预言机价格,并使用了未实现且短暂的“利润”从Mango借款超过4亿美元,耗尽了所有资金——价值超过1亿美元。
这个时间线有什么启示?对我来说,整个过程相对容易。无论出于何种原因,很少有CEX提供MGNO,只有FTX、AscendEX和BingX是具有任何有意义交易量的唯一交易所。在漏洞被利用之前,FTX订单薄得令人难以置信。
在价格变动前的几个小时内,每个方向距离中点1%的总市场深度刚刚超过2万美元。在UTC晚上10:45,卖出深度为957美元,买入深度仅为743美元。
Mango使用的PythMNGO-USD预言机反映了0.155美元的高价。在检查每个发布者时,有趣的是他们的收集和异常值检测方法有何不同:一个发布者达到了0.829美元的高位,而另一个达到了0.07美元的高位。
预言机按设计运行,Mango团队承认这一点,并表示预言机提供者没有过错。代币的流动性太差了,预言机的输出只和它的输入一样好。
接下来是什么?
希望DeFi协议已经意识到,仅仅使用Chainlink或Pyth价格预言机并不能免除他们的风险管理。如前所述,去中心化期货交易所是此类攻击的主要目标,因为它们本质上是借贷协议的杠杆版本,通常是这些攻击的标志。
正如FTX首席执行官SamBankman-Fried所详述的那样,FTX的风险引擎使用自己的异常值检测形式,并对较大的头寸收取更高百分比的保证金,等等检查。其他人则建议,可以根据预言机提供的流动性衡量标准来建立头寸限制。这可能会给攻击增加一定程度的难度,但我的直觉是,一个老练且资本充足的攻击者将能够流动性,尤其是在仅在少数交易所提供代币的情况下。
值得一提的是,参与Mango漏洞利用的一名攻击者在推特上表示,借贷协议应存储24小时滚动预言机价格,并要求新头寸在当前预言机价格和滚动价格下均有效。这实际上似乎是一个很好的解决方案
随着熊市的拖延,我预计会看到更多、资本化程度更高的利用这种方式的尝试。上面提到的同一位攻击者详细介绍了AaveV2的理论利用,使用1亿美元的启动资金来抽取REN,并可能从协议中消耗5亿美元。
解决方案的组合——使用预言机、限制对非流动性代币的杠杆作用、使用更长的滚动价格来开设新头寸等等——对于防止未来此类攻击至关重要。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。