撰文| 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 報價礦工/驗證者參與規模的增長,其在鏈上生成的價格數據質量也會同步提高,這是一個非合作博弈系統所應該表現出來的基礎屬性,可累積博弈。
 
在有效市場下,這種報價礦工之間的博弈、報價礦工與驗證者之間的博弈,以及協議與二級市場之間的博弈,多維度非合作博弈生成的鏈上價格才是我們應該去追求的安全之根。
 
堅持區塊鏈本質,堅定去中心化精神,是區塊鏈行業發展的第一準則。