11 月26 日下午,去中心化借貸平台Compound 遭遇黑客攻擊,價值約9 千萬美元的加密資產被系統強制清算。除了用ETH 等非穩定加密資產貸出DAI 的用戶遭受影響外,抵押其他穩定幣借DAI 的用戶也被殃及。

Compound 開創了今年DeFi 流動性挖礦的先河,目前平台總鎖倉的加密資產高達14.7 億美元,略高於Aave 但低於Maker,在DeFi 借貸平台中排名第二。

圖:DeFi 借貸平台TLV 排名;來源:https://defipulse.com

Compound 的此次巨額清算,罪魁禍首不是項目本身的代碼漏洞,而是被很多人忽略的預言機數據源。事實上,在過去的幾年裡,因為代碼漏洞遭遇黑客攻擊的比例有所下降,但基於價格預言機操縱的漏洞攻擊正在逐步上升。

無論是開發者,還是我們普通用戶,都需要關注預言機的數據源,重視預言機的安全性。今天這篇文章,我們將通過通俗易懂的語言,帶領大家了解:

1、什麼是預言機? 2、黑客是如何操縱預言機數據源,導致Compound 發生巨額清算? 3、普通用戶如何自我保護?

01 什麼是預言機?

提到預言機(Oracle),大家可能第一時間想到預測市場。事實上,預言機並不作任何預測,相反,它只是一個提供數據、提供信息的橋樑。

舉一個生活中的常見例子。你早上剛睡醒睜開眼,想知道外面是否下雨,你對著iPhone 說“Hi Siri,今天的天氣如何,會下雨嗎?”語音助手Siri 回复你:“主人,現在外面正下著小雨,出門請記得帶傘。”

在這個例子中,Siri 就扮演了預言機的角色,扮演了現實世界和你之間的橋樑,通過它,你知道了外面正在下雨。

在區塊鏈領域,我們最常見的是價格預言機,即為區塊鏈應用提供加密資產的價格信息。

需要注意的是,預言機本身並沒有數據,它是通過採集不同渠道的數據,然後進行加工處理,其他應用調取預言機處理後的數據信息。就像上面的例子中,Siri 本身並不知道外面的天氣情況,它是採集了氣象服務商的實時天氣數據,而我們調取了Siri 獲得的這個天氣數據。

價格預言機,按照獲取價格的方式可以分為兩種:一種是通過中心化交易所API 獲取加密資產的實時價格,並將這個鏈外價格數據帶到區塊鏈上;另外一種是直接讀取去中心化交易所(DEX)的實時數據來獲取價格。這兩種方式各有利弊。

此次Compound 因為DAI 的價格劇烈波動而觸發巨額清算,它所使用的預言機就是採集的中心化交易所DAI 的價格信息。

02 Compound 為何會發生巨額清算?

在介紹黑客是如何操控預言機數據源導致Compound 觸發巨額清算之前,我們先來了解一下DeFi 借貸平台的借貸規則。

無論是Compound 還是Maker、Aave,主營業務都是抵押貸,即貸款之前你需要有加密資產進行抵押。這個很容易理解,現實生活中你去銀行貸款,也需要抵押(比如房子、車子等)。如果你償還不上銀行的貸款,銀行會把你的抵押物(房子、車子等)拿去拍賣,用拍賣的錢償還你的欠債。 DeFi 借貸平台也一樣,如果你償還不上,平台會賣出你抵押的加密資產用來還債。

DeFi 是去中心化的應用,由智能合約自動執行。為了防範風險,這些DeFi 借貸平台都會設置:

抵押率清算門檻

抵押率,指的是你抵押加密資產後,可以貸出多少比例的其他資產。不同的加密資產,因為波動性和市場認可度不同,最大抵押率也可能不同。舉個例子,在Compound 和Aave 上,ETH 的最大抵押率都是75%,即你抵押價值100 美元的ETH 到Compound 或者Aave 上,你最多可以貸出價值75 美元的其他加密資產;UNI(Uniswap的代幣)最大抵押率,Compound 上是60% 而Aave 上是40%,即抵押價值100 美元的UNI 在Compound 可貸價值60 美元的其他加密資產,而Aave 上最多只能貸40 美元。

