防範閃電貸攻擊,DeFi 協議需避免從單一源獲取價格數據。

原文標題:《閃電貸與預言機防篡改性的重要意義》
撰文:Chainlink

閃電貸與流動性挖礦一樣,都是創新的流動性機制,這兩個概念是近期 DeFi 生態的熱門話題,引來了廣泛關注。閃電貸用戶可以向鏈上流動性池進行無抵押貸款,條件是在同一筆交易內向流動性池返還借入的資金再加上一小筆交易費。這個創新模式極大豐富了資金的應用場景,將資金面向所有用戶開放,並同時保障流動性池的償付能力。

閃電貸可以讓任何人在單筆交易的時間期限內充分募集到資金,盤活了價值幾億美元的流動性。這爲套利交易、抵押品互換和槓桿交易打開了大門,但同時也產生了一定風險,特別由於是 DeFi 生態仍在發展初期,因此各個 DeFi 協議的去中心化程度和安全性都有所不同。智能合約開發者應該充分了解這些風險,這樣才能爲用戶開發出更加穩健的應用。

閃電貸以及價格預言機攻擊

正如上篇關於 DeFi 智能合約數據安全的文章 所述,協議如果從單一數據源獲取價格數據,就容易受到惡意攻擊,攻擊者可以利用大筆資金交易操縱市場。由於閃電貸可以在任何時間爲世界上任何一個角落的人即時提供大筆資金,因此越來越多人利用閃電貸的資金對 DeFi 協議發起攻擊。不過在這裏我們需要闡明一點,閃電貸只是爲攻擊提供資金,真正的問題還是中心化的價格預言機無法充分覆蓋各個價格市場。

雖然閃電貸攻擊的方法和範圍不盡相同,但它們所攻擊的協議都有一個共同點,那就是隻從某一個去中心化交易所獲取價格數據。比如閃電貸攻擊的受害者是某個 DeFi 借貸協議,該協議從某一個去中心化交易所獲取喂價數據。操作步驟如下:

  1. 從一個支持閃電貸的協議中借入大量通證 A。
  2. 在某個去中心化交易所上將通證 A 換成通證 B。
  3. 將兌換的通證 B 放在另一個 DeFi 協議中作抵押,而上一步操作中的去中心化交易所是這個 DeFi 協議唯一的價格數據源;由於價格數據被操縱,因此可以借到高於正常量的通證 A。
  4. 用其中一部分通證 A 還之前閃電貸的貸款,然後剩餘的通證放進自己的口袋,以此不當獲利。
  5. 隨着去中心化交易所中通證 A 和通證 B 的價格通過套利交易逐漸回到真實水平,DeFi 協議會出現債務價值超過抵押品價值的情況,這將直接損害其他正常用戶的利益。

閃電貸頻繁用於喂價攻擊,去中心化預言機可如何防範?閃電貸攻擊中通過操縱價格預言機發起攻擊的具體步驟

由於攻擊者能夠發起閃電貸並操縱鏈上交易所,而交易所又是某個 DeFi 協議唯一的價格預言機,因此他們有能力人爲提升抵押通證的價格,並降低債務通證的價格。這樣一來,攻擊者就可以借入高於正常量的通證,而由於抵押品價值變得低於債務價值,因此導致無法完全清算。這種攻擊雖然是在單筆交易中發生的,但是發起交易的次數越多,攻擊次數也就越多,最終造會成嚴重損失。

僅從一家鏈上交易所獲取價格數據會導致市場覆蓋嚴重不足,因爲價格只反映了一家交易所的交易活動。如果交易量突然轉移到其他交易所,或某一巨鯨暫時操縱了交易所的交易活動,協議將很容易獲取錯誤的喂價。對於流動性較低的加密貨幣資產來說這個問題尤爲嚴重,而這類資產被越來越多地用在 DeFi 協議中作爲抵押品。

所幸,這種類型的攻擊是完全可以避免的,方法就是使用去中心化的預言機,充分保障市場覆蓋。

Chainlink 喂價基於去中心化的預言機節點網絡,充分保障市場覆蓋。網絡從多個獨立的數據提供商獲取並聚合價格數據,其中包括 CoinGecko、Amberdata 以及 BraveNewCoin 等專業的數據聚合商。這些數據聚合商會追蹤所有交易環境,並運用成熟的算法綜合考慮各個交易所的交易量、流動性和時間差等各種因素。

閃電貸攻擊必須在單筆交易中完成,而且只能操縱鏈上去中心化交易所,因此對 Chainlink 喂價完全無效,因爲喂價是以異步的方式通過多次交易更新的。另外,Chainlink 還會從鏈上去中心化交易所和傳統的中心化交易所同時獲取並聚合數據,因此可以防止攻擊者通過操縱某一交易所的交易來影響喂價。

我們強烈建議智能合約開發者避免使用容易被操縱的 DEX 價格數據,而是接入 Chainlink 喂價爲其智能合約輸入市場價格數據,以防止在未來遭遇閃電貸攻擊。這可以保障 DeFi 協議收到的聚合價格一直能準確反映市場交易行爲,並且可以抵禦閃電貸攻擊以及所有類型的價格預言機攻擊風險。

閃電貸頻繁用於喂價攻擊,去中心化預言機可如何防範?閃電貸攻擊對 Chainlink 喂價無效

總結

閃電貸是一種創新的 DeFi 金融產品,極大豐富了 DeFi 應用場景,並降低了市場準入門檻。雖然近期有人利用閃電貸的資金對 DeFi 協議發起了攻擊,但閃電貸本身只是一種金融工具,其價值不應被忽視。閃電貸本身不產生風險漏洞,而是暴露了已經存在的風險漏洞,其中最常見的漏洞就是價格預言機只接入一個鏈上交易所。

Chainlink 生態及其去中心化預言機網絡能夠大幅提升 DeFi 協議的防篡改性,特別是提升其獲取實時市場數據的關鍵能力。DeFi 協議只有將安全性放在首位,才能應對新的風險,維持用戶對其的信任,並逐步將鎖倉量從十億級增長至萬億級。