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

GAS:一文簡析捕獲Synthetix MEV的詳細過程_BOT

Author:

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

來源|?bertcmiller

請看由EmGithub提供的rawsAssetsOracle

請看由EmGithub提供的rawdYdXLiquidator.sol

我花了大量時間嘗試最小化我的gas消耗。很多我的設計選擇都是以此為依據。關于這份合約的策略,有幾點需要注意

我沒有發送很多單獨償還和兌換的交易,相反,我選擇把多筆償還打包在一個交易里,這使得我的固定gas開銷可以在多筆償還里分攤,由此提高我的交易捆的競爭力。

我需要以最佳方式把ETH兌換成USDC再兌換成sUSD,并需要決定是在有函數exactInput還是exactOutput的Uniswapv3上交易。無論我怎么做都會在某個地方產生滑點,因此我選擇有函數exactOutput的,以避免調用balanceOf。

在這些交易的精確性和gas效率之間存在折衷。只要我能償還我的閃電貸,缺乏精確性也沒什么問題,而且因為我要在gas效率上競爭,我選擇了對它優化。

還有一些“戰術上”的東西需要注意:

對所有東西的批準都前向負載到我的合約里的構建函數。這樣,我可以在部署的時候支付開銷,并減少執行時使用的gas。

以太坊創世區塊生成已滿8周年整:金色財經報道,據CoinGecko數據顯示,2015年7月30日,以太坊正式上線。區塊高度為0的創世區塊于UTC時間03:26:13誕生,區塊獎勵為 5 ETH。目前以太坊主網已運行8周年整。

在過去8年內,以太坊網絡累計處理20.4億筆交易,累計消耗約165億美元手續費。[2023/7/30 16:07:29]

我不從我的賬戶燒毀gastoken,而是從我的合約燒毀,同樣是為了提高gas效率。

函數名稱都是指定的,它們的函數選擇器的前導符為0x,使用函數選擇器也能稍微減少gas的使用。

與直接添加require語句相比,函數修改器需要消耗稍微多一點gas。

這份合約還有一些可以被優化的方法,例如使用gas費用而不用coinbase轉賬。

0xSisyphus非常慷慨提出給我借ETH,我就不用使用閃電貸了,這能大大節省gas。但隨著時間推移,大額的貸款都還錢了,因此總的機會就減少了。我決定不接受0xSisyphus借的錢,因為機會不再大到使這樣做是明智的。

總結:在這個階段,我創建了一份智能合約,以執行捕獲可得的MEV機會。要做到這點,需要認真思考正確的策略,以及如何最小化gas的使用。這份合約是經過多次迭代開發出來的,同時我進行數據上的工作,還把它放在了一個測試環境(Hardhat)里。

分布式穩定幣項目HOPE登陸以太坊主網:4月19日消息,分布式穩定幣項目HOPE宣布推出面向所有用戶的多協議應用。用戶現在可以體驗HopeSwap、HOPE質押和DAO治理等協議與功能。用戶可以在HopeSwap中對HOPE與LT等加密資產進行兌換,還可以提供流動性獲得手續費分成,并通過流動性挖礦獲取$LT獎勵。HOPE持有者還可以通過單幣質押的方式獲得LT獎勵,而無需擔心無常損失。

LT持有者則可以鎖定LT來獲取veLT。veLT持有者可以獲得LT獎勵加成與治理投票權。LT獎勵將在4月20日08:00(UTC+8)之后開始釋放。[2023/4/19 14:14:12]

償還MEV和優化gas價格的經濟學

有了一份精心設計的合約和對機會的深入了解,我需要改進我實現這個機會的策略。回顧一下,Flashbot的MEV-Geth客戶端能有效運行競拍,其中gas價格最高的交易捆勝出,會被打包到鏈上。這一重要事實意味著,我需要最大化我的交易捆的gas價格,而不是我支付的ETH總額。

記住了這點,并使用我之前收集到的數據,我制作了一個電子表格來優化我的gas價格。我的合約既有固定的gas開銷,也有可變的gas開銷。固定的gas開銷用于取出閃電貸和做兌換。可變的gas開銷來自我想要償還的貸款數。我很自然地認為在某一點上,償還一筆貸款的邊際收益將低于gas開銷。我運行了幾次測試,以得出實際數字。以下是我的結果:

孫宇晨:火必2023年目標是擴展到1億用戶:1月3日消息,波場TRON創始人、Huobi Global顧問委員會成員孫宇晨發推稱:“展望未來,火必將專注于進一步擴大其用戶群,目標是到2023年達到1億用戶。”[2023/1/3 22:22:58]

請注意,這個結果有點令人驚訝——僅償還前4筆(共30筆)的sUSD貸款是最省gas的。此后的每筆貸款都會產生更多的整體利潤,但會降低我的交易捆的gas價格,并降低其競爭力。如果有其他人試圖一次性償還前10筆sUSD貸款,它們的gas消耗效率會降低接近30%!

考慮到未償的sETH貸款更少了,只做sUSD貸款而不把sUSD和sETH合并到一筆交易是最合理的。因此,潛在的回報更少了,支付給礦工的錢也更少了,這使得它們的gas效率相對較低。看到這些發現,我不禁笑了。如果其他人貪婪,一下償還了所有的貸款,或很懶惰,分開償還,那么我就會贏。

