(来自:黑客帝国)

我们无法看到过去那些我们不了解的选择。

在最近的一系列攻击中,黑客最终向受害者返还了数百万被盗美元,或者在他们攻击的时候直接少盗走一些,而原本他们可以拿走更多的钱。

在最近的黑客流行病中,黑客已经使用了各种方法来窃取资金,但是在整个过程中都有一个角色扮演着作用...

根据Morpheus的说法,“预言机(Oracle)”从一开始就为反抗军提供服务,这是一个有知觉的程序,可以帮助人类抵抗攻击,使人类摆脱机器的压迫。

最近,预言机一直受到匿名代理商的不断攻击,这些代理商旨在操纵她对现实的看法,以最大程度地提高他们的利润。

NEO:我想最明显的问题是,我如何能信任你?ORACLE:毫无疑问,这是一个泡菜(Pickle)。(来自黑客帝国)

信任问题在价格预言机中很常见,可以分为链上的或链下的。

正如samczsun写道:

在一种方法中,您可以简单地从价格API或交易所获取现有的链下价格数据,并将其带入链上。另一种方法,您可以通过咨询链上DEX来计算瞬时价格。

两种选择都有其优点和缺点。

诸如Uniswap,Kyber或Balancer之类的链上价格预言机不需要任何访问特权,并且始终是最新的数据,但是,这意味着它们很容易受到攻击者的操纵。

链下预言机(例如Coinbase的预言机)通常对波动的反应较慢,并且它们还需要

“特权用户将数据推送到链上,因此您必须相信这些数据不会被破坏,也不会被强迫推送错误更新”

今天发生在Compound上的亿万美元资产被清算是由于Coinbase预言机的错误或被操纵造成的。

由于Compound依赖Coinbase作为一个单独的预言机,我们在Compound Finance上看到超过1.1亿美元的贷款清算。

当DAI价格在Coinbase上飙升至1.3美元时,受欢迎的流动性挖矿代币对DAI / USDC脱离了锚定,这导致大量资产清算并为等待清算这些头寸的匿名代理商带来了巨额利润。

Sam Priestley解释了清算如何发生以及人们如何从中获利:

今天有人在Compound上被清算了4900万美元。清算人仅仅通过调用一个方法就获利370万美元。受害人是一名杠杆Compound流动性挖矿农民。他们当时正在借出DAI,并借入USDC。当DAI的价格发生变化时,其帐户便被清算。如果他们将DAI和USDC放在单独的钱包中,那将不会发生。当您的帐户处于清算状态时,清算人可以选择拿走您的任何抵押品,以作为偿还您的债务。因此,清算人接受了DAI。从Uniswap借用DAI。偿还DAI债务。从清算中获取更多DAI。然后偿还Uniswap。最后获利。鲸鱼可能认为它们很安全,因为它们从未在USDC上调用过“进入市场”函数。但是通过借入USDC,他们激活了USDC作为其DAI债务的抵押。

谢谢@arbingsam的分析。

下图显示了DAI的价格飙升——对于原本应该维持稳定的稳定币来说,这是巨大的波动。

当Coinbase推出他们的预言机时,他们意识到依赖链下预言机所存在的问题。

“使用来自链下资源的数据需要信任数据发布者发布了正确的价格并保持签名密钥的安全。”

但是,Coinbase没有尝试减少对信任的需求,而是只是向他们的预言机用户保证他们值得这种信任。

Coinbase是加密领域最受信任的公司之一,我们的主要任务是发展加密经济。基于Coinbase安全基础架构的高度可靠的价格信息可以帮助提高DeFi生态系统的安全性,降低系统风险并释放下一波增长和采用趋势。

就像Compound创始人罗伯特·莱什纳(Robert Leshner)当时说的那样,他们似乎相信了Coinbase的话。

“ Coinbase价格预言机将提高Compound价格喂价的安全性和去中心化程度,这对于基于Compound的协议和应用生态系统至关重要。我们并不孤单——DeFi的其余部分将受益于更快的开发,一致的数据和共享的标准。”  —Compound首席执行官Robert Leshner

Compound创始人Robert Leshner之后回应协议被预言机操纵攻击:

我刚刚睡醒,看到Coinbase Pro上DAI的价格涨到1.3美元,这导致大量DAI借贷者的资产被清算。这实在让人沮丧,看到发生这么多清算也让人震惊。大家需要了解这几件事情:1、第一眼看,Compound协议本身似乎没有遭受损失,所以大部分用户,或者说DAI的提供者未受影响。2、我看到一些媒体报道了这一事故,对此做了猜测,目前,我无法确定Coinbase Pro上DAI价格上涨到1.3美元是否是有人故意而为,还是意外,或者是两者都有,但是此前,我们看到过Coinbase上的DAI价格随着ETH抛售出现飙升(当时发生在三月份的“黑色星期四”)。3、协议依据代码运行,也包括喂价这部分。4、这是社区运营项目,COMP持有者一起做决定更改协议或者按协议行事,我没有管理密钥或者特殊权限,所以不要私信我,或者把我作为唯一可以寻求帮助的渠道。

那么出了什么问题?

如果“链下预言机要求特权用户将数据推送到链上”,那么这个过程是如何发生的?

Coinbase状态页面当前显示以下内容:

过去,Coinbase Oracle曾出现过“问题”,对于某些参与者而言,这似乎总会带来高利润。

目前尚不清楚这是被操纵还是技术问题,但我们可以肯定这里面没有使用任何闪电贷。将Coinbase订单簿上的DAI拉升到1.3,这种操将花费至少100,000 DAI,因为Coinbase的DAI订单簿具有300k的深度。

所以这是恶意行为,偶然的或技术过时?无论哪种方式,那些清算人都从这次事件获利。

将任何单一的中心化数据源用作价格预言机是不明智的,并且Coinbase尤其糟糕,特别是如果您可以用100,000美元就能操纵订单。