閃電貸攻擊,曾經的 DeFi 之王 YFI 也未能倖免

撰文 | nestfans.知魚
出品 | nest愛好者(nestfans.com)

引言:關於 defi 的安全問題,從 2020 年 2 月份到現在,損失數億美元,各路專家已有無數文章來解析 defi 樂高的風險,直到現在這類問題依然沒有引起開發者們的高度重視,在市場持續狂熱以及鎖倉規模不斷推高的環境中,人們似乎已經忘了,那個深埋在狂歡大陸土地下的隱患,並沒有消失......
 

曾經的 defi 之王 yfi 協議未能倖免

 
2021 年第一次閃電貸攻擊事件,發生在了 2020 年的 defi 王者 —— yearn finance 協議身上,當然,這是偶然事件還是開年先拿王者開刀,來嘲諷 defi 的無能,我們暫且不論,也無從洞察“攻擊者”的心境,這裡,我們來看一下發生了什麼。
 
根據慢霧科技的情報,遭受攻擊的是 yearn finance 協議的 dai 策略池,具體情況如下:
 
1. 攻擊者首先從 dydx 和 aave 中使用閃電貸借出大量的 eth
 
2. 攻擊者使用從第 1 步借出的 eth 在 compound 中借出 dai 和 usdc
 
3. 攻擊者將第 2 步中的所有 usdc 和 大部分的 dai 存入到 curve dai/usdc/usdt 池中,這個時候由於攻擊者存入流動性巨大,其實已經控制 curve dai/usdc/usdt 的大部分流動性
 
4. 攻擊者從 curve 池中取出一定量的 usdt,使 dai/usdt/usdc 的比例失衡,及 dai/ (usdt&usdc) 貶值
 
5. 攻擊者第 3 步將剩餘的 dai 充值進 yearn dai 策略池中,接著呼叫 yearn dai 策略池的 earn 函式,將充值的 dai 以失衡的比例轉入 curve dai/usdt/usdc 池中,同時 yearn dai 策略池將獲得一定量的 3crv 代幣
 
6. 攻擊者將第 4 步取走的 usdt 重新存入 curve dai/usdt/usdc 池中,使 dai/usdt/usdc 的比例恢復
 
7. 攻擊者觸發 yearn dai 策略池的 withdraw 函式,由於 yearn dai 策略池存入時用的是失衡的比例,現在使用正常的比例提現,dai在池中的佔比提升,導致同等數量的 3crv 代幣能取回的 dai 的數量變少。這部分少取回的代幣留在了 curve dai/usdc/usdt 池中
 
8. 由於第 3 步中攻擊者已經持有了 curve dai/usdc/usdt 池中大部分的流動性,導致 yearn dai 策略池未能取回的 dai 將大部分分給了攻擊者
 
9. 重複上述 3-8 步驟 5 次,並歸還閃電貸,完成獲利
 
攻擊者利用閃電貸進行這一迴圈套利,使得 yearn finance 損失高達千萬美元!
 

根源不是閃電貸,而是脆弱的價格機制

 
yfi 和 curve 之間的組合,利用 lp 的不同淨值來計算份額,透過池子裡的份額來決定價格,這是典型的價格操控!
 
我們把現在的各 defi 協議當作是各個國家,每個國家制定不同的政策規則,商人透過政策規則之間的組合,尋找突破口,來獲取利差。這是光明正大的賺取合理收益, 無法責怪攻擊者,因為,你的機制告訴了別人,怎麼來操控我的價格進行套利。
 
關於閃電貸攻擊的問題,我們已經闡述過多次,《解讀 | compound 遭受價格預言機操縱攻擊事件始末》,這篇文章裡有詳細描述。

價格操控的背後所暴露的問題,才是我們更應該去思考和研究的方向。
 
現如今的 defi 協議開發者,往往把快速、高效放在第一位,對區塊鏈的本質充耳不聞,大家都求快,不願去解決本質問題的根源。因為幾乎所有人都正在這樣做,睜一隻眼閉一隻眼。
 
比特幣的設計,是讓所有節點一起對正在廣播的交易進行驗證,所有人都同意的廣播,這筆交易才作數。其本身就是一個冗餘的複雜系統,比特幣並非是為了在“可用性”方面做出創新,而是在“可信性”方面給出了一個完美的解決方案,解決了去中心化過程中的安全問題。比特幣網路的算力規模越大,網路越安全,但其處理交易的效率並沒有提高。
 
如果一個價格機制可以簡單的利用所謂的“可信”節點上傳到鏈上或者透過 lp 份額的方式來簡單決定,而使用這個價格的 defi 協議或者使用者無法對你的價格進行無需許可的有效驗證,那麼你給出的價格就是你說的算,並不是共識過的價格,並不是大家一起說的算;進而,基於這套價格體系的鏈上經濟體的安全係數,也必然不會隨著規模的擴大而增強。簡單來講,這與區塊鏈本質背道而馳,捨本逐末。
 

堅定去中心化的安全之路

 
nest protocol 堅持以無需許可,可被任何人驗證的無套利空間的價格同步在鏈上生成,供 defi 協議呼叫,隨著 nest 報價礦工/驗證者參與規模的增長,其在鏈上生成的價格資料質量也會同步提高,這是一個非合作博弈系統所應該表現出來的基礎屬性,可累積博弈。
 
在有效市場下,這種報價礦工之間的博弈、報價礦工與驗證者之間的博弈,以及協議與二級市場之間的博弈,多維度非合作博弈生成的鏈上價格才是我們應該去追求的安全之根。
 
堅持區塊鏈本質,堅定去中心化精神,是區塊鏈行業發展的第一準則。


免責聲明:

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

推荐阅读