比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > 區塊鏈 > Info

以太坊:以太坊黑暗森林中的“捕食者”:搶跑機器人

Author:

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

以太坊的黑暗森林怪物并不是開玩笑的。這些Frontrunning的機器人可以分析它們從未在智能合約中使用過的智能合約調用和功能,以獲取潛在利潤。

鑒于人們對這些機器人普遍缺乏了解,我們開始了一場狩獵之旅,來進一步了解這種情況,看看它們有多普遍。我們設法“捕獲”了一些通用的前端機器人,并分析了它們的行為。我們研究了它們的效率和交易被“追捕”的可能性。我們也測試了不同的方法來躲避它們。

通常,Frontrunning是在一個已知的未來事務發生之前,在執行隊列中第一個獲取事務的行為。

Frontrunning的一個簡單例子是交換競價。假設有人打算在Uniswap上購買大量ETH,這足以推高ETH的價格。從這種情況中獲益的一種方法是在購買大量ETH之前進行交易,同時價格保持較低。然后,在價格飆升之后,出售ETH獲利。

除了這個套利例子,Frontrunning 進行許多其他交易也可能是有價值的,包括清算,購買罕見的NFT,或簡單的用戶錯誤。(從一個事務或事務順序中提取的值稱為MEV)。

在以太坊上Frontrunning是通過在交易中出價稍高的交易費來實現的,激勵礦工在構建區塊時更早地排序,較高的支付交易首先執行。因此,如果兩個從同一個合約調用中獲利的交易被放在同一個區塊中,只有第一個交易獲得利潤。

Dan Robinson和Georgios Konstantopoulos在《ETH是黑暗森林》的一篇博客文章中描述了一次試圖Frontrunning的行為,其中有1.2萬美元落入了一個復雜的“捕食者”的魔爪中。一個捕食者如此領先,它可以追蹤以太坊交易池中的任何有價值的交易,并通過Frontrunning的方式獲取收益。

《黑暗森林》的故事太“恐怖”了,一開始很難讓人相信。的確,我們有理由懷疑這種“食肉動物”的存在。資金如何從Uniswap這個被大量機器人嚴密監控的套利平臺中撤出?它可能是一個“常規的”套利者嗎?

ETC本月漲幅達184%,市場猜測“以太坊合并將導致礦工轉向ETC”:7月29日消息,CoinDesk數據顯示,Ethereum Classic(ETC)本月上漲184%,而Polygon(MATIC)的漲幅為102%,Uniswap(UNI)的漲幅為86%,BTC的漲幅為20%,ETH的漲幅為60%。加密市場總市值已從上月的7628.2億美元低點反彈至1.14萬億美元。此外,ETC今日在主流交易所的價格一度突破45美元。

以太坊即將進行的“合并”似乎推動ETC價格反彈。IntoTheBlock研究負責人Lucas Outumuro表示,“ETC價格受到ETH礦工將轉向ETC的猜測推動,而且可能會是另一個對他們有利的硬分叉。”

數據顯示,在過往以太坊升級前后的時間里,ETC經常會出現較大漲幅,比如在2021年4月以太坊柏林硬分叉升級期間。

Messari研究分析師Sami Kassab最近在研究報告中指出,“以太坊的挖礦網絡由兩種類型的硬件組成:ASIC和GPU。ASIC的問題在于,除了挖ETH之外,它們不能被重新用于不同的應用。Ethereum Classic是唯一可以用ETH ASIC挖礦的其他PoW代幣,因其哈希算法與ETH的算法兼容。”(CoinDesk)[2022/7/29 2:46:33]

今年早些時候,我們的深入分析證明事實并非如此。這可不是普通的機器人。它成功地調用了一個合約函數,據我們所知,這個函數以前從未調用過。盡管通過代理智能合約對交易進行了混淆,但這筆資金還是被抽走了。

至少可以說,這相當令人擔憂。監視交易池中的任何事務的能力是一種超級強大的武器。令人擔憂的是,一些服務開始公開提供“暗池”交易層。

“暗池”交易層不使用Infura這樣的服務,甚至也不使用私有節點,而是直接將交易發送給礦工,并承諾不會將交易傳播到網絡的其他部分,從而保證交易安全不受掠奪者的窺探。

Aave與Polygon合作以解決以太坊擁堵問題:金色財經報道,去中心化金融(DeFi)公司Aave正在與Polygon(前身為Matic)合作,以解決當前在第二大公共區塊鏈上遇到的擁堵問題。Aave將與Polygon一起探索可擴展側鏈,以躲避以太坊目前存在的高額交易費用。 Aave表示,將使用即將可用的智能合約橋接,該橋接將資產從一個網絡無縫移到另一個網絡。[2021/4/1 19:34:28]

