閃電貸攻擊,曾經的DeFi之王YFI也未能倖免
NEST爱好者
2021-02-07 04:45
本文约1975字,阅读全文需要约8分钟
堅持區塊鏈本質,堅定去中心化精神,是區塊鏈行業發展的第一準則。
出品| NEST愛好者(nestfans.com)
出品| NEST愛好者(nestfans.com)
出品| NEST愛好者(nestfans.com)

出品| 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 協議開發者,往往把快速、高效放在第一位,對區塊鏈的本質充耳不聞,大家都求快,不願去解決本質問題的根源。因為幾乎所有人都正在這樣做,睜一隻眼閉一隻眼。

比特幣的設計,是讓所有節點一起對正在廣播的交易進行驗證,所有人都同意的廣播,這筆交易才作數。其本身就是一個冗餘的複雜系統,比特幣並非是為了在“可用性”方面做出創新,而是在“可信性”方面給出了一個完美的解決方案,解決了去中心化過程中的安全問題。比特幣網絡的算力規模越大,網絡越安全,但其處理交易的效率並沒有提高。

NEST Protocol 堅持以無需許可,可被任何人驗證的無套利空間的價格同步在鏈上生成,供DeFi 協議調用,隨著NEST 報價礦工/驗證者參與規模的增長,其在鏈上生成的價格數據質量也會同步提高,這是一個非合作博弈系統所應該表現出來的基礎屬性,可累積博弈。
堅持區塊鏈本質,堅定去中心化精神,是區塊鏈行業發展的第一準則。
堅持區塊鏈本質,堅定去中心化精神,是區塊鏈行業發展的第一準則。
NEST爱好者
作者文库