清算門檻,指的是你的債務與你抵押的資產之間的比例達到某個數值後,平台會強制賣出你的抵押資產以償還債務。同樣,不同的加密資產,因為波動性和市場認可度不同,清算門檻也可能不同。舉個例子,ETH 在Aave 平台上的清算門檻為80%,意味著當你的債務(借款+利息)達到抵押資產價值的80% 時,系統就會把你的抵押資產賣出還債。

發生清算時,借貸平台會給清算人獎勵,以激勵清算人代表借款人去償還債務,防範後續出風險。舉個例子,Aave 上ETH 的清算獎勵為5%,隔壁老王抵押了1ETH(假設抵押時價格為500USDT),借出了300DAI(價值300USDT,抵押率60%)。過了幾天,ETH 價格跌到了375USDT,隔壁老王的抵押率達到了80%,就要被清算了。礦礦作為清算人,以5% 的優惠折扣,即356.25USDT 的優惠價購買被系統清算的價值375USDT 的1ETH,系統收到貨款後,扣除隔壁老王的債務300DAI,剩餘的56.25USDT 還給隔壁老王。這個例子為了計算方便沒有考慮利息,在實際操作中,因為利息的存在,ETH 價格還沒跌到375USDT 就會被清算。

接下去說是昨天發生的Compound 巨額清算。

Compound 上的DAI 價格來源於預言機,而該預言機的DAI 價格採集自單一的交易所——Coinbase Pro。根據目前的分析,黑客操縱了Coinbase Pro 上DAI 的價格,下圖我們可以看到,DAI 的價格短時間內最高拉到了1.34USD。

Coinbase Pro 交易所DAI 價格的上漲,讓Compound 上抵押其他資產借出DAI 的用戶債務增加了,一些槓桿率高的用戶(包含一位大戶)觸發了清算門檻,被Compound 清算,而黑客此時扮演清算人的角色,獲取系統給的5% 清算獎勵,最終獲利約355 萬美元。

Sam Priestley 在推文中分析道:當你的帳戶正在清算時,清算人可以選擇接受你的任何抵押品,以換取償還你的債務。所以清算人(即本次的黑客)拿走了DAI。從Uniswap 借入DAI ,償還DAI 債務,從清算中獲取更多DAI,償還Uniswap,坐收利潤。

  03 我們普通人應該如何自我保護?

Compound 發生巨額清算,主要是預言機只採集單一交易所DAI 的價格惹的禍。其他借貸平台上的DAI,比如Aave,因為採用的是Chainlink 預言機,Chainlink 採用的是多家運營商的報價,因而避開了此次事故。

對我們普通人而言,在使用借貸平台時,一定要先了解借貸平台的預言機數據源。數據源越多,黑客操控預言機的難度越大,相對而言越安全。

另外,在抵押借貸時,適當降低自己的抵押率。加密資產價格波動劇烈,黑客操縱價格或是插針砸盤往往在短短幾分鐘內完成,如果抵押率高了,很多人根本沒有時間增加資產抵押,那面臨的結果只能是被清算。

最後,也是最重要的一條建議,能場外借貸就不要場內借貸。場內借貸,場內槓桿,被惡意操控、惡意爆倉的例子數不勝數。

風險提示:本文內容僅為作者個人觀點,不代表知礦大學的看法或立場,亦不構成任何投資意見或建議。

參考資料:1、《Compound突現9000萬美元巨額清算,預言機安全應受重視》2、《Compound 一日內清算逾9 千萬美元,Coinbase 預言機難辭其咎? 》3、《細數DeFi預言機攻擊套路,這六種安全措施你需要了解》4、《什麼是區塊鏈預言機(BlockChain Oracle)》

推薦閱讀:江卓爾實例講述:什麼是顯卡挖礦的底層邏輯?以太坊挖礦,普通人應該如何入場?江卓爾:如何在本輪牛市,不僅賺錢還賺幣?

閱讀原文