samczun和co.在試圖從一份易受攻擊的合約中榨取960萬美元時,也使用了類似的方法。不難想象,礦工們開始自己使用Frontrunning的機器人,而只向那些支付額外費用的人提供安全通道。

與以太坊的其他元素(比如可以在開發環境或測試網上測試的智能合約)不同,這些機器人只存在于以太坊主網上。除了一些最初的試驗,他們嘗試并Frontrunning測試網交易在財務上沒有意義。此外,他們不必遵循與所有人相同的規則,因為他們的邏輯是隱藏的。

我們不知道這些Frontrunning的掠食者何時決定攻擊。所以,在某種程度上,追蹤這些捕食者就像追捕稀有動物一樣。我們不想只針對任何一個Frontrunning者,而只是特定的,一般化的那種。

為了確保我們抓到的Frontrunning者是“真正的”一般的Frontrunning者,我們需要一個獨特的陷阱。該陷阱是一個新創建的合約,由一個SHA256哈希秘密字符串發起,其中有一些資金可供獲取。只有提供了這個秘密,才能取出鎖定的資金,資金將直接被發送到提取交易的發送方。

他們的想法是發送一個提供正確秘密的“誘餌”交易,看看是否有人試圖復制它,然后自己提供秘密,從而獲得可用的資金。如果有人在誘餌交易之前拿到了資金,這就意味著有人能夠在交易還在交易池l的時候分析它,復制它的相關內容,并自己提供秘密。

數據:以太坊鏈上錨定BTC的代幣總量為151300枚:DeBank數據顯示,以太坊鏈上錨定BTC的代幣總量為151300枚,其中,WBTC總量為122831枚,renBTC總量為16935枚,HBTC總量為6010枚。[2020/11/29 22:30:20]

有趣的是,他們將提供一個他們之前不知道的秘密,一份從未見過的合約,來獲得資金。

這個實驗的一個重要部分是了解Frontrunning者的工作原理。然而,如果有人建立了一個賺錢的機器,它可能不會在Github上分享。因此,我們只能觀察和按工程犯罪者的行為逆向分析。

構建一個通用的Frontrunning者通常需要兩個部分。第一個組件是一個以太坊賬戶,無論是否有智能錢包代理,修改后的交易都可以發送到該賬戶。第二個是“后端”,也就是操作的大腦,它大多發生在鏈下。操作符使用一些技術來檢查池中的每個事務,解析它,替換它的參數(例如,tx調用者),并確定它是否有任何利潤。

一個理性的機器人不會嘗試去做一筆費用超過潛在收益的交易。交易費用加起來可能會相當多,尤其是在交易費的時候。因此,要吸引機器人上鉤,就需要一個最小的利潤。

此外,由于需要對交易池中的每個事務(其中有許多事務)進行分析,所以時間也是至關重要的。挖掘一個以太坊區塊平均需要12秒。如果這筆交易的交易費足夠高,那么必須在下一個區塊到來之前足夠快地對其進行分析和替換。

這是一個概率過程,有可能在一個事務被廣播后立即挖掘一個塊,讓機器人沒有時間成功地分析它并廣播一個正在運行的事務。

有了這些考慮和一些想法,我們測試了機器人抓住誘餌需要多少時間。

以太坊開發者eric.eth稱將暫別推特,并提醒關注者在頂部賣掉:以太坊開發者eric.eth剛剛發推稱,我決定暫時離開推特(可能是永久的)。在熊市里,我用推特把大家聚集在一起,我們這些留下來的人對以太坊的未來至關重要。但我并不喜歡隨之而來的“影響力”,這不是我在充滿狂熱、炒作的牛市中希望擁有的東西。最后,別忘了在頂部賣掉。[2020/8/16]

設置陷阱

我們的合約(授予者)的初始余額為0.035 ETH,當時價值約20美元。任何向合約中存儲的Hash提供正確原像的人都可以獲得這些資金。為了獲得資金并作為掠奪者的觸發器,一個單獨的賬戶(獲得者)將試圖通過提供適當的"逆象"像來提取資金。

第一輪:直接調用合約

為了確保我們的基線陷阱能夠正常工作,我們首先使用獲得者帳戶來調用合約。第一次嘗試時,交易費相對較高(由ETH框架設定),我們成功收回了資金。

這可能是由于利潤過低,無法吸引捕食者,或者因為交易挖掘得太快,它們無法做出反應。顯然,這并不是我們想要的結果,因為捕獲捕食者是我們的目標。

第二輪:給他們時間思考

在這一輪中,我們解決了之前遇到的問題。我們增加了潛在利潤并降低了交易費,這樣交易就不會被挖得太快,給機器人時間去發現它。該合約還追加了0.04 ETH(比之前增加了0.005)。

