比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

如何通過恒定乘積黑掉SushiSwap?簡析SushiSwap第二次被攻擊始末_DIGG

Author:

Time:1900/1/1 0:00:00

作者:yudan@慢霧安全團隊

背景

2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。

SushiMaker是什么

SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。

說說恒定乘積

恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為

Aave社區正對“如何分配Aave Grants DAO收到的30萬枚OP”提案進行投票:5月4日消息,Aave社區正對“如何分配Aave Grants DAO(AGD)收到的30萬枚OP”提案進行溫度檢查投票,該提案目前支持率為99.97%,并將于5月8日結束。根據該提案,Aave社區去年創建了一個提案并成功收到了30萬枚OP代幣,作為激勵基金OP Stimpack階段0的一部分。這些代幣將用于資助項目,以幫助Aave在Optimism上的發展。該提案旨在澄清收到的OP應如何分配并獲得社區支持。

該提案建議分配最多10萬枚OP用于當前AGD季度的贈款以及以Optimism為中心的事件和賞金,并將剩余的20萬枚OP保留在AGD多簽錢包中以用于AGD的未來季度贈款或分配。如果該提案獲得此次投票通過,AGD將按照上述方式進行資金分配。不需要AIP或進一步的治理行動。[2023/5/4 14:42:34]

維珍銀河董事長:PayPal消息傳出后各大銀行討論如何支持比特幣:維珍銀河董事長Chamath Palihapitiya今晨發推表示,PayPal消息傳出后,各大銀行都在開會討論如何支持比特幣。它不再僅作為一個選項。[2020/10/22]

也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子

其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)

掌柜調查署 | 競爭之下平臺幣會如何發展?:4月14日16:00,AAX交易所CEO Thor Chan將攜帶新上線的平臺通證AAB做客金色財經掌柜調查署,一起來看競爭之下,平臺幣會如何發展。更多詳情點擊原文鏈接查看。[2020/4/14]

從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。

攻擊流程

2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。

聲音 | 羅玫:金融機構非常重視如何對加密貨幣進行計量:據數字金融資產研究中心微信公眾號消息,清華經管數字金融資產研究中心主任羅玫稱如何對加密數字貨幣進行計量是國際國內證券監管機構、稅務和會計準則制定機構都非常重視的領域,國際會計準則和美國GAAP都沒有對加密數字貨幣的會計計量和確認制定單獨準則。建立新的財務報告規范需要會計準則制定委員會的參與,也需要和正在經歷變化的加密數字貨幣的證券規范、以及稅務規范同時融合更新。[2018/11/27]

其中,bridgeFor函數的邏輯如下:

動態 | ITAM Network發文 “DApps如何優化RAM使用率”:據IMEOS報道,ITAM Network在Medium上發表文章“DApps如何優化RAM使用率”。文中介紹DApps主要是在上傳智能合約還有在使用智能合約Table保存數據的情況下使用RAM,并介紹如何通過在區塊上運行數據達到RAM使用率最小化,還有DApps開發者應當考慮和準備的工作。文章最后ITAM Network表示這只是一種可供替代的方法,并不是唯一正確的途徑。[2018/8/2]

根據bridgeFor的邏輯,我們不難發現,如果沒有手動設置過特定幣種的bridge,那么默認的bridge是WETH,也就是說,在未設置bridge的情況下,默認是將手續費兌換成WETH。而DIGG這個幣,就是正好沒有通過setBridge設置對應的bridge的。

但是這里還有一個問題,就是在swap的過程中,如果這個交易對不存在,兌換的過程是失敗的。本次攻擊中,DIGG-WETH這個交易對一開始并不存在,所以攻擊者預先創建一個DIGG-WETH的交易對,然后添加少量的流動性。這個時候如果發生手續費兌換,根據前面說的恒定乘積的特性,由于DIGG-WETH的流動性很少,也就是DIGG-WETH中的WETH上限很小,而SushiMaker中的要轉換的手續費數量相對較大,這樣的兌換會導致巨大的滑點。兌換的過程會拉高DIGG-WETH交易對中WETH兌DIGG的價格,并且,DIGG-WETH的所有DIGG手續費收益都到了DIGG-WETH交易中。通過觀察DIGG-WETH交易對的流動性情況,流動性最大的時候也才只有不到2800美元的流動性,這個結果也能和公式的推導相互驗證。

