這是一個恐怖且真實發生的故事
挑戰
像任何正常人一樣,我花了很多時間潛伏在UniswapDiscord的支持頻道里。
周三下午,有人問是否能夠收回意外發送到配對合約的Uniswap流動性代幣。
我最初的想法是,這些代幣將被永遠鎖定,但那天深夜,我突然意識到,如果這些代幣仍在那里,那任何人都可以去恢復它們。
當任何人調用Uniswap核心合約上的burn函數時,該合約會測量自己的流動性代幣余額并將其燒掉,將提取的代幣提供給調用者指定的地址。這是Uniswapv2預期行為的核心部分。
我找到了這個合約,這些流動性代幣仍然在那里,它們的價值大約為12000美元。
這意味著三件事:
有一個滴答作響的時鐘,即使沒有其他人注意到這筆免費資金,任何人都可以在任何時候移除自己的流動資金,并意外地從合約中獲得這些代幣;
Coinbase:非常重視有關搶先交易的指控,對非法行為零容忍:金色財經報道,Coinbase的一位發言人在一份聲明中回應了悉尼科技大學研究人員的一項研究稱,“Coinbase非常重視有關搶先交易的指控,我們努力確保所有市場參與者都能獲得相同的信息。作為這項工作的一部分,我們已采取措施將資產測試和集成步驟中出現技術信號的可能性降至最低。我們對非法行為零容忍,并對其進行監控,并在適當的時候進行調查。”
此前報道,悉尼科技大學研究人員的一項研究發現Coinbase內幕交易實例超出7月份被指控范圍。[2022/8/18 12:32:43]
我可以戴上我的白帽,試著幫失主找回他的代幣,這很簡單,我只需要調用池子的burn函數,將我自己的地址傳遞給它。
只是…我知道這不簡單。
黑暗森林
以太坊區塊鏈是一個高度敵對的環境,這一點已經不是什么秘密。如果一個智能合約可以被用來牟利,那它最終就會被利用。黑客攻擊的頻繁發生表明,一些非常聰明的人花了大量時間來檢查合約中的漏洞。但這種無情的環境與Mempool相比顯得相形見絀。如果說區塊鏈本身就是一個戰場,那么mempool就是更糟糕的東西:一片黑暗的森林。
《華爾街日報》:元宇宙暫未對用戶全面開放,投資者已搶先進駐:12月30日消息,《華爾街日報》刊文指出,加密貨幣正在吸引所有人,無論是技術精英還是藝術家,而加密貨幣所依賴的區塊鏈技術也定將在元宇宙中占據主導地位。大量的報道和數據顯示,投資公司已經在元宇宙內購置房地產。Tokens.com的首席執行官安德魯·基格爾(AndrewKiguel)在近期的一次采訪中表示,在元宇宙內購置土地可以得到回報,就像250年前在曼哈頓購買土地一樣。
此外,Facebook更名為Meta,Nvidia擁有Omniverse、谷歌的母公司Alphabet專注于開發人工智能,而蘋果也在開發元宇宙可穿戴設備。雖然元宇宙仍然處于早期開發階段,但大量投資者和科技獨角獸企業已經著手布局元宇宙相關產業。[2021/12/30 8:14:49]
《黑暗森林》是我最喜歡的科幻小說,它引入了“黑暗森林”的概念,在這種環境中,探測意味著某些高級捕食者的死亡。在這種環境下,公開識別別人的位置和直接摧毀他們一樣好。
Valkyrie:BIS對比特幣ETF搶先交易的擔憂是錯誤的:12月17日消息,ETF 經理 Valkyrie 表示,國際清算銀行對投機者利用比特幣期貨交易所交易基金 (ETF) 從一份合約到另一份合約的月度展期的擔憂過度了。眾所周知,這些基金面臨期貨溢價,這是由于短期合約到期導致的多頭頭寸在月末展期而導致的業績隨著時間的推移而下降。然而,據國際清算銀行稱,投機者利用月度展期可能會加劇這個問題。雖然這種搶先交易過去對傳統市場 ETF 的表現產生了重大影響,但尚無交易員在加密市場采用類似策略的跡象。
Valkyrie Investments ETF 投資組合管理負責人Bill Cannon表示:我們沒有注意到任何與 BTF 期貨展期相關的提前交易。” “流動性一直很健康,執行方面沒有任何問題。(Coindesk)[2021/12/17 7:46:46]
在以太坊Mempool中,這些頂級捕食者會采取“套利機器人”的形式。套利機器人監控等待中的交易,并試圖利用它們創造盈利機會。對于這些機器人,沒有哪個白帽比PhilDaian更了解這些機器人,他和他的同事一起撰寫了《FlashBoys2.0》論文,并創造了術語“礦工可提取價值”。
由Lien開發可預防搶先交易的去中心化交易所Fairswap新版本已上線:由去中心化穩定幣協議LienFinance開發的去中心化交易所Fairswap新版本已上線,第一個支持的交易對為LIEN/USDC,初始的流動性為30萬美元。官方同時也在Uniswap中為LIEN/ETH提供了流動性,約10萬美元。FairSwap是一個為了預防搶先交易(Frontrunning)而設計的去中心化交易協議,而交易機制受Uniswap啟發,采用自動交易商(AMM)模式。[2020/11/7 11:57:19]
Phil曾經告訴了我一個他稱之為“廣義搶跑者”的宇宙恐怖存在。套利機器人通常在Mempool中尋找特定類型的交易,并嘗試按照預先確定的算法進行搶先交易。通用的搶跑者通過復制并用自己的地址替換來尋找任何可使搶跑獲利的交易。
這就是為什么這次救援行動不會簡單的原因。任何人都可以調用這個burn函數,如果我提交了一筆調用burn函數的交易,它就像一個閃爍的“免費貨幣”標志,直接指向這個有利可圖的機會。如果這些怪物真的在mempool中,它們會看到,復制然后變異,并在我的交易被接受之前搶先完成交易。
以太坊客戶端Geth在最新版本中加入了減少搶先交易的邏輯:以太坊官方客戶端Geth在最新的雙周維護版本1.9.19中加入了減少搶先交易(front-running)的機制。變更記錄中表示,該版本將會在挖礦過程中,按交易收到時間對同價交易進行排序,以減少搶先交易的情況。[2020/8/17]
請注意,這種環境比以太坊區塊鏈狀態本身更殘酷。這些免費的資金已經在區塊鏈上停留了大約8個小時,它們尚未被發現,等待著被任何一個調用burn函數的人從池子中提取出流動性代幣。但任何試圖撿起它的嘗試,都會在飛行過程中立即遭到阻擊。
營救行動
為了在不通知機器人的情況下提取到資金,我需要混淆這筆交易,這樣機器人就無法檢測到它對Uniswap對的調用,這將涉及編寫和部署定制合約。盡管我是一個專業的DeFi思想領袖,但我以前從未在以太坊上部署過合約。
我需要幫助,而當時已經過了午夜。幸運的是,我認識的一些最好的智能合約工程師生活在歐洲時區。我在Paradigm的同事GeorgiosKonstantopoulos同意幫助部署合約并提交交易。我們另一家投資組合公司Yield的首席工程師AlbertoCuestaCa?ada則自愿執行合約。
一些優秀的以太坊安全工程師幫助我們想出了一個混淆方案。除了將調用隱藏為內部交易外,我們還將交易分為兩部分:一筆是激活我們合約的set交易,另一筆是在合約被激活的情況下拯救資金的get交易。具體實施如下:
部署一個Getter合約,當所有者調用它時,它只在激活時發出burn調用,否則將恢復;
部署一個Setter合約,當所有者調用它時,它將激活Getter合約;
在同一個區塊中提交set交易和get交易;
圖:我們自定義智能合約的代碼
如果攻擊者只嘗試執行get交易,它將在沒有調用set交易的情況下恢復。我們希望在攻擊者按順序執行這兩筆交易之前,我們的交易能夠先被區塊納入。
圖:我們的救援腳本
令我們驚訝的是,即使我們手動調高了gas費用,set?交易依舊被Infura拒絕了。在幾次失敗的嘗試和重置之后,時間給了我們壓力,然后我們開始變得草率了。我們讓第二筆交易溜到了之后的一個區塊。
而這成了一個致命錯誤!
我們的get交易確實被納入了,但是出現了一個UniswapV2:INSUFFICIENT_LIQUIDITY_BURNED錯誤,這意味著流動性代幣沒了。結果是,在我們的get交易進入mempool后的幾秒鐘內,就有人執行了調用,并掃蕩走了資金。
怪物吞噬了我們。
教訓
教訓1:怪物是真實存在的!
盡管從理智上,我們知道這些搶先交易機器人普遍存在,但在你真正看到它們的行動之前,你很可能低估了它們。
我們抱著一絲僥幸,通過授權合約將救援作為內部調用,我們原本以為它能保護我們,但現實并不是。
如果你發現自己也處于這樣的情況,我們建議你聯系ScottBigelow,他是一位一直在研究該主題的安全研究人員,而他有一個更好的混淆原型實現。
教訓2:別草率
即使在時間緊迫的情況下,我們也應該堅持原計劃。如果我們花更多的時間在腳本上,調整合約,或者甚至同步我們自己的節點以避免使用Infura,我們可能就能將兩筆交易放入同一個區塊中。
教訓3:不要依賴一般的基礎設施
你所做的事情越奇怪,你就越難通過現有的基礎設施,比如Infura。在我們的案例中,我們試圖提交一筆基于當前區塊鏈狀態看起來會失敗的交易,Infura對此有合理的保護措施。而使用我們自己的節點可以避免這個問題。
或者,如果你碰巧認識一個大礦工,你可以讓他們直接在一個區塊中納入你要提交的交易,完全跳過mempool和怪物。
教訓4:未來只會變得更可怕
這只是發生在我們身上的搶先交易事件的一個例子,而類似的事情每天會發生很多次。今天,搶先交易者只是機器人,而明天,則可能會是礦工。
今天,礦工們并沒有抓住這些機會,把錢留在了原地,但誰也不能保證,他們將來是否會重新排序并提交自己的交易,為其自身利益服務。更糟糕的是,他們可能會重構其他礦工開采的區塊,試圖竊取他們沒有認領的MEV,從而導致區塊鏈的不穩定。
我們認為這種未來是可以避免的。Optimism有一個雄心勃勃的愿景,即如何將MEV重新定向以造福于生態系統,以作為其layer2擴展性解決方案optimisticrollup的一部分。
如果你正在思考關于MEV的事,或在這一領域建設些什么,請聯系我們!
感謝AlbertoCuestaCa?ada、ScottBigelow、PhilDaian、CharlieNoyes以及SamSun對這篇文章提供的幫助。
End
注:原文作者是Paradigm研究合伙人DanRobinson和GeorgiosKonstantopoulos。
Tags:SWAPGETUNIUniswaptreeswap幣購買Hedget Tokenunisat教程Uniswap Finance
1.關于BTC8折福利認購結果Gate.ioStartup主流幣打折福利第27期BTC8折認購已經成功完成,更多主流幣種打折福利即將到來,真金白銀地為用戶送福利.
1900/1/1 0:00:00尊敬的TB用戶: TokenBetter即將上線VOR/TB交易對,并開放充值、提現。具體時間如下: 1、充值時間:已開放 solana網絡發布關于6月2日網絡中斷的問題報告:金色財經報道,So.
1900/1/1 0:00:00親愛的BKEXer:? ?? BKEXGlobal即將上線WCVP),詳情如下:上線交易對:WCVP/USDT??充值功能開放時間:2020年8月31日15:00交易功能開放時間:2020年8月.
1900/1/1 0:00:00尊敬的PKEx用戶: PKEx9月1號14:00上線YFI、YFIIPKEx9月1號15:00上線ANT、WNXM分析師:BTC今年恐難創新高.
1900/1/1 0:00:002018年3月,在位于法國海岸的英國避稅天堂澤西島皇家游艇酒店,丹尼爾·馬斯特斯舉辦了一場演講,聽講者都是來自澤西島上一些最古老的家族和金融新貴.
1900/1/1 0:00:00尊敬的用戶: 隨著T網YLB節點合約挖礦規模不斷擴大,為更方便管理和維護社區,更好的服務大家,T網將在Telegram開啟YLB共識群.
1900/1/1 0:00:00