(來自:黑客帝國)

我們無法看到過去那些我們不了解的選擇。

在最近的一系列攻擊中,黑客最終向受害者返還了數百萬被盜美元,或者在他們攻擊的時候直接少盜走一些,而原本他們可以拿走更多的錢。

在最近的黑客流行病中,黑客已經使用了各種方法來竊取資金,但是在整個過程中都有一個角色扮演著作用...

根據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美元就能操縱訂單。