比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

SWAP:通過代碼識別DeFi中的套利機會_BigMouthFrog

Author:

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

概述

去中心化金融是一種創建于區塊鏈上的金融,它不依賴券商、交易所或銀行等金融機構提供金融工具,而是利用區塊鏈上的智能合約進行金融活動。在DeFi中存在了大量的套利機會,包括但不限于清算、差價套利。本文將分析部分去中心化交易所以及聚合器在合約代碼上可能存在的套利機會。

分析

Uniswap

Uniswap是一個采用了自動做市商模型的去中心化的加密貨幣交易平臺,目前有兩個流行的版本,分別是UniswapV2和UniswapV3,我們將分別分析其中可能存在的套利機會。

UniswapV2Router

在UniswapV2中,用戶一般是通過Router合約與Pair合約以及Factory合約進行交互。通常來說Router只是會在交易中中轉代幣,而不會存儲代幣,但由于種種原因,如空投、轉賬失誤導致Router合約中存儲了某些代幣。那么如何將這些代幣提取出來呢?

通過分析UniswapV2Router?02合約的代碼,發現存在?removeLiquidityETHSupportingFeeOnTransferTokens?函數:

該函數用于移除其中一個代幣為WETH的流動性,其內部調用?removeLiquidity?函數時傳入的to的地址為?address(this),也就是會將兩種代幣先轉移到Router合約中,然后Router合約再將兩種代幣轉移到指定的地址。這里雖然轉移的WETH的數量是?removeLiquidity?返回的,無法修改,但是轉移的另一種Token的數量是?balanceOf(address(this)),即Router合約中的該代幣的余額。

因此根據上述分析,我們能得到一個套利的流程:

美國司法部對FTX黑客攻擊事件展開刑事調查:金色財經報道,據消息人士透露,美國司法部(DOJ)已對FTX黑客攻擊事件展開刑事調查。據悉該調查與前FTX首席執行官SBF的欺詐案是分開的,當局已經凍結了部分被盜資金。區塊鏈專家認為,多條線索表明這是內部作案,包括黑客同時入侵FTX和FTX US網站、訪問多個冷錢包以及使用個人Kraken賬戶提取至少一筆交易的gas費用。

金色財經此前報道,在FTX申請破產的當天晚上,該交易所遭遇黑客攻擊,黑客從FTX熱錢包里竊取超過4.5億美元資產。(彭博社)[2022/12/28 22:11:41]

監控到Router?02合約存在ERC?20代幣;

監控到Router?02合約存在ERC?20代幣;調用?addLiquidityETH?添加該ERC?20代幣和WETH的流動性;調用?removeLiquidityETHSupportingFeeOnTransferTokens?移除流動性。局限性:

如果該代幣之前沒有和WETH組流動性,當第一次添加流動性時會損失一小部分流動性;暫時未發現提取Router?02合約中的WETH和ETH的方法。UniswapV2Pair

UniswapV2Pair合約,即所謂的流動性池,存儲著提供流動性的?2?種代幣,因為Pair合約中使用的是reserve來記錄余額而不是?balanceOf(address(this)),因此有人直接誤轉流動性代幣到合約中時會出現balance和reserve出現差值,而Pair合約中存在平衡函數?skim,我們可以調用該函數將這差值數量的代幣給提取出來:

可以看到該函數會將流動性池中兩種流動性代幣的balance和reserve差值數量的代幣轉移到to地址。

流動性池中除了這兩種代幣外,也會因為誤轉、空投等原因存在其他的ERC?20代幣,如何提取這一部分的代幣呢?

SBF:加密貨幣即將迎來監管透明化:9月12日消息,加密貨幣交易所FTX創始人SBF稱:加密貨幣即將迎來監管透明化。加密貨幣下跌是因為“美元上漲”。[2022/9/12 13:24:35]

對Pair合約的代碼分析后發現無法提取這一部分代幣,只有一種情況例外:當流動性池中存在該池的LP代幣時。

