DeFi “黑暗深林”:有去無回的危機

買賣虛擬貨幣

中秋國慶“黃金週”剛過,DeFi Pulse資料顯示,DeFi(去中心化金融)中鎖定的資產總價值已突破100億美元。從DeFi應用排行來看,Uniswap高居榜首,獨佔23億美元價值。

一方面,近期市場反饋DeFi資產單日暴跌25%,疑似“泡沫擠破”。但從資料來看,流動性挖礦的魅力廣為人知,資產入場態勢持續,鎖倉形勢看好。另一方面,DeFi恰似深邃“黑暗森林”,其中隱藏各種風險,隱形殺機四伏,“森林奪寶”恐有無法全身而退,有去無回之險。

林中絕景Uniswap

作為以太坊去中心化鏈上交易協議Uniswap,以流動性資金池取代常規買賣訂單。透過流動性挖礦機制,人們可以使用ETH快速兌換各類代幣,還可透過提供資產流動性來獲取獎勵代幣。

同時,人們還能夠以同等價值的ETH和ERC20代幣建立流動池。在此新型市場中,建立者可設定兌換率,並由Uniswap的“恆定函式做市商”機制推動行情變化。在交易對中,當一方相對另一方的流動性發生變化時,價格出現波動,套利機會隨之而來,鼓勵更多的人參與交易。

有去無回的充值風險

近日,區塊鏈資訊保安學者Georgios Konstantopoulos發表了題為《真實存在的以太坊 DeFi「黑暗森林」:mempool 套利機器人吞噬了我的交易》的文章,向我們展示了以太坊DeFi智慧合約令人堪憂的安全問題。

在DeFi這個“黑暗森林”,無論是鎖倉挖礦,還是流動性挖礦的專案,核心誘惑無外乎充值抵押獲新幣,反覆組合套利的收益遊戲。“充值”可能是實現一夜暴富的一小步,但是,這最初的一步很可能已是十面埋伏。

“錯誤傳送至合約本身交易對的代幣,當有人在Uniswap呼叫burn功能,根據流動性代幣餘額的判斷,該行為可提取代幣返還至呼叫方的指定地址。”

——Georgios Konstantopoulos

使用者參與Uniswap流動性挖礦,向合約地址充值時,如果錯誤將代幣按照合約地址打入交易代幣池而非根據系統正常操作增加流動性,那麼這筆資產最終將被“後人”所繼。姑且不論流動性收益,就連“老本”也無法收回。

使用者移除流動性,即執行burn呼叫時,系統返還給使用者的代幣數量分別是amount0、amount1個。計算公式於上圖443、444行,即:

amount0 = liquidity.mul(balance0) / _totalSupply;

amount1 = liquidity.mul(balance1) / _totalSupply;

其中,balance0和balance1對應的是合約中兩種代幣的實際剩餘量,而非新增流動性的記錄量。在正常移除流動性時,balance0和balance1與記錄量相等。

但是,如果有使用者誤將代幣直接打入代幣池中,balance0和balance1就會受到影響隨即增量。而在其之後執行移除流動性操作的使用者,其所得的amount0和amount1的量將會增多。此時,代幣池記錄量正常更新。

也就是說,使用者A將對應代幣錯誤充值進入代幣池後,隨後的使用者B、C、D、…進行移除流動性操作,將“漁翁得利”瓜分這筆資產。最終,結算進賬的代幣將多於這些使用者本該得到的數量。

究其原因,在移除流動性時,使用者按照所持LP幣的佔比來兌換池中的兩種代幣。一旦有使用者不透過新增流動性的方式(即誤操作)向池中充值時,代幣總量增加,但LP幣的總量並未增加,因此,以同樣的LP幣,使用者可獲得更多的代幣。

作為投資者,需注意切勿向代幣池直接充值,這不僅不會增加資產流動性獲得收益,相反只會造成資產損失。

這僅是走進“黑暗森林”第一步存在的風險岔路。據Georgios所言,要避免合約中這種“免費繼承”資產的形成,就必須對轉幣安全足夠的重視。如若不然,他人將利用合約漏洞“順手牽羊”,到時只能希冀於白帽駭客心懷正義挺身而出,義務回收並歸還。

此外,還有更多的安全問題廣泛存在於mempool(待確認池)等區域,各類漏洞可能隨時被攻擊者發現並迅速進行瘋狂掠奪。

成都鏈安認為,DeFi智慧合約種類、玩法花樣頻出,面對各種新型合約的交錯,不論是對合約開發還是審計都會提出新的挑戰。其實,類似充值、轉賬引發的安全問題,已在眾多合約中頻繁出現,由此造成的經濟損失已不是小數。

結語

“黑暗森林”財富隱藏,勇者義無反顧奪寶,智者步步為營收益。危機重重下,唯懷揣慎心,不忘安全,方得全身進退。​​​​

免責聲明:

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

推荐阅读

;