引言:關于DeFi的安全問題,從2020年2月份到現在,損失數億美元,各路專家已有無數文章來解析DeFi樂高的風險,直到現在這類問題依然沒有引起開發者們的高度重視,在市場持續狂熱以及鎖倉規模不斷推高的環境中,人們似乎已經忘了,那個深埋在狂歡大陸土地下的隱患,并沒有消失......
曾經的DeFi之王YFI協議未能幸免
2021年第一次閃電貸攻擊事件,發生在了2020年的DeFi王者——YearnFinance協議身上,當然,這是偶然事件還是開年先拿王者開刀,來嘲諷DeFi的無能,我們暫且不論,也無從洞察“攻擊者”的心境,這里,我們來看一下發生了什么。
根據慢霧科技的情報,遭受攻擊的是YearnFinance協議的DAI策略池,具體情況如下:
BNO遭遇閃電貸攻擊,其代幣下跌超98%:金色財經消息,據CertiK官方推特發布消息稱,BNO (BNO)代幣的價格驟然下跌超98%。據悉,本次下跌是由于其遭到約50.5萬美元的閃電貸攻擊。[2023/7/18 11:01:53]
1.攻擊者首先從dYdX和AAVE中使用閃電貸借出大量的ETH
2.攻擊者使用從第1步借出的ETH在Compound中借出DAI和USDC
3.攻擊者將第2步中的所有USDC和大部分的DAI存入到CurveDAI/USDC/USDT池中,這個時候由于攻擊者存入流動性巨大,其實已經控制CurveDAI/USDC/USDT的大部分流動性
4.?攻擊者從Curve池中取出一定量的USDT,使DAI/USDT/USDC的比例失衡,及DAI/(USDT&USDC)貶值
CertiK:Zk Secure (ZK)遭遇閃電貸款攻擊:金色財經報道,據CertiK監測,Zk Secure (ZK)遭遇閃電貸款攻擊,目前共有7千美元被盜。請保持警惕。[2023/6/3 11:55:33]
5.攻擊者第3步將剩余的DAI充值進yearnDAI策略池中,接著調用yearnDAI策略池的earn函數,將充值的DAI以失衡的比例轉入CurveDAI/USDT/USDC池中,同時yearnDAI策略池將獲得一定量的3CRV代幣
6.攻擊者將第4步取走的USDT重新存入CurveDAI/USDT/USDC池中,使DAI/USDT/USDC的比例恢復
7.攻擊者觸發yearnDAI策略池的withdraw函數,由于yearnDAI策略池存入時用的是失衡的比例,現在使用正常的比例提現,DAI在池中的占比提升,導致同等數量的3CRV代幣能取回的DAI的數量變少。這部分少取回的代幣留在了CurveDAI/USDC/USDT池中
Grim Finance 被黑簡析:攻擊者通過閃電貸借出 WFTM 與 BTC 代幣:據慢霧區情報,2021 年 12 月 19 日,Fantom 鏈上 Grim Finance 項目遭受攻擊。慢霧安全團隊進行分析后以簡訊的形式分享給大家。
1. 攻擊者通過閃電貸借出 WFTM 與 BTC 代幣,并在 SpiritSwap 中添加流動性獲得 SPIRIT-LP 流動性憑證。
2. 隨后攻擊者通過 Grim Finance 的 GrimBoostVault 合約中的 depositFor 函數進行流動性抵押操作,而 depositFor 允許用戶指定轉入的 token 并通過 safeTransferFrom 將用戶指定的代幣轉入 GrimBoostVault 中,depositFor 會根據用戶轉賬前后本合約與策略池預期接收代幣(預期接收 want 代幣,本次攻擊中應為 SPIRIT-LP)的差值為用戶鑄造抵押憑證。
3. 但由于 depositFor 函數并未檢查用戶指定轉入的 token 的合法性,攻擊者在調用 depositFor 函數時傳入了由攻擊者惡意創建的代幣合約地址。當 GrimBoostVault 通過 safeTransferFrom 函數調用惡意合約的 transferFrom 函數時,惡意合約再次重入調用了 depositFor 函數。攻擊者進行了多次重入并在最后一次轉入真正的 SPIRIT-LP 流動性憑證進行抵押,此操作確保了在重入前后 GrimBoostVault 預期接收代幣的差值存在。隨后 depositFor 函數根據此差值計算并為攻擊者鑄造對應的抵押憑證。
4. 由于攻擊者對 GrimBoostVault 合約重入了多次,因此 GrimBoostVault 合約為攻擊者鑄造了遠多于預期的抵押憑證。攻擊者使用此憑證在 GrimBoostVault 合約中取出了遠多于之前抵押的 SPIRIT-LP 流動性憑證。隨后攻擊者使用此 SPIRIT-LP 流動性憑證移除流動性獲得 WFTM 與 BTC 代幣并歸還閃電貸完成獲利。
此次攻擊是由于 GrimBoostVault 合約的 depositFor 函數未對用戶傳入的 token 的合法性進行檢查且無防重入鎖,導致惡意用戶可以傳入惡意代幣地址對 depositFor 進行重入獲得遠多于預期的抵押憑證。慢霧安全團隊建議:對于用戶傳入的參數應檢查其是否符合預期,對于函數中的外部調用應控制好外部調用帶來的重入攻擊等風險。[2021/12/19 7:49:04]
8.由于第3步中攻擊者已經持有了CurveDAI/USDC/USDT池中大部分的流動性,導致yearnDAI策略池未能取回的DAI將大部分分給了攻擊者
DeFi協議Warp Finance遭遇閃電貸攻擊 約800萬美元被盜:DeFi門戶網站DefiPrime今日早間在推特表示,北京時間12月18日06:34,流動性LP代幣抵押借貸DeFi協議Warp Finance遭遇閃電貸攻擊,約800萬美元被盜。此外,Warp Finance官方也在推特表示,正在調查最近一小時內被借出的違規穩定幣貸款,并建議不要再存入穩定幣,直到官方查明違規情況為止。[2020/12/18 15:38:24]
9.重復上述3-8步驟5次,并歸還閃電貸,完成獲利
攻擊者利用閃電貸進行這一循環套利,使得YearnFinance損失高達千萬美元!
根源不是閃電貸,而是脆弱的價格機制
YFI和Curve之間的組合,利用LP的不同凈值來計算份額,通過池子里的份額來決定價格,這是典型的價格操控!
我們把現在的各DeFi協議當作是各個國家,每個國家制定不同的政策規則,商人通過政策規則之間的組合,尋找突破口,來獲取利差。這是光明正大的賺取合理收益,無法責怪攻擊者,因為,你的機制告訴了別人,怎么來操控我的價格進行套利。
關于閃電貸攻擊的問題,我們已經闡述過多次,《解讀|Compound遭受價格預言機操縱攻擊事件始末》,這篇文章里有詳細描述。
價格操控的背后所暴露的問題,才是我們更應該去思考和研究的方向。
現如今的DeFi協議開發者,往往把快速、高效放在第一位,對區塊鏈的本質充耳不聞,大家都求快,不愿去解決本質問題的根源。因為幾乎所有人都正在這樣做,睜一只眼閉一只眼。
比特幣的設計,是讓所有節點一起對正在廣播的交易進行驗證,所有人都同意的廣播,這筆交易才作數。其本身就是一個冗余的復雜系統,比特幣并非是為了在“可用性”方面做出創新,而是在“可信性”方面給出了一個完美的解決方案,解決了去中心化過程中的安全問題。比特幣網絡的算力規模越大,網絡越安全,但其處理交易的效率并沒有提高。
如果一個價格機制可以簡單的利用所謂的“可信”節點上傳到鏈上或者通過LP份額的方式來簡單決定,而使用這個價格的DeFi協議或者用戶無法對你的價格進行無需許可的有效驗證,那么你給出的價格就是你說的算,并不是共識過的價格,并不是大家一起說的算;進而,基于這套價格體系的鏈上經濟體的安全系數,也必然不會隨著規模的擴大而增強。簡單來講,這與區塊鏈本質背道而馳,舍本逐末。
堅定去中心化的安全之路
NESTProtocol堅持以無需許可,可被任何人驗證的無套利空間的價格同步在鏈上生成,供DeFi協議調用,隨著NEST報價礦工/驗證者參與規模的增長,其在鏈上生成的價格數據質量也會同步提高,這是一個非合作博弈系統所應該表現出來的基礎屬性,可累積博弈。
在有效市場下,這種報價礦工之間的博弈、報價礦工與驗證者之間的博弈,以及協議與二級市場之間的博弈,多維度非合作博弈生成的鏈上價格才是我們應該去追求的安全之根。
堅持區塊鏈本質,堅定去中心化精神,是區塊鏈行業發展的第一準則。
撰文|NESTFANS.知魚
文章系金色財經專欄作者幣圈北冥供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別防上當.
1900/1/1 0:00:00原文標題:《NFT:價值互聯網的HTML》撰文:樓嵩 這是一種合理的推測。 回顧信息互聯網的幾十年的發展歷程,萬維網是其中最為重要的進展之一.
1900/1/1 0:00:00萊特幣MimbleWimble隱私協議代碼將進行測試,灰度創始人、DCG創始人BarrySilbert明牌喊單隱私幣,越來越多的隱私項目/協議上線.
1900/1/1 0:00:00不管是在加密行業還是傳統金融領域,風險投資一直是機構或高凈值投資者的專屬,而DAOMaker致力于將風險投資帶向普通大眾。并創新性地開發了風險可控的融資模式.
1900/1/1 0:00:00美國主要投資銀行摩根大通的聯席總裁DanielPinto認為,摩根大通最終將不得不進入比特幣領域。這位高管在周五對CNBC表示,摩根大通是否決定推出比特幣服務,將取決于客戶對比特幣交易的需求.
1900/1/1 0:00:00Aave:去中心化的貨幣市場收益率一直是DeFi增長背后的關鍵驅動力之一。在過去兩年中,隨著傳統金融的利率逐漸降至0%,甚至在某些情況下甚至為負,數十億美元的資本涌入了該領域.
1900/1/1 0:00:00