出現這種情況我們可以調用Pair合約的?burn?函數,移除流動性,取出相應的兩種流動性代幣:

UniswapV3SwapRouter

UniswapV3的SwapRouter合約中也會存在和UniswapV2Router一樣的情況,存在ERC?20代幣和ETH,但是幸運的是SwapRouter合約提供了幾個函數可以方便提取其中的代幣。

提取ERC?20代幣我們可以使用?sweepToken?函數:

提取ETH我們可以使用?refundETH?函數:

也能夠直接調用?unwrapWETH?9??函數將WETH還原成ETH并提取出來:

以上是對UniswapV3SwapRouter合約的套利分析。

在對Uniswap?V3?Pool合約的代碼進行分析后,發現沒有辦法提取其合約中的其他代幣,也不存在如UniswapV2Pair合約中balance和reserve有差值的情況。

復旦大學趙星:中國元宇宙發展將以人為本的目標、以虛強實的戰略、虛實交互的產業等為原則:8月21日消息,2022全球元宇宙大會在上海召開,復旦大學國際智能評價與治理實驗基地副主任趙星表示,元宇宙的中終極形態無法預估,現階段要精準定義容易失誤,但對人的關注不應忽視。元宇宙化是一項社會化進程、技術、產業和經濟系統都只是過程或工具,元宇宙特別需要關注人作為社會核心角色,以人的進步和福祉的提高,將社會公平和福利的促進,作為第一視角。中國元宇宙發展原則將以人為本的目標、以虛強實的戰略、包容審慎的態度、自主可控的技術、虛實交互的產業、敏捷治理的機制。[2022/8/21 12:38:38]

SushiSwap

SushiSwap最初是一個Uniswap的分叉項目,后來發展成為一個獨立的生態系統,提供了許多不同的金融服務和產品。

因為SushiSwap和UniswapV2一樣,因此上述的針對UniswapV2的套利手段對與SushiSwap也同樣適用。

SushiXSwap

SushiXSwap是SushiSwap推出的基于LayerZero的全鏈交易協議,支持的網絡包括?Optimism、Arbitrum、Fantom、BNB?Chain、Polygon?和?Avalanche。用戶可以在支持的網絡以及資產之間進行跨鏈交易。

如何提取SushiXSwap合約中的代幣呢?

SushiXSwap中主要的功能都通過?cook?函數實現,該函數提供了一系列的操作,支持操作列表如下:

其中有一個操作?ACTION_DST_WITHDRAW_TOKEN,其代碼實現如下:

美國德州證券委員會將對Celsius凍結賬戶事件展開調查:6月17日消息,美國德州證券委員會將對 Celsius 凍結賬戶事件展開調查,計劃于下周一開啟。據悉,德克薩斯州監管機構非常擔心 Celsius 凍結賬戶可能會導致客戶重大財務損失。[2022/6/17 4:33:09]

首先將傳入?cook?函數的data進行解碼,然后判斷amount是否等于?0?,等于?0?則將amount的值設為該合約的ERC?20代幣的余額或者ETH的余額。最后調用?_transferTokens?將代幣轉移到指定的地址:

因此我們只需要構造傳入?cook?函數的actions和datas,即將actions設置為?ACTION_DST_WITHDRAW_TOKEN?,在data中構造想要轉移的代幣、接收地址、數量,即可轉移出SushiXSwap合約中的代幣。

SushiBentoBox

SushiBentoBox是SushiSwap生態系統中的一個組件。BentoBox是一個高度靈活的去中心化金融利率優化產品。簡單來說,它是一個允許用戶存儲、借用和賺取利息的智能合約平臺。BentoBox的主要目的是優化用戶在DeFi領域中的收益。

以太坊上的BentoBox合約中存儲了大量了代幣,那么該合約是否存在套利的空間呢?

在BentoBox合約中用戶可以通過?deposit?函數進行存款操作,函數的實現如下:

可以看到用戶傳入指定的代幣地址,扣款地址,接收地址,數量,股份數量,函數首先做了一系列校驗,然后將amount或者share進行轉換,關鍵點在195-198行,這里做了一個校驗:amount<=_tokenBalanceOf(token).sub(total.elastic)。

企業級虛擬現實服務提供商Glimpse收購AR電商PulpoAR,擬推動元宇宙相關技術:金色財經報道,企業級虛擬現實解決方案提供商Glimpse已宣布通過其全資子公司 QReal, LLC收購AR 技術電子商務公司 PulpoAR,擬推動元宇宙相關技術。PulpoAR 主要為電子商務平臺和數字標牌屏幕創建易于部署和可擴展的增強現實和虛擬現實軟件即服務 (SaaS) 插件,并且推出了“虛擬試穿”技術,其客戶包括雅詩蘭黛、屈臣氏、絲芙蘭等。(雅虎財經)[2022/6/6 4:04:32]

在BentoBox合約中某種代幣的余額使用的是?total.elastic?來記錄,類似UniswapPair合約中的reserve,某些情況下會和?_tokenBalanceOf(token)?產生差值,我們可以利用?deposit?函數這里的特性,將差值部分真實轉換成自己在BentoBox合約中的余額。

因此我們傳入參數時將token設置為存在差值的代幣地址,將amount的值設置為差值,然后將from設置為BentoBox合約的地址,將to設置為自己的地址,在207?行時由于地址為BentoBox合約地址,因此不會進行轉賬,只是平衡了total.elastic?和?_tokenBalanceOf(token)?的值,將其轉換為to地址在合約內的余額。

DODO

DODO是一個去中心化交易平臺,使用獨創的主動做市商算法為Web3資產提供高效的鏈上流動性。DODO既自己提供流動性,也聚合其它交易所的流動性。

DODO有一系列合約,其中用戶會通過DODO?V2?Proxy?02合約進行代幣的兌換。和UniswapRouter合約類似,該合約也會因為各種原因存在一些代幣,我們應當如何提取這些代幣?

DODO?V2?Proxy?02?

在DODO?V2?Proxy?02合約中存在?externalSwap函數,用來調用DODO聚合的外部平臺進行兌換,如?0x?,?1inch,代碼實現如下:

1719-1721?行在對傳入的參數做校驗,然后?1724?行校驗fromToken是否為ETH,不是的話則會將調用者的代幣轉移到合約中,然后進行授權,在分析了DODOAPPROVE?合約的代碼后發現只需要將fromTokenAmount設置為?0?即可繞過:

然后會對調用的外部合約做校驗,是白名單內的才能夠調用,這里的?swapTarget,calldataConcat都是由用戶可控的,因此可以將?swapTarget?設置為0x或者1inch的合約地址,然后?calldataConcat?設置為其合約的view函數的編碼,從而讓返回的值為true,也能通過后面的require校驗:

接下來會將合約中的toToken,全部轉移給調用者,這里的toToken可以是ERC?20代幣,也可以是ETH,發送完后會進行最小的預期數量校驗,我們將?minReturnAmount?的值設置為非常小的值即可通過。最后兩個函數調用無關緊要。

通過以上的步驟我們就能夠提取出DODO?V2?Proxy?02合約中的ERC?20代幣以及ETH。

1inch

1inch是一個去中心化交易所聚合器,它從多個DEX中匯集流動性,以便為用戶提供最佳的代幣兌換價格。通過整合來自不同來源的流動性,1inch幫助用戶優化交易并在各個平臺之間找到最優惠的價格。1inch的智能合約自動在各個去中心化交易所之間進行交易,使用戶能夠輕松地在不同交易所之間獲取最佳價格和最低滑點。此外,1inch還提供了其他功能,如流動性挖礦和治理代幣。