然而,其他的貸款還在那里,且償還起來也是有利可圖!我再次嘗試優化我的gas價格,發現如果我償還前4筆sUSD貸款,接下來最省gas的做法是一并償還后6筆最大的sUSD貸款,再分別償還最大的兩筆sETH貸款。此外,假設我贏了,我可以使用從之前的交易捆中獲利的ETH,而不再需要閃電貸了。

加密行業廣告支出下降了90%:6月21日消息,據Sensor Tower數據,加密行業廣告支出已經下降90%。據悉,Gemini Trust在5月的廣告支出不到50萬美元

分析師Dennis Yeh表示,公眾對宏觀經濟信心的下降導致了加密行業參與度的大幅下降。(U.Today)[2022/6/21 4:41:03]

Flashbots競拍和我的交易捆排序策略

重復一下情況:我既要在gas效率上競爭,又希望通過償還每筆貸款來最大化我的收益。最佳策略是在每個交易捆中提交幾筆償還,分幾個交易捆進行。這些交易捆會在Flashbots競拍中被各自評估。然而,每筆交易都取決于來自pDAO的交易,是它使得貸款可以被任何人償還。

如果pDAO交易不在交易捆里,那么該交易捆就會失敗。但如果我的每個交易捆里都有pDAO交易,那么只有一個交易捆會成功。也就說,在一個交易捆被成功打包后,其他所有的都是無效的,因為它們會試圖對pDAO交易重復打包。因此,我需要找到方法使得僅在我的第一個交易捆里發送pDAO交易,但同時確保我的其他交易捆不會因為它們沒有pDAO交易而失敗和被扔掉。

解決方案在于Flashbots競拍的一個細微之處。在搜索器開始對競拍使用“把戲”,降低交易捆合并后的礦工費用,Flashbots實行兩輪的模擬。首先,所有的交易捆都被單獨進行模擬,得出它們的gas價格并檢查是否會失敗。在第二輪,成功的交易捆會被按照gas價格排序,并再次進行模擬,以找出前后不一致的交易捆,確保沒有交易捆的gas價格是低于預期的。除非你想這樣做,否則你可能永遠不會有一個交易捆是gas價格在合并后是降低了的。

Terra生態跨鏈穩定幣銀行Orion Money將在未來12個月內逐漸關閉項目:6月7日消息,Terra生態跨鏈穩定幣銀行Orion Money將在未來12個月內逐漸關閉項目,其中從今天起的未來 3 個月內,Orion Money 將致力于維護 Web UI,為用戶提供提現的機會(UST、ORION、xASTRO),團隊還將升級 Orion 智能合約,以允許用戶在 Web UI 被刪除后直接從智能合約中提取其代幣;3 個月后,用戶將能夠在接下來的 9 個月內直接從智能合約中提取他們的代幣。

此外 Orion Money 團隊將繼續與 Terra Builders Alliance、TFL 和 Astroport 團隊合作,尋找將新的 LUNA 和 ASTRO 代幣空投分發給 Orion Money 用戶的方法,并將按快照當日的存款比例進行分配。[2022/6/7 4:07:38]

我意識到我可以做上述搜索器相反的事:我的交易捆不是支付比預期更少的gas費,它們會在第二輪模擬中支付更多。為了做到這點,我將如預期般在第一個交易捆里打包pDAO交易,但要對剩余的交易捆做額外檢查。這些交易捆將推斷它們將會在第幾“輪”模擬,然后相應改變它們的執行。如果它們在“第一輪”,它們將不會償還任何貸款——因為它們嘗試償還的話會失敗——然后無論如何都給礦工支付費用,以獲得高的gas價格,通過第一輪的模擬。

通過了第一輪模擬后,這些交易捆將在第二輪模擬中跟在有pDAO交易的那個交易捆后面。到了這步,它們就能成功償還貸款了。此外,這些交易捆的gas價格會比競拍預期的更高,而不是更低,因此在這里改變執行不是問題。

我是如何確定我的交易捆是在哪一“輪”的呢?通過看我合約的余額。如果在區塊的早期(即在前一個交易捆)我已經成功償還貸款了,那么我的余額應該增加了,因為這樣做能從中獲得收益。因此,我增加了一個條件來檢查我是否獲得任何WETH收益,如果有,則繼續償還貸款。這在測試中是成功的。

總結:這個階段還是關于策略。我使用早期得到的數據、合約和測試環境來思考我要競爭獲得的MEV機會的經濟學邏輯,以及最優策略會是什么。通過使用真實數據,我發現了一個令人驚訝的占有策略,但它很難執行。執行它需要一種新方式來提交交易捆。

第五步:執行

現在手上有了數據、合約、以及我可以開始執行的計劃。基本上,我需要構建多個這樣的交易捆:一方面可以執行我上文的計劃,另一方面監聽交易池里與Synthetix相關的交易以進行尾追。此時,大部分都是實現上的問題。

