買比特幣 買比特幣
Ctrl+D 買比特幣
ads

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

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 函數:

基于Cardano的NFT平臺Cadalabs通過代幣銷售完成100萬美元融資:10月22日消息,基于Cardano的NFT平臺Cadalabs通過代幣銷售完成100萬美元融資。CADALABS協議是在Cadalabs網絡上構建NFT鑄造Dapp的社區驅動的NFT平臺,數字藝術品收藏家能夠將他們的作品鑄造為NFT,并將它們與賣家連接起來,進行無縫交易。CALAABS團隊開發了名為CALA的實用代幣,使社區能夠參與治理問題。此外,通過持有CALA代幣,用戶可以管理創作者、對提案進行投票、質押他們的代幣以賺取和策劃特色藝術品。CALA代幣已經在Cardano上鑄造,總代幣供應量為1億個CALA代幣。(Coinquora)[2021/10/22 20:48:07]

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

二層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]

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

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

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

調用 removeLiquidityETHSupportingFeeOnTransferTokens 移除流動性。

局限性:

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

NFT交易卡游戲Splinterlands通過代幣私募融資360萬美元,Animoca Brands等參投:NFT交易卡游戲Splinterlands通過SPS代幣私募融資360萬美元,Animoca Brands、Blockchain Founders Fund、Enjin、Polygon、Yield Guild Games、Gate.io、3Commas Capital、Alpha Sigma Capital、AGE Crypto Asset Investment Fund、TechmeetsTrader。個人投資者包括Ran Neuner以及Taiwan Mobile、Simplex和Sandbox的創始人。(Cointelegraph)[2021/7/28 1:19:17]

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

Uniswap V2 Pair

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

王純:對于MEV可能存在的問題可通過代碼的方式來應對:F2Pool聯合創始人、stakefish創始人王純在DeFi Discussions線上峰會探討MEV(礦工可提取價值)話題時指出,以代碼即法律的觀點來講,就要看代碼是否允許提前交易重拍交易等礦工獲取MEV的行為。這有些像探討51%攻擊一樣,它是比特幣的特點而不是bug。在2016年的The DAO事件時有許多關于分叉的爭議,當時F2Pool可能是唯一不支持任何人為因素致使分叉的主流礦池,因為我們相信“代碼即法律”。我們可能并不應該去限制自己這樣的能力,而是在如果獲取MEV成為問題或者對網絡造成威脅,我們可以考慮創建一個API讓每個人都能做到提前交易或者重排交易,依次來應對這個問題。這類似于Push Tx或者交易加速這種功能,目前已經有參與者詢問我們是否可以提供在以太坊上類似的服務,我們可以看看這類服務如何影響網絡。[2020/5/4]

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

動態 | 門羅幣網站錢包通過代碼審計 安全漏洞已修復:據Cointelegraph報道,門羅幣網站錢包XMRWallet宣布,已通過區塊鏈策略和科技顧問集團New Alchemy對其進行的代碼審計,“一些潛在的漏洞”現已得到修復,其風險得到緩解。

據悉,審計對象包括其網站流量和用戶界面等。[2018/7/25]

流動性池中除了這兩種代幣外,也會因為誤轉、空投等原因存在其他的 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 并提取出來:

以上是對 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 函數實現,該函數提供了一系列的操作,支持操作列表如下:

其中有一個操作 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 合約中存儲了大量了代幣,那么該合約是否存在套利的空間呢?

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

可以看到用戶傳入指定的代幣地址,扣款地址,接收地址,數量,股份數量,函數首先做了一系列校驗,然后將 amount 或者 share 進行轉換,關鍵點在 195 - 198 行,這里做了一個校驗 :amount Odaily星球日報

媒體專欄

閱讀更多

金色財經 善歐巴

Chainlink預言機

白話區塊鏈

金色早8點

歐科云鏈

深潮TechFlow

BTCStudy

MarsBit

Arcane Labs

Tags:SWAPNBSBSPUniswapNSWAP幣nbs幣官網BSPAY幣Uniswap Wallet

狗狗幣價格
SCR:如何在 Scroll zkEVM 上部署智能合約?_ROLL

作者:Avneesh Agarwal @ thirdweb什么是Scroll zkEVM?Scroll zkEVM 是一個Layer 2網絡,旨在解決以太坊主網的可擴展性問題.

1900/1/1 0:00:00
COI:加密巨頭為何紛紛布局Layer2?一文解讀Base和Linea的誕生、機制和運營策略_OIN

原文:《解讀 Base 和 Linea:為何 Coinbase、ConsenSys 等加密巨頭紛紛布局 Layer2?》作者:餅干.

1900/1/1 0:00:00
LAYER:為什么 EigenLayer 讓我們興奮_以太坊

地平線上似乎出現了一個新的“紀元”。在加密之旅中,每隔一段時間,開拓者就會發現一種新的原語,從而改變整個行業的格局.

1900/1/1 0:00:00
LIT:叫板ChatGPT AI作畫鼻祖Stability AI也推出大型語言模型_TABI

或許每一次歷史潮流的開場,總是這么熙熙攘攘,年初被ChatGPT引爆的AI大型語言模型(LLM),又迎來一位重磅入局者——Stability AI.

1900/1/1 0:00:00
GEN:加密新紀元:EigenLayer何以改變質押游戲?_beth幣和erh

作者:David Hoffman,Bankless編譯:比推BitpushNews Mary Liu地平線上似乎出現了一個新的“紀元”.

1900/1/1 0:00:00
WEB3:隱私保護技術TEE與ZKP的區別究竟在哪里?4個維度幫你全面了解_BSPAY

區塊鏈通過數十個為全球數百萬用戶提供服務的開放和無需許可的網絡,為互聯網提供了一種完全透明的方法.

1900/1/1 0:00:00
ads