比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 中幣 > Info

搶先交易機器人:以太坊黑暗森林中的怪物_以太坊

Author:

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

注:原文作者是Paradigm研究合伙人DanRobinson和GeorgiosKonstantopoulos。

這是一個恐怖且真實發生的故事。

挑戰

像任何正常人一樣,我花了很多時間潛伏在UniswapDiscord的支持頻道里。

周三下午,有人問是否能夠收回意外發送到配對合約的Uniswap流動性代幣。

我最初的想法是,這些代幣將被永遠鎖定,但那天深夜,我突然意識到,如果這些代幣仍在那里,那任何人都可以去恢復它們。

當任何人調用Uniswap核心合約上的burn函數時,該合約會測量自己的流動性代幣余額并將其燒掉,將提取的代幣提供給調用者指定的地址。這是Uniswapv2預期行為的核心部分。

我找到了這個合約,這些流動性代幣仍然在那里,它們的價值大約為12000美元。

Karura網絡發生首次搶先交易,Mangata正開發共識機制以預防此類攻擊:8月31日消息,波卡生態跨鏈去中心化交易平臺Mangata發文稱Karura網絡發生首次搶先交易并解釋交易細節,Mangata正在開發一種共識機制防止搶先交易和價值提取。8月25日,Mangata觀察到一筆搶先交易:攻擊者監測到一筆待處理的10萬枚kUSD兌換KSM的交易,考慮到Karura上的kUSD/KSM流動資金池僅有約600到700萬kUSD,預計這筆交易預計將推高KSM價格。其通過額外支付0.001KAR小費成功在這筆交易達成搶跑,用235kUSD兌換到0.7627KSM,并在兩個區塊后成功用0.7627KSM換回240.63kUSD(大額交易導致KSM價格上漲),以此在攻擊中獲利5.63kUSD,而攻擊成本僅為0.0066KAR(約0.05美元)。[2021/8/31 22:49:53]

這意味著三件事:

有一個滴答作響的時鐘,即使沒有其他人注意到這筆免費資金,任何人都可以在任何時候移除自己的流動資金,并意外地從合約中獲得這些代幣;

BM評論以太坊搶先交易機器人事件:這就是以太坊不適合DeFi的原因:Paradigm研究合伙人Dan Robinson和Georgios Konstantopoulos發布文章《以太坊是黑暗森林》。根據分析,有多個機器人在掃描以太坊Mempool,尋找從其他用戶獲利的方法。有人詢問Dan是否能收回意外發送到配對合約的Uniswap流動性代幣(價值約12000美元)。他最初的想法是這些代幣將被永遠鎖定,但后來意識到,如果這些代幣仍在那里,任何人都可以去恢復。任何人調用Uniswap核心合約上的函數時,該合約會測量自己的流動性代幣余額并將其燒掉,將提取的代幣提供給調用者指定的地址。

他們實施營救行動時遭遇搶先交易機器人:get交易確實被納入,但是出現UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED錯誤,意味著流動性代幣沒了。結果是其get交易進入Mempool后幾秒鐘內,就有人執行調用并掃蕩走資金。

EOS創始人BM評論稱,這就是為何以太坊不適合DeFi。EOS上不存在文章所描述的問題,因為它速度太快,無法搶先交易,而且生產者是已知的,并且可以承擔責任。以太坊上發生的事情太可怕了。(Cryptoticker)[2020/8/30]

我可以戴上我的白帽,試著幫失主找回他的代幣,這很簡單,我只需要調用池子的burn函數,將我自己的地址傳遞給它。

以太坊客戶端Geth在最新版本中加入了減少搶先交易的邏輯:以太坊官方客戶端Geth在最新的雙周維護版本1.9.19中加入了減少搶先交易(front-running)的機制。變更記錄中表示,該版本將會在挖礦過程中,按交易收到時間對同價交易進行排序,以減少搶先交易的情況。[2020/8/17]

只是…我知道這不簡單。

黑暗森林

以太坊區塊鏈是一個高度敵對的環境,這一點已經不是什么秘密。如果一個智能合約可以被用來牟利,那它最終就會被利用。黑客攻擊的頻繁發生表明,一些非常聰明的人花了大量時間來檢查合約中的漏洞。但這種無情的環境與Mempool相比顯得相形見絀。如果說區塊鏈本身就是一個戰場,那么mempool就是更糟糕的東西:一片黑暗的森林。

《黑暗森林》是我最喜歡的科幻小說,它引入了“黑暗森林”的概念,在這種環境中,探測意味著某些高級捕食者的死亡。在這種環境下,公開識別別人的位置和直接摧毀他們一樣好。(這一概念也是以太坊測試網上的

聲音 | 昆明市工業和信息化局張濤:昆明搶先發展區塊鏈有利于在南亞東南亞區域占據主導地位:據昆明日報消息,昆明市工業和信息化局(市大數據管理局)數字經濟發展處處長張濤表示,南亞東南亞國家基礎薄弱、技術創新能力較低,昆明搶先發展區塊鏈有利于在南亞東南亞區域占據主導地位,通過開展區塊鏈應用、建設區塊鏈示范工程逐步形成區塊鏈產業,帶動區域區塊鏈技術的應用和普及,建設面向南亞東南亞的區塊鏈產業聚集區,實現與區域各國共同發展,對建設面向南亞東南亞輻射中心具有重要意義。[2019/11/11]

DarkForest游戲的靈感來源。)