這一次,我們成功了。該交易在被挖掘前等待了大約3分鐘,沒有從合約中獲得價值。根據合約的內部交易,我們可以發現資金流向了別人。

當前事務使用25.000001111 Gwei(.000001111Gwei高于我們所使用的值),并且與嘗試的“提取”在同一個塊中被挖掘。

既然我們已經成功地找到了一個機器人(付出了一些代價),我們可以得出一些有趣的見解。首先,事務表明對合約的調用沒有直接執行。機器人并不只是復制交易并盲目地從一個擁有的帳戶發送它,而是通過代理智能合約傳遞它,該代理智能合約充當一個智能錢包來執行這些交易。

分析:三個關鍵指標表明投資者對以太坊的價格持樂觀態度:5月26日文章分析稱,雖然以太坊2.0的具體發布日期仍未確定,但三個關鍵指標表明用戶和投資者對以太坊的價格持樂觀態度。

1.以太坊地址快速增長。GlassNode數據顯示,余額大于零的以太坊地址總數已躍升至4000萬個。這表明自從ETH價格達到2018年歷史最高水平以來,非零地址數已經暴漲超350%。

2.市場活動增長。資產管理公司灰度(Grayscale)的報告指出,以太坊信托的資產管理規模從1170萬美元增長至2.765億美元,盡管以太坊價格較低,但增長了23.6倍。

3.用戶活動不斷增漲。Etherscan.io數據顯示,以太坊上的Gas使用量已達到歷史最高水平。這表明在以太坊2.0的預期下,以太坊區塊鏈網絡上的用戶活動水平正在飆升。(cointelegraph)[2020/5/26]

現在,我們可以跟蹤以前和將來的事務地址,以查看機器人的成功程度及其操作方式。

反編譯合約有兩個主要功能:

“提款”,基本上就是把合約中的所有資金都交給合約的運營商。另一個函數接收一些參數:一個要調用的合約、一個參數列表和一個傳遞的值參數。

通過該功能,代理合約為運營商充當了智能錢包的角色。除了執行調用外部函數的能力,它還可以保證交易開始時的余額至少和交易結束時的余額一樣多,否則還可以恢復,從而避免在調用未知合約時可能出現的資金損失(當然,交易費用除外)。

使用Dune Analytics,我們可以看到自2018年5月開始機器人取得了多大的成功!

假設這個特定的機器人總是使用相同的代理和發送地址來發行交易,我們可以估計它的收益總計約17 ETH(在本文撰寫時約為1萬美元)。

第三輪:他們到底有多聰明?

現在我們已經確信機器人要攻擊我們了,我們想測試是否可以通過第二個合約(一個代理,它將調用一個函數來從給予者那里提取誘餌)來混淆我們的調用,從而從我們的合約中提取誘餌。(合約中也有“收款”功能,可以將款項返還給我們)。

我們部署了ProxyTaker合約,并調用了適當的函數,試圖提取我們的資金。由于通過代理收取資金的成本略高,授予者合約的金額略高,為0.055 ETH。你瞧,我們的交易立刻被另一個機器人搶跑了。

這一次更令人印象深刻。機器人不僅能夠檢測我們的提取事務,而且它從一個內部調用中,從一個完全不同的合約中識別它!以破紀錄的速度完成了這一壯舉。我們的提取交易在幾秒鐘內就被挖掘出來了(機器人也一樣)。

機器人的身份也很有趣。bot的合約主要是由這個賬戶來操作的。該賬戶在Etherescan上發表了評論,將其與黑客試圖從一份脆弱的Bancor智能合約中提取用戶資金的案件聯系起來。

考慮到機器人的相同行為模式(從賬戶A調用代理并將資金傳遞到賬戶B)和事件的臨近性,有理由認為機器人在該事件中也在對白人黑客進行普遍的Frontrunning操作。

這個機器人比前一個復雜得多。它不僅關注ETH,還進行各種套利交易。

從收集資金的賬戶余額來看,它也要成功得多。目前,余額約為300 ETH(撰寫本文時約為18萬美元)。我們也可以從合約地址中減去所有的資金流入和流出來估算其收益,總計為~900 ETH。這只是一個粗略的估計,因為該賬戶可能進行了與其前端運行活動無關的交易。(以下是所有有正值的機器人交易列表)。

最后一輪:成功提取

為了讓這個挑戰更有趣一點,我們又做了一次混淆的嘗試,這次使用了一個只有我們可以使用的代理合約,一個OwnedTaker。

設置類似于第三輪。授予合約追加了0.05 ETH。這筆資金也在同一筆交易中轉回給我們,而不是保留在合約中。

