買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > AVAX > Info

BSP:通過代碼看出DeFi中的套利機會_OSWAP

Author:

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

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

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

Uniswap V2 Router

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

通過分析 Uniswap V2 Router 02 合約的代碼,發現存在 removeLiquidityETHSupportingFeeOnTransferTokens 函數:

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

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

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

Web3人才網絡Braintrust通過代幣私募融資1億美元,Coatue領投:12月9日消息,Web3人才網絡Braintrust通過代幣私募融資1億美元,Coatue領投,Tiger Global、True Ventures、Blockchain Ventures、HashKey等參投。

據悉,Braintrust旨在將公司與Web3領域的技術人員聯系起來,該公司聲稱擁有70多萬名社區成員。根據周四的公告,Braintrust將使用這些資金來擴大其網絡,并通過贈款為社區項目提供資金。該公司表示,其70多萬會員都有資格申請旨在改善網絡的項目資助。(The Block)[2021/12/9 7:28:57]

調用 addLiquidityETH 添加該 ERC 20 代幣和 WETH 的流動性;

調用 removeLiquidityETHSupportingFeeOnTransferTokens 移除流動性。

局限性:

如果該代幣之前沒有和 WETH 組流動性,當第一次添加流動性時會損失一小部分流動性(MINIMUM_LIQUIDITY);

暫時未發現提取 Router 02 合約中的 WETH 和 ETH 的方法。

Uniswap V2 Pair

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

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

二層NFT交易平臺Immutable X通過代幣銷售籌集超1250萬美元:金色財經報道,二層NFT交易平臺Immutable X宣布在 CoinList 上的代幣銷售在不到一個小時內售罄,籌集了超過 1250 萬美元。\tImmutable 周一宣布,在注冊參與銷售的 720,000 個賬戶中,只有約 25,000 個(3.6%)能夠因需求而進行購買。該協議準備與許多 NFT 市場集成,包括OpenSea和Mintable。[2021/9/27 17:10:28]

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

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

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

Uniswap V3 SwapRouter

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

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

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

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

Web3數據生態系統Pocket Network通過代幣公開銷售籌資930萬美元:4月29日,Web3數據生態系統Pocket Network發推宣布通過代幣公開銷售籌資930萬美元,投資者包括BlockArk、OKEx、ZEEPrimeCapital、FreeCompany、DACM、LDCapital、Apollo、EdenBlock、Blockchain.com、Republic、FBGCapital、DIVERGENCE、RedBlock、atkc、CMS、MechanismCapital、BorderlessCapital、DFG、FacultyCapital、DecentralPark以及其他200余個節點運行商。[2021/4/29 21:11:28]

以上是對 Uniswap V3 SwapRouter 合約的套利分析。

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

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

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

SushiXSwap

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

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

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

DeFi協議Sovryn通過代幣預售籌集250萬美元:基于比特幣的DeFi協議Sovryn周四宣布,該公司已通過代幣預售融資250萬美元。Sovryn聯合創始人Edan Yago表示,預售為其社區保留,這允許參與者確保他們有購買協議原生代幣SOV的權利,SOV將于下月啟動。(TheBlock)[2021/1/28 14:15:35]

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

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

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

Sushi BentoBox

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

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

優盾錢包CMO孟春東:流動性挖礦實質就是將項目后期收益通過代幣先分發給用戶和社區:據官方渠道消息,針對持續火熱的DeFi話題,近日優盾錢包CMO孟春東對外表示,回顧DeFi這波行情大事件,可以看到DeFi熱潮源于流動性挖礦和Compound分發的治理代幣,其實流動性挖礦的實質就是將一些項目后期收益通過代幣先分發給用戶和社區,它的好處是能快速獲取用戶,這是一個正常的互聯網營銷行為,但隨著有很多項目模仿就將市場推向了非理性程度。

作為數字資產管理系統,優盾錢包團隊近期深入分析,DeFi未來發展不會只局限于自動化做市商、借貸穩定幣等,它應該會散發出一些新東西,比如跨界跨境金融,所以我們也投了一些涉及到跨境跨界匯款、轉帳的產品,除了穩定幣的機會外,這也是一個大機會。[2020/10/5]

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

可以看到用戶傳入指定的代幣地址,扣款地址,接收地址,數量,股份數量,函數首先做了一系列校驗,然后將 amount 或者 share 進行轉換,關鍵點在 195 - 198 行,這里做了一個校驗 :amount 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是一個去中心化交易所(DEX)聚合器,它從多個 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,節點速度等。

如何從 defi 中撿錢

What Is Uniswap

SUshi Academy

About DODO

1inch aggregation protocol

At Eocene Research, we provide the insights of intentions and security behind everything you know or don't know of blockchain, and empower every individual and organization to answer complex questions we hadn't even dreamed of back then.

了解更多: Website | Medium | Twitter

來源:星球日報

Odaily星球日報

媒體專欄

閱讀更多

金色財經 善歐巴

Chainlink預言機

白話區塊鏈

金色早8點

歐科云鏈

深潮TechFlow

BTCStudy

MarsBit

Arcane Labs

Tags:NBSBSPSWAPTERnbs幣前景BSPAY幣OSWAPMoonStarter

AVAX
INK:美聯儲論文:央行數字貨幣(CBDC)宏觀經濟影響_LINKBEAR

美聯儲哈克:將維持加息一段時間:金色財經報道,美聯儲哈克表示,將維持加息“一段時間”;需要看到通脹持續下降,才能改變政策前景;未來美聯儲的利率行動將取決于經濟數據;到今年年底.

1900/1/1 0:00:00
AMP:后 ChatGPT 時代 問自己 25 個問題_BASE

來源:WSJ   原文作者:Sean Captain2022 年,ChatGPT、Midjourney 等 AI 大模型的問世,讓 AI 開始展現出更多真正的能力和價值.

1900/1/1 0:00:00
SHA:a16z:關于數據可用性抽樣和 danksharding 的概述及改進建議_DAN

原文:A16z 編譯:GWEI ResearchDanksharding 是一種用于擴展未來版本以太坊鏈上數據量的方法。這次升級的目標是確保鏈上的數據在首次發布時就能被歸檔方訪問.

1900/1/1 0:00:00
BIT:TheBlock 揭秘來自俄羅斯的“空投獵人”_BitZ Token

空投獵人旨在通過推測潛在的空投并提前埋伏來賺錢。雖然這種策略可以帶來高額利潤,但也會帶來財務風險和道德問題。空投是一種真正僅限加密的現象,涉及向協議和平臺的早期采用者分發加密代幣.

1900/1/1 0:00:00
GPT:ChatGPT背后的算力博弈 中國企業亟待打破美國桎梏_MGPT

華西證券預測,全球AI軟件市場規模將在2025年達到1260億美元,2021年到2025年復合增長率為41.02%。ChatGPT繁榮的背后,是堪稱天文數字的算力支持.

1900/1/1 0:00:00
MENT:NFT 交易平臺生存現狀研究:夾縫中求生存 小平臺的發展戰略與“功守道”_B One Payment

吳說作者:nobody(Twitter:@defioasis)本期編輯:Colin Wu本文為 NFT 交易平臺生存現狀研究的第三篇,在后版稅戰爭,頭部平臺發展相繼陷入困境.

1900/1/1 0:00:00
ads