首先,我使用了Blocknative來監聽pDAO賬戶,以了解相關交易的情況。我讓任何從pDAO賬戶發出的交易信息都會發送到我的機器人。

然后,我同時運行兩個監聽腳本(一個用于sETH和sUSD),以從鏈上獲取數據,得出最優的交易捆策略(例如先償還前3筆sETH貸款,閃電貸X個ETH,并對后2個做相同的事,等),并生成我的合約需要的數據。我需要在每個區塊如此運作,以防價格改變了或有人關閉了貸款,由此改變了最佳策略。這些結果保存在了本地。

最后,我有了一個執行腳本,它會接收發送到我的機器人的待打包交易信息,并從我的監聽腳本加載出最佳打包交易捆策略的結果,自動構建交易捆,并把它們發送到Flashbots。

剩下的事情就是等待。在這段時間,最高額的sETH貸款被借款人償還了,因此我關了機器人中的該部分。幾個最高額sUSD貸款也結束了,這大大減少了預期的回報率。

第六步:關鍵時刻到了

有趣的是,有人試圖通過向相關合約發送交易,想誘使機器人在早期失靈。我不確定這種情況是否也會出現在其他人的機器人上,但我的機器人沒有被誘導成功。

幾個小時后,pDAO發出了真實的交易。經過數周的研究和準備,我知道關鍵時刻到了。我這邊一切都進行很順利:我的監聽腳本運行的很好,交易被接收,交易捆也被構建和提交了。

.....然后意外發生了。連續多個區塊都沒有Flashbots區塊被挖出。我不僅因此失去了機會,也沒有Flashbots搜索器贏得了機會。在區塊頂部沒有了Flashbots交易捆起阻擋作用,一個雄心勃勃的交易池機器人介入了,并搶走了所有有利可圖的貸款。

盡管輸了,但我認為我的方法仍然是正確的。我的優勢在于策略和發現新機會,而不是參與PGA(最優GAS費競拍)。因此,使用Flashbot給了我勝出的最佳機會。鑒于Flashbots已被廣泛采用,遇上連續好幾個非Flashbots區塊也是相當不走運了。

MEV有時被認為是神秘莫測的超級程序員的領域,但它不一定是這樣的。它可以是有趣和刺激的。而游戲規則,如果你要搜尋它們的話,可以說是開放的。這篇文章是關于我學習我所參與的游戲的規則的過程,根據這些規則我想出了策略,并最終執行該策略。盡管我輸了,我學到了很多東西,并在此過程獲得了樂趣。我希望你們也可以,并希望你和我一起參與下一輪的游戲。

原文鏈接:https://bertcmiller.com/2021/09/05/mev-synthetix.html

Tags:GASETHBOTDAOugas幣最新資訊ETHPLO幣BOTS幣Bzone DAO

BTC
GON:BKEX Global 關于上線 WOZX(Efforce)并開放充值功能的公告_GLO

尊敬的用戶:?????????????BKEXGlobal即將上線WOZX,詳情如下:上線交易對:WOZX/USDT幣種類型:ERC20?充值功能開放時間:已開放交易功能開放時間:2021年9月.

1900/1/1 0:00:00
OPEN:Gate.io 創世OpenPunks 首次亮相 序列之爭火熱進行中(最后2天)_PEN

創世OpenPunks首次亮相即受到社區用戶的熱情參與,我們已經陸續收到許多用戶的創意作品。目前,創世OpenPunksNFT形象創作時間僅剩2天,每個參與用戶均有斬獲創世OpenPunks所有.

1900/1/1 0:00:00
COI:幣贏觀察 | 烏龍事件讓LTC重進大眾視野 未來價格何去何從_BCH

幣圈的熱點層出不窮,從去年的DeFi熱到今年的NFT、Gamefi等,熱點概念變化多端。如果不是昨晚萊特幣與沃爾瑪的烏龍事件,相信很多投資者已經淡忘了曾經位居加密貨幣市值第二的萊特幣.

1900/1/1 0:00:00
PEN:OpenSea高管利用“老鼠倉”不當獲利,吃瓜網友“鏈上開扒”_ICO OpenLedger

NFT行業也有瓜吃了。 北京時間9月15日,推特用戶Zuwu發推指責OpenSea產品負責人NateChastain?利用“老鼠倉”不當獲利.

1900/1/1 0:00:00
比特幣:河北省網信辦聯合有關部門開展虛擬貨幣挖礦和交易行為整治_波場幣和比特幣的區別是什么

據“網信河北”微信公眾號消息,日前,河北省互聯網信息辦公室聯合省教育廳、省廳、省地方金融監督管理局、中國人民銀行石家莊中心支行、省通信管理局、國家計算機網絡應急技術處理協調中心河北分中心等部.

1900/1/1 0:00:00
HTT:中幣開啟DYDX/QC 5倍杠桿交易_htt幣價格

尊敬的中幣用戶: ????中幣現已開啟DYDX/QC交易對的5倍杠桿交易。????感謝您對中幣的支持與信任! 中幣運營團隊 中幣(ZB)平臺QFIL漲幅38.1%:根據中幣(ZB)平臺數據,QF.

1900/1/1 0:00:00
ads