在第一次嘗試中,對OwnedTaker合約的交易花了大約1分鐘時間挖掘,我們成功地提取了資金。

實驗重復進行,這次用0.06 ETH重新填充了給予者合約,這是我們迄今為止使用的最高的支付,以確保較低的支付不是缺少Frontrunning嘗試的原因。

交易費也被故意設定在一個相對較低的水平。交易等待了大約7分鐘,但仍然成功提取了資金。

一個只允許所有者轉發交易的自有代理的組合,阻止了兩家Frontrunning者成功解析數據并為自己賺取利潤。

可能只允許合約所有者執行調用的要求,或者資金被發送到與調用合約不同的目標的事實,有助于避免搶先嘗試。

機器人很可能會首先考慮自我保護;畢竟,它們調用的是一個未知的合約,它可能執行任意代碼。有理由認為,如果利潤得不到保證,他們將避免不必要的風險或損失交易費用。

那么,我們贏了嗎?

那要看你怎么看了。我們簽了一份新合約,還有一個只有我們知道的秘密。很明顯,我們發現的兩家Frontrunning者都在交易池中操作所有的交易,從他們的利潤來看,他們做得很好。

上次我們為什么能抵御(Frontrunning)?

很難說。可能是機器人沒有冒著與經過身份驗證的合約通信的風險,或者資金被轉移到另一個地址的事實是意外的。當然,這并不意味著這是一種完全避免Frontrunning者的方法。最有可能的是,交易池l中潛伏著更復雜的機器人,它們根本不愿意為了這么小的利潤而冒險。

在這個簡短的實驗中,我們能夠證明通用的前端運行機器人是存在的,而且它們是高度復雜的。

當然,我們知道我們的實驗還遠遠不夠完整或確定。還有許多其他機器人有著截然不同的觸發器和操作方式。諸如潛在的上行空間、溝通模式和最小復雜性(例如,交易費限制)等因素,可能會影響它們的運作方式。

然而,我們相信我們的工作提供了一個概念驗證,并進一步揭示了這些通用的前端機器人的操作方式。

現在可怕的現實是,如果有一份合約能夠產生利潤,任何人都可以調用它,即使它是非常模糊的,它很有可能會被某個Frontrunning的機器人搶先嘗試。

因此,了解這些機器人及其運作方式至關重要,這樣我們才能在現在和未來建立更安全的系統。像Flashbots這樣的項目試圖通過民主化MEV開采并使其成為一種公共資源來實現這一點。我們希望這項研究有助于實現這一目標。

如果您遇到過這些機器人,或者正在研究更復雜的迷惑技術,請隨時聯系我們。通過分享您的經驗,我們將更好地了解這些機器人,并為我們所有人建立一個更安全的加密社區。

感謝Tal Be 'ery, Omer Shlomovitz, Oded Leiba, Dan Robinson和其他人對這篇文章的幫助

附錄

Giver合約

作者: Alex MenUskin

翻譯: Sherrie

Tags:以太坊ETHINGONT以太坊幣今日價格行情美元ethereal有什么特殊的含義Sowing.NetworkMoonTrust

區塊鏈
區塊鏈:金色DeFi日報 | 首個基于BCH的DeFi應用已上線

DeFi數據 1.DeFi總市值:194.36億美元 市值前十幣種漲跌幅,金色財經制圖,數據來源Coingecko2.過去24小時去中心化交易所的交易量:11.7億美元 金色午報 | 6月21日.

1900/1/1 0:00:00
加密貨幣:金色前哨 | 渣打銀行聯合北方信托發布加密數字貨幣托管方案Zodia

12月9日消息,渣打銀行將和北方信托(Northern Trust)已達成協議,雙方將合作推出為機構投資者服務的加密貨幣托管平臺Zodia.

1900/1/1 0:00:00
BCH:12.8午間行情:市場沒有頹勢 價格有望繼續拉升

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
ELE:Electric Capital報告:自2019年以來DeFi開發者增加110% 開發者聚焦高質量項目

律動 BlockBeats 消息,加密風投公司 Electric Capital 近日發表了區塊鏈開發者報告.

1900/1/1 0:00:00
比特幣:項目周刊 | BTC市值升至全球市值資產第12位 超越沃爾瑪

金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等行業動態。本文是其中的項目周刊,帶您一覽本周主流項目以及明星項目的進展.

1900/1/1 0:00:00
PPL:在多家交易所聲稱下架XRP之際 Ripple鄭重回應SEC的 "攻擊"

隨著XRP在交易所中下架和暫停交易后價值暴跌,Ripple Labs周二發表聲明,鄭重回應美國證券交易委員會(SEC)對該公司的指控.

1900/1/1 0:00:00
ads