1inch的主要合約是AggregationRouter,現在使用較多的是V?4和V?5版本,這兩個合約也會因為各種原因存在一些代幣,我們可以通過構造的傳入函數中的參數,提取合約中的代幣。

AggregationRouterV?5?

AggregationRouterV?5合約存在?swap?函數,其實現如下:

校驗了desc中的minReturnAmount后,從desc中獲取srcToken和dstToken,接下來986-997?行可以通過構造desc結構體中的flags和srcToken進行繞過:

然后執行函數?_execute,這里會進行call調用,并會校驗執行狀態,由于executor由用戶傳入,因此這里我們可以使用?0?地址進行繞過:

然后獲取合約中dstToken的余額。1007-1018?行我們可以構造desc中flags以及minReturnAmount進行繞過:

最后會將合約中的dstToken余額都轉到dstReceiver地址中,該地址也由用戶控制:

通過以上的步驟,我們能構造傳入?swap?函數的參數從而將AggregationRouterV?5合約中的代幣提走。

AggregationRouterV?4?

AggregationRouterV?4與AggregationRouterV?5差別不大,AggregationRouterV?4中也存在?swap?函數,實現如下:

可以發現跟AggregationRouterV?5的?swap?函數的實現是一樣的,只是AggregationRouterV?5對call進行了優化,因此使用和AggregationRouterV?5一樣的方法即可提取出存在AggregationRouterV?4合約中的代幣。

總結

本文簡單介紹了部分去中心化交易所以及聚合器,并探討了其中可能存在的套利,從合約代碼層面分析了套利的原理,但在實際中能否成功還和諸多因素相關,如GAS,節點速度等。

Tags:SWAPTERROUTEOUTBSWAP幣Phantom Matterroute幣今日價格BigMouthFrog

fil幣價格今日行情
ICA:Binance :為什么MiCA的通過是加密貨幣的里程碑時刻_加密貨幣

主要要點 ?2023年4月20日,歐盟議會通過了加密資產市場(MiCA)立法,該立法為所有成員國的數字資產監管建立了框架。?MiCA對這個行業很重要.

1900/1/1 0:00:00
ETH:長推:從數據角度分析上海升級的影響_加密貨幣

當前#ETH質押率:15.09%,從曲線上看上升較為平穩。ETH質押收益目前降低到了3.78%#Shapella根據開始質押時間算,已質押的ETH中,51.5%處于虧損.

1900/1/1 0:00:00
人工智能:巴比特 | 元宇宙每日必讀:虛擬數字人是否享有著作權或鄰接權?杭州互聯網法院判決首例涉“虛擬數字人”侵權案_hathor幣錢包

摘要:據杭州互聯網法院報道,近日,杭州互聯網法院就首例涉“虛擬數字人”侵權案作出了一審判決。本案判決結合人工智能技術應用及虛擬數字人發展現狀,從權利主體、客體、權利歸屬等多層面分析虛擬數字人在現.

1900/1/1 0:00:00
以太坊:上海升級后的以太坊:拋售潮與質押賽道展望_TPS

本文僅供交流學習,不構成任何投資建議。上海升級暫定于4月13日進行,將首次允許驗證者從信標鏈撤出以及提款。相關預期疊加,市場又一次將注意力聚焦于以太坊流動性.

1900/1/1 0:00:00
BTC:Foresight Ventures :市場喘息向上,NFT接近觸底_Huobi Ethereum

A.市場觀點 一、宏觀流動性 貨幣流動性改善。市場等待5月4日美聯儲議息會議,預計加息25個基點,大概率是最后一次加息。美國銀行危機繼續加劇,貨幣政策轉向或加快,年內有望實現降息.

1900/1/1 0:00:00
元宇宙:元宇宙當年吹的牛,一個個都爛了尾_Filecoin Standard Hashrate Token

作者|孫鵬越 編輯|大?風 2021年底開始火熱的元宇宙,還未撐過自己的“三年之癢”,便早早成為昨日黃花.

1900/1/1 0:00:00
ads