在以太坊Mempool中,這些頂級捕食者會采取“套利機器人”的形式。套利機器人監控等待中的交易,并試圖利用它們創造盈利機會。對于這些機器人,沒有哪個白帽比PhilDaian更了解這些機器人,他和他的同事一起撰寫了《FlashBoys2.0》論文,并創造了術語“礦工可提取價值”。

Phil曾經告訴了我一個他稱之為“廣義搶跑者”的宇宙恐怖存在。套利機器人通常在Mempool中尋找特定類型的交易,并嘗試按照預先確定的算法進行搶先交易。通用的搶跑者通過復制并用自己的地址替換來尋找任何可使搶跑獲利的交易。

廣州搶先出臺全國首個區塊鏈專項扶持政策:據媒體今日報道,早在2017年12月,黃埔區、廣州開發區出臺《廣州市黃埔區廣州開發區促進區塊鏈產業發展辦法》,針對區塊鏈產業多個環節給予重點扶持,是目前國內支持力度最大、模式突破最強的區塊鏈扶持政策。整個政策共10條,核心條款包括7個方面,涵蓋成長獎勵、平臺獎勵、應用獎勵、技術獎勵、金融支持、活動補貼等。[2018/3/12]

這就是為什么這次救援行動不會簡單的原因。任何人都可以調用這個burn函數,如果我提交了一筆調用burn函數的交易,它就像一個閃爍的“免費貨幣”標志,直接指向這個有利可圖的機會。如果這些怪物真的在mempool中,它們會看到,復制然后變異,并在我的交易被接受之前搶先完成交易。

請注意,這種環境比以太坊區塊鏈狀態本身更殘酷。這些免費的資金已經在區塊鏈上停留了大約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:別草率

即使在時間緊迫的情況下,我們也應該堅持原計劃。如果我們花更多的時間在腳本上,調整合約(也許將

Getter合約改為什么都不做,而不是在激活前恢復調用),或者甚至同步我們自己的節點以避免使用Infura,我們可能就能將兩筆交易放入同一個區塊中。

教訓3:不要依賴一般的基礎設施

你所做的事情越奇怪,你就越難通過現有的基礎設施,比如Infura。在我們的案例中,我們試圖提交一筆基于當前區塊鏈狀態看起來會失敗的交易,Infura對此有合理的保護措施。而使用我們自己的節點可以避免這個問題。

或者,如果你碰巧認識一個大礦工,你可以讓他們直接在一個區塊中納入你要提交的交易,完全跳過mempool和怪物。

教訓4:未來只會變得更可怕

這只是發生在我們身上的搶先交易事件的一個例子,而類似的事情每天會發生很多次。今天,搶先交易者只是機器人,而明天,則可能會是礦工。

今天,礦工們并沒有抓住這些機會,把錢留在了原地,但誰也不能保證,他們將來是否會重新排序并提交自己的交易,為其自身利益服務。更糟糕的是,他們可能會重構其他礦工開采的區塊,試圖竊取他們沒有認領的MEV,從而導致區塊鏈的不穩定。

我們認為這種未來是可以避免的。Optimism有一個雄心勃勃的愿景,即如何將MEV重新定向以造福于生態系統,以作為其layer2擴展性解決方案optimisticrollup的一部分。

如果你正在思考關于MEV的事,或在這一領域建設些什么,請聯系我們!

感謝AlbertoCuestaCa?ada、ScottBigelow、PhilDaian、CharlieNoyes以及SamSun對這篇文章提供的幫助。

Tags:區塊鏈以太坊GETMPOOL區塊鏈技術是什么以太坊幣最新價格今日價格行情togetherbnb房東模擬器MPOOL幣

中幣
AAVE丨無抵押借貸將是DeFi的下一個發展方向?_EFI

作者 /RyanSeanAdams?? 翻譯 / 李翰博 ?? 在DeFi借款的一個大問題是需要過度抵押貸款。這是抵押貸款在現實世界中的運作方式,但這不是大多數人對貸款的想法.

1900/1/1 0:00:00
ETC在8月遭遇了三次51%攻擊,將探討更改挖礦算法_RAN

這是本月第三次了,同樣是Bitfly發現了問題。8月30日,Bitfly官方推特表示,當天ETC又遭遇了一次大規模51%攻擊,導致7000多個區塊發生重組,相當于大約2天的開采量.

1900/1/1 0:00:00
借勢DeFi 預言機聯動NFT雙板起跳_LINK

DeFi暴動后,Chainlink市值沖到了加密資產排行榜的第五位。進入8月后,Decentraland這個幣圈老牌資產也意外地也上漲了2倍.

1900/1/1 0:00:00
行業周報 | 三成投資者不懂DeFi,七百萬比特幣丟失,灰度周投資額達歷史之最_DEFI

目錄: 行情概覽 加密貨幣市場 DeFi生態 行業聲音 區塊鏈產業賦能 行業軼事 行情概覽? 根據CoinGecko數據,截至2020年8月21日17時,加密貨幣市場總市值3801億美元.

1900/1/1 0:00:00
7地“監管沙盒”項目全部出爐,誰的區塊鏈含量最高?_RAIL

8月14日,雄安新區、蘇州、杭州同時公示了第一批金融科技創新監管試點應用名單。至此,7個“監管沙盒”試點城市均公示了試點應用名單,共49項.

1900/1/1 0:00:00
央行規范尚未公布,數字貨幣概念趁機炒作_比特幣

本文來源:中國經營報 作者:鄭瑜張榮旺 數字貨幣正在持續引爆A股市場,數字貨幣指數近五日上漲了近5%。8月18日,贏時勝、御銀股份封板,格爾軟件、新開普等13只概念股上漲.

1900/1/1 0:00:00
ads