9000萬美元被清算,我們去 DeFi 平臺借貸時需要注意什麼

昨天下午,去中心化借貸平臺 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、《細數defi預言機攻擊套路,這六種安全措施你需要了解》

3、《什麼是區塊鏈預言機(blockchain oracle)》


免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读