攻擊者在SushiMaker完成手續費轉換后,由于?DIGG-WETH交易對中WETH兌DIGG的價格已經被拉高,導致少量的WETH即可兌換大量的DIGG,而這個DIGG的數量,正是DIGG-WBTC交易對的大部分手續費收入。

總結

本次攻擊和SushiSwap第一次攻擊類似,都是通過操控交易對的兌換價格來產生獲利。但是過程是不一樣的。第一次攻擊是因為攻擊者使用LP代幣本身和其他代幣創建了一個新的交易對,并通過操縱初始流動性操控了這個新的交易對的價格來進行獲利,而這次的攻擊則利用了DIGG本身沒有對WETH交易對,而攻擊者創建了這個交易對并操控了初始的交易價格,導致手續費兌換過程中產生了巨大的滑點,攻擊者只需使用少量的DIGG和WETH提供初始流動性即可獲取巨額利潤。

相關參考鏈接如下:

SushiMaker歸集手續費交易:

https://etherscan.io/tx/0x90fb0c9976361f537330a5617a404045ffb3fef5972cf67b531386014eeae7a9

攻擊者套利交易:

https://etherscan.io/tx/0x0af5a6d2d8b49f68dcfd4599a0e767450e76e08a5aeba9b3d534a604d308e60b?

DIGG-WETH流動性詳情:

https://www.sushiswap.fi/pair/0xf41e354eb138b328d56957b36b7f814826708724?

Sushi第一次被攻擊詳解:

https://mp.weixin.qq.com/s/-Vp9bPSqxE0yw2hk_yogFw?

Tags:DIGGETHIGGDIGdigg幣中文什么幣eth2.0幣價BIGGLES價格digifinex面試

火幣網下載官方app
法國官員:希望改變歐洲對加密貨幣和區塊鏈的監管方式_加密貨幣

法國最高金融監管機構已提議改變對歐洲加密貨幣行業的監管方式。AutoritédesMarchésFinanciers主席RobertOphèle在“第五屆金融科技與監管年度會議”上談到了關于加密.

1900/1/1 0:00:00
中國駐韓大使:中韓兩國可在區塊鏈領域合作_人工智能

中國駐韓國大使館網站2月1日消息,新年伊始,邢海明大使接受韓國成均館大學李熙玉教授專訪,知名學術期刊《中國觀察》2021年第1期中韓雙語版本以《新疫情時代.

1900/1/1 0:00:00
區塊鏈成地方兩會熱詞 至少“入”20省市政府工作報告_比特幣

本報記者邢萌見習記者張博2021年區塊鏈行業怎么走?對新興產業而言,看發展需先明方向。隨著各地兩會逐漸落下帷幕,新一年的經濟工作方向也變得清晰。從中不難發現,牛年有望迎來區塊鏈“牛市”.

1900/1/1 0:00:00
去中心化預言機 Umbrella Network 更新治理代幣 UMB 經濟模型_STA

2月15日,預言機項目UmbrellaNetwork更新其原生代幣UMB的代幣經濟模型。在代幣分配上,最初UmbrellaNetwork將2/3的代幣直接分發給社區,考慮到開發成本、合規、營銷和.

1900/1/1 0:00:00
政府區塊鏈招投標市場活躍,“區塊鏈+警務”等成方向_ZUM

目前,政府招投標是建設區塊鏈公共服務設施的重要途徑,正在逐漸被業內所關注。進入2021年,《證券日報》記者注意到,已有多個政府單位開始對區塊鏈項目進行招標.

1900/1/1 0:00:00
社區開發者基于比原鏈完成HTLC Swap項目_ANT

來自埃塞俄比亞的社區開發者Meheret近期完成了基于比原鏈的HTLCSwap項目,支持比特幣,比原主鏈和比原側鏈之間的資產原子互換。Swap獲得BytomGrant1萬美金的獎勵.

1900/1/1 0:00:00
ads