比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

ETH:科學家在行動:捕獵以太坊黑暗森林中的搶跑機器人

Author:

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

搶先交易機器人如何截胡資金?如何避免被搶先交易的厄運?

以太坊黑暗森林中的怪物可不是茶余飯后的玩笑。這些搶先交易的機器人能分析智能合約指令和它們之前從未在智能合約中用過的函數,以提取潛在收益。

要更好的了解這些機器人,本文提供了一次探尋以太坊黑暗森林的漫游之旅。讓我們進一步深入該黑暗森林中,了解它們有多么猖獗。

我們設法「利用陷阱」,捕獲了一些常見類型的搶先交易機器人,并對其行為進行了分析。

在這場漫游之旅中,我們研究了這些搶先機器人的效率,研究了各種交易被它們追獵的可能性。當然,我們還測試了不同的逃避他們的方法。

以下,enjoy。

一般來講,搶先交易(https://en.wikipedia.org/wiki/Front_running)是指在已知的未來交易發生之前,在執行隊列中插隊兌現交易的行為。

搶先交易的一個簡單示例是交易所出價。假設某人即將在 Uniswap 上購買大量 ETH,足以推動 ETH 價格上漲。從這種情境中受益的一種方法是在這筆大量買進 ETH 之前的瞬間搶先買入 ETH,此時價格仍然較低。然后,在 ETH 價格飆升之后,立即賣出以鎖定利潤。

除了這種套利交易實例,還存在很多利用搶先交易攫取價值的途徑,包括清算、購買罕見的 NFT,或者僅僅是制造用戶錯誤。(交易或成交順序的可提取價值被稱為「礦工可抽取價值 MEV」)?

以太坊中的搶先交易可以通過支付略高于正常水平的 gas 價格即可實現,通過這種方式,可以鼓勵礦工在構建區塊時將其交易排列在優先順序。交易支付的手續費用越高,執行的順序越靠前。因此,如果兩筆交易都會從同一個區塊中的同一個調用智能合約的指令中獲利,只有先成交的那筆交易會最終獲利。

Dan Robinson 和 Georgios Konstantopoulos 在聯手撰寫的「以太坊是一片黑暗森林」博客文章中描述了在一次試圖拯救以太坊一個智能合約中價值 12,000 美元代幣的行動中,遭到套利機器人截胡的經歷。這些超級掠食者機器人非常先進,能追蹤到以太坊交易池中任何有價值的交易,通過搶先交易的手段截胡。

Polkatrain:此次黑客事件系市場科學家利用類似滑點問題惡意攻擊:據官方最新消息,Polkatrain團隊已經查明并核實,此次黑客事件是一起針對POLT項目的黑客利用類似滑點問題惡意攻擊行為,并非之前慢霧、幣世界、金色財經等聲稱的所謂薅羊毛事故(通過調用swap函數薅取返傭獎勵),對于這些不實言論,Polkatrain團隊將保留自己的追究權利。在社區的共同努力下,關于黑客盜取約5萬個DOT的事件(項目方近4萬個DOT,用戶近1萬個DOT),Polkatrain目前已經有重大進展,后續將持續跟蹤此事情。[2021/4/6 19:50:46]

鏈聞注:「以太坊是一片黑暗森林」中文版文章可參見:

https://www.chainnews.com/articles/124072923888.htm

黑暗森林的故事令人「毛骨悚然」,以至于剛讀到文章時簡直無法相信。實際上,確實有理由質疑此類超級掠食者機器人的存在。為什么有人能從 Uniswap 協議中搞走資金呢?這個平臺可是被無數機器人虎視眈眈地監視著?這些機器人是不是也就是一群普通的「套利者」而已?

今年稍早,我們發表過分析文章證實它們可不是普通的「套利機器人」。據我們所知,它們能設法調用以前從未調用過的智能合約函數。就算是通過代理智能合約對交易進行了模糊處理,但這些機器人依然可以通過此類操作掠走資金。

至少可以這樣說,這令人震驚。能監視交易池中任何交易的能力是一種威力無窮的武器。令人不安的是,一些服務商開始公開提供「暗池」交易層。

「暗池」交易層無需使用諸如 Infura 之類的服務,甚至不使用私有節點,直接將交易發送給礦工,礦工承諾不會將其廣播到網絡中的其余節點,從而確保交易躲過掠食者的雷達。

著名白帽 samczun?曾聯合多位伙伴,從一個出現漏洞的智能合約中拯救出 960 萬美元的行動中采用了類似的方法。不難想象,會有礦工開始操縱搶先交易機器人,同時只為支付額外費用的交易者提供安全通道。

鏈聞注:關于該故事的中文版文章可參見:

https://www.chainnews.com/articles/551492636558.htm

這些機器人與以太坊的其它元素不同,只能活躍在以太坊主網,而智能合約可以在開發環境或測試網中進行測試。除了進行一些初步試驗之外,讓這些機器人嘗試搶先交易測試網中的交易在財務上沒有意義。此外,由于隱藏了邏輯,因此這些機器人的運行規則可能各不相同。

金色相對論丨CyberMiles首席科學家:以太坊2.0是一個PoS的跨鏈生態:在今日舉行的金色相對論中,針對“以太坊目前采用的無狀態以太坊、多客戶端、信標鏈staking、rollup等技術,給各位印象最深刻、認為最有應用價值的是哪一個?”的提問,CyberMiles首席科學家MichaelYuan發言指出:以太坊2.0是一個PoS的跨鏈生態。與其它PoS系統相比,它的重大創新在于它的信標鏈至少要支持上萬個驗證人節點。系統會隨機選擇組合驗證人形成應用子鏈。

以太坊2.0一定要有足夠的人去stake才能成功(標準是32個ETH,現在是早期參與的好機會)。因為驗證人數量一定要很多,才能安全地隨機選擇驗證人驗證子鏈的數據。

盡管都是跨鏈的思路,但是采用大量節點與大量驗證人的,目前只有以太坊一家,Polkadot與Cosmos都不是這種方法。所以以太坊用來管理驗證人的技術是創新的,也應該不會用在其他鏈上。其他的鏈遠遠沒有這個規模。但是隨著開發進度的推進,比如EWASM虛擬機與Solidity智能合約這些技術能夠被其他加密網絡廣泛應用。畢竟縱觀整個區塊鏈世界,應用開發的模式都是按照以太坊思路來的。[2020/6/18]

我們不清楚這些領先交易掠食者決定發起攻擊的條件。因此,在某些方面,追蹤這些掠食者類似于追逐稀有動物。

我們不針對所有領先交易機器人,而只針對特定的,即廣義類型的這種機器人。

我們要確保抓住的搶先交易機器人是「真正的」廣義搶先交易者,需要一個獨特的「陷阱」。陷阱是一個新造的智能合約,以 SHA256 哈希值的秘密字符串發起,并附帶有一些資金。任何人只有給出秘密合約才能提取鎖定的資金。資金將直接發送到提取交易的發送者。

這個陷阱的構想是以提供正確秘密合約的方式發送一個「誘餌」交易,以查看是否有人試圖復制并自己給出秘密合約,從而截胡資金。如果有人在誘餌交易之前截胡資金,則意味著有人在交易池中時能對交易池進行分析,復制其相關內容并自行給出秘密合約。

有意思的是,機器人能夠在一個以前所未有的智能合約中給出一個它們之前毫無所知的秘密合約來截胡資金——它們確實是真正的廣義搶先交易機器人。

該實驗一個不可或缺的部分,是要了解廣義搶先交易機器人的工作機制。但是如果有人打造了一臺賺錢機器,他們是不可能在 Github 上進行分享的。因此,我們只能對掠食機器人的行為進行觀察和反向工程。

報告:區塊鏈開發人員收入低于數據科學家和移動軟件開發人員?:金色財經報道,根據DevQuarterly的最新報告,與開發移動應用程序、網站和定制軟件的開發人員以及數據科學家相比,區塊鏈開發人員的總體收入要低得多。開發區塊鏈技術的開發人員數量也明顯減少,這表明該行業仍處于起步階段。DevQuarterly發現,全球有46.7萬名Web開發人員,每小時收入在61至88美元之間;全球有37.9萬名移動開發人員,每小時收入在57至84美元之間;全球共28.1萬名數據科學家,每小時收入在73美元至103美元之間。同時,全球只有2.94萬名區塊鏈開發人員,他們的收入中位數也最小,平均時薪在46美元至74美元之間。[2020/5/27]

打造廣義搶先交易機器人通常需要兩個組件:

第一個組件是一個以太坊賬戶,有或沒有智能錢包代理,它們篡改的交易將會被發送到這個錢包。

第二個是「后端」,即操作的大腦,通常發生在鏈下。

這些機器人的操作者使用某種技術掃描交易池中的每筆交易,對其進行解析,替換其參數(例如,交易調用方),并判斷對其截胡是否有利潤。

搶先交易機器人工作流

理性的機器人對于交易費用超過可能獲利的交易不會發起截胡攻擊。總計交易費用可能較高,尤其是在 Gas 價格高昂的時候,因此,要想讓搶先交易機器人攻擊我們的誘餌交易,需要一定的最低利潤。

此外,由于機器人需要對交易池中的每筆交易(其中有很多交易)進行分析,因此時間也很重要。以太坊平均需要 12 秒產出一個區塊。如果交易的 Gas 價格足夠高,則必須在下一個區塊產生之前對其進行分析并足夠快地替換掉原交易。

這是一個存在一定概率的過程,在交易被廣播出去后,有可能有一個區塊被立即挖出,導致機器人沒有時間來成功分析該交易并廣播一個搶先交易。

考慮了這些因素以及一些想法,我們測試了搶先交易機器人出手截胡誘餌的條件。

我們的智能合約 (付款方?Giver:https://etherscan.io/address/0x36cb72433fbe10f03988b9d61d6c479a97a2a0b0) 設立時的最初余額為 0.035 ETH,當時價值約 20 美元。任何人向合約中存儲的哈希提供正確的秘密合約,就可以拿走這些資金。拿走這些資金的交易會觸發掠食者的搶先交易動作,另一個賬戶 (接受者 taker) 會試圖給出合適的秘密合約來提取資金。

Penta公鏈首席科學家&聯合創始人Steve Melnikoff:區塊鏈技術在解決大規模系統工程和集成挑戰方向潛力巨大:2018全球無眠區塊鏈領袖峰會暨中國國際區塊鏈產品與設備展上,Penta 公鏈(PNT)首席科學家&聯合創始人Steve Melnikoff博士受邀出席并帶來在中國的首次發聲——“利用區塊鏈技術解決大規模系統工程和集成挑戰”的主題演講。演講中,Steve博士認為區塊鏈在應對規模巨大、范圍巨廣、復雜性巨高、周期巨長的“超級”項目時具有令人難以置信的潛力,大規模的使用也有利于區塊鏈最終落地,并以“美國漢福德核廢料清理計劃”、 “北京大興國際機場建設”以及“NASA火星探索任務和載人探險計劃”三個最具代表性的“超級”項目說明了區塊鏈在數據留存、回溯等方面的能力。他也指出,“對于組織和政府應對國家或全球性大規模挑戰,區塊鏈都是正確的技術,現在也是‘萬能區塊鏈連接器’的最好時機。這與Penta要做區塊鏈世界的連接器,打造下一代普惠、兼容、安全的公鏈的目標一致。”[2018/6/6]

第一輪:直接調用合約

為了確保基準陷阱正常運行,我們首先使用了接收者帳戶來調用合同。第一次嘗試時,Gas 價格相對較高(由以太框架確定),我們能夠成功收回資金。

我們能成功可能是因為截胡這一交易的利潤太低,不足以打動掠食者,或者因為這一交易很快被寫入區塊,機器人沒來得及采取行動。顯然這不是我們期待的結果,我們的目標是引誘掠食者進入我們的陷阱。

第二輪:給掠食者留出思考時間

這一輪中我們解決了先前遇到的問題。我們增加了潛在利潤,并降低了 Gas 價格,因此交易不會太快地被寫入區塊,從而使機器人有時間找到它。該合約的余額增加至 0.04 ETH (余額比以前增加了 0.005 ETH)。

這次我們遭到了攻擊。該筆交易在被寫入區塊前滯留了約 3 分鐘,最終未能從陷阱智能合約中提取到價值。我們審視了合約的內部交易,發現資金被別人截胡。

鏈聞注:該筆交易地址為https://etherscan.io/tx/0x5bfd9294747686cddf8a0be649605ac700bd45363204bbb53dc091f193e0085c

這筆搶先交易 花了 25.000001111 Gwei (比我們使用的 Gwei 數高了 .000001111Gwei) ,與我們的交易被寫入同一區塊,明顯是截胡行動。

智聯招聘首席科學家文鎮:用戶隱私保護可借鑒區塊鏈技術:近日在第二屆世界智能大會上,智聯招聘大數據與算法首席科學家文鎮表示:“用戶的隱私數據應該像金融資產一樣進行保護,并通過加密措施及嚴格的審計制度來預防黑客等角色的攻擊。區塊鏈技術給了我們很好的啟示,個人數據的處理過程和對應產生的價值也可以通過分布式、可信的方式記錄下來,并沿著這個思路把整個數據產生價值的流程透明化、規范化。”[2018/5/22]

鏈聞注:該筆搶先交易地址為https://etherscan.io/tx/0x5b8221dea090c630e056e7160f065a590138eea8680c634c9134b2c37c7c394a

植入追蹤器

既然我們的陷阱已經成功地俘獲了一個機器人(我們也付出了一定的代價),我們可以提煉出一些有趣的洞察。

首先,交易顯示未直接執行對智能合約的調用。該機器人不是復制了交易并從其擁有的帳戶中盲目發送,而是還通過代理智能合約傳遞了該交易,其代理智能合約充當了執行這些交易的智能錢包。

我們現在可以追蹤之前和未來的交易,仔細看一下這個機器人到底有多大神通,以及其如何運行。

這個機器人使用其自有的代理合約

反向編譯 (https://etherscan.io/bytecode-decompiler?a=0xc798d5ed657adef1ca7bc6090c590319dffe8979)該合約,顯示了兩個主要函數:

「Withdraw」主要是將該合約中的所有資金發送給機器人的運營者。另一個函數接受部分參數:要調用的合約,參數清單并傳遞價值參數。

有了這個函數,這個代理合約扮演了機器人運營者的智能錢包。除了能執行調用外部函數的功能外,它還可以確保交易開始時的余額至少等于結束時的余額,否則可以還原交易,從而避免在調用未知合約時可能造成的資金損失(當然不包括 Gas)。

利用 Dune Analytics 工具,我們可以看到這個機器人自 2018 年 5 月開始運營以來收獲頗豐。

假設這個機器人一直使用同一個智能代理和收款地址來發起搶先交易,我們可以估計其共賺到了約 17 ETH。

該機器人不同時間段賺到的資金 (以 ETH 為單位)

第三輪:這些機器人有多智能?

既然我們已經確信這個機器人程序是主動對我們發起攻擊,那么我們想測試是否可以通過第二個合約(代理合約)混淆我們對合約的調用,從而從合約中成功提取誘餌資金,該代理將調用一個函數來從誘餌合約(giver)中提取誘餌資金。(該合約還具有「收款」函數,可將資金退還給我們)。

我們部署了 ProxyTaker 合約,調用適當的函數,試圖提取資金。由于通過代理的行動的成本比之前略高一些, giver 合約的余額又上調至 0.055 ETH。結果是我們的交易立刻被另一個機器人搶先交易 。

鏈聞注:

ProxyTaker?合約地址為?https://etherscan.io/address/0x68b1b608034e9f4d34e777e1529bc157e17f60c8

調用地址為https://etherscan.io/tx/0xf4b8b57a6e61e97b954da6f9c6b66494aa764bdf0b3a4643e3beb8b276fd7b07

機器人搶先交易地址為https://etherscan.io/tx/0x8b358f45f28d27eb4910bd3a244527399c627c6066c70efc1c3fcb6ffc8517da

這一次機器人的手法更令人嘆為觀止。該機器人不僅能偵測出我們的提取交易,而且能從一個完全不同智能合約的內部調用中識別該交易!而且這一切是以創紀錄的短暫時間內完成,我們的提取交易是在幾秒后就被寫入新區塊,掠食者的搶先交易也是。

該機器人的身份也很有意思。該機器人的智能合約(https://etherscan.io/address/0xea4df374e6b7b3772bb5f98cea1a22606a9eb54c)主要是被這一賬戶(https://etherscan.io/address/0x052ede4c2a04670be329db369c4563283391a3ea)運營。該賬戶在 Etherescan 發表過一條評論,當時那條主貼是白帽討論從一個有漏洞的 Bancor 智能合約拯救資金的內容。

運營者賬戶中的信息 (來源 : etherscan)

考慮到該機器人的相同行為特征(利用賬戶 A 調用代理,將資金轉至賬戶 B) ,以及與上述交易的臨近特征,有理由懷疑這個機器人在上述事件中也對白帽的資金拯救行動進行過(https://etherscan.io/tx/0x43f5612bacb17117f538e7a08822f9f7956d82755d5b7b406bfffcea588f5ebe)廣義搶先交易。

這個機器人比我們之前遇到的那個要智能很多。它不僅瞄準 ETH 交易,還進行各種套利交易。

單從其賬戶余額來判斷,其收獲成果也要高出很多。目前該賬戶中余額約有 300 ETH (時價 18 萬美元)。我們還可以從合約地址中算一下所有流入和流出的資金,以估算其收益,其總額約為 900 ETH。

這只是一個粗略的估計,因為該帳戶可能進行過與其搶先交易活動無關的交易。這里是該機器人所有盈利的交易列表:

https://www.duneanalytics.com/queries/14863

為了讓挑戰更刺激,我們進行了更模糊的嘗試,這一次使用了僅我們能夠使用的代理合約 OwnedTaker。

這個陷阱與第三輪非常類似。Giver 合約余額為 0.05 ETH。同一筆交易中還包括了將資金返還我們的交易,而不是留在合約中。

第一次嘗試中,資金支付給 OwnedTaker 合約的該交易(https://etherscan.io/tx/0xce539b25b05e106c2f4ff0f6f76158efe436f1d8c9568048d4dcd1c016a6fef0)

花了約 1 分鐘寫入區塊,我們最終收回了資金。

我們隨之重復了這一實驗,這次 giver 合約余額提高至 0.06 ETH,迄今我們使用的最高一次余額,確保不會因為價值太低讓搶先交易機器人覺得不值得出手。

Gas 價值也被蓄意設在較低的值。該交易

(https://etherscan.io/tx/0x0eb7efff8e6386b13e8ebb7453689412cd2e23f844f70e18acb97209eb07d276)

滯留了約 7 分鐘,但我們依然成功提取了資金。

加入只能由合約主人轉發交易的 Owned 代理合約,在兩次交易中使得上述兩個已知的領先交易機器人無法成功解析數據并截胡。

成功提款

也許是只允許合同主人執行調用的要求,或者資金被發送到與調用合約不同的目標地址這一事實,能幫助避免機器人的搶先交易嘗試。

機器人很可能被調教為首先考慮自我保護。畢竟它們正在調用未知合約,該合約可能執行任意代碼。可以合理地假設:如果不能保證利潤,它們將避免不必要的風險或交易費損失。

具體取決于您如何看待它。我們使用了新合約,但只有我們知道一個這個秘密合約。很明顯,我們發現的兩個領先交易機器人都是在交易池中進行所有交易,并且從它們的利潤來看,它們干的很不錯。

我們為什么在最后的嘗試中避免了被搶先交易的厄運呢?

具體原因很難判斷。可能是機器人不愿冒與經過身份驗證的合同進行通信的風險,或者資金被轉移到另一個地址這一事實是出乎其意料。

這絕對不意味著這是避免被領先交易的完全可行的方法。最有可能的是,在以太坊交易池中潛伏著更復雜的機器人,它們只是根本不愿意冒險冒險獲得這么小的利潤。

在這一簡短的實驗中,我們能夠展示廣義搶先交易機器人的存在,以及其智能程度之高。

當然,我們很清楚我們的實驗既不完整也不確定。還存在許多其他的機器人,它們的觸發機制和運營方式截然不同,諸如潛在盈利、通信特征和最低復雜度(例如,通過 gasLimit)等因素可能會影響其運營方式。

不過我們確信我們的工作提供了一種概念驗證,讓人們進一步弄清這些廣義搶先交易機器人的作案手法。

目前令人震驚的現實是,如果存在任何人都可以調用智能合約而獲利的交易,即使它非常晦澀難懂,現實是很有可能被某個搶先交易機器人捷足先登掠走資金。

因此了解這些機器人及其運行方式至關重要,這樣我們才能在現在和將來構建更安全的系統。諸如 Flashbots 之類的項目試圖通過讓 MEV 提取民主化并使其成為公共資源來做到這一點。我們希望這項研究有助于實現這一目標。

感謝 Tal Be’ery、Omer Shlomovitz、Oded Leiba、Dan Robinson 以及其他幫助審閱本文的各位。

鏈聞注:文中作者所用相關合約代碼可在原文附錄查看:

https://medium.com/zengo/ethology-a-safari-tour-in-ethereums-dark-forest-677566d7c575

撰文:Alex Manuskin,加密貨幣錢包 Zengo 區塊鏈研究員,作者授權鏈聞發表該文章的中文版本

編譯:Perry Wang

Tags:ETH以太坊區塊鏈TPSethw幣價格rly幣為什么要關閉以太坊側鏈區塊鏈存證https://etherscan.io

狗狗幣價格
BAS:彈性金融是龐氏還是創新?了解彈性代幣的評估框架和可能用例

「彈性金融」(Elastic Finance,EeFi)帶來了令人興奮的貨幣和技術創新,加密貨幣市場中很多年從未見過的創新.

1900/1/1 0:00:00
區塊鏈:深度解讀OCC解釋函:?美國銀行界全面進入基于區塊鏈的數字貨幣

2021年1月4號,美國貨幣監理署(Office of the Comptroller of the Currency, OCC)發了一份解釋函(見后附譯文).

1900/1/1 0:00:00
區塊鏈:金色說明書 | Channels開啟流動性挖礦

DeFi流動性挖礦火爆一時,吸引了大量投資者參與。為了方便投資者及時了解DeFi挖礦項目的相關信息和挖礦流程,金色財經推出了“金色說明書”系列挖礦教程。本期由金色財經和Channels聯合推出.

1900/1/1 0:00:00
NFT:NFT會是下一個風口嗎?

編者語:20年前,如何向其他人證明你確實擁有一張極為罕見的青眼白龍是每一個游戲王玩家的痛,而現在,你有了NFT.

1900/1/1 0:00:00
BTC:金色觀察 | BTC價格漲到多少什么時候可以賣出?來聽聽投資大咖怎么看

BTC價格漲到多少什么時候可以賣出?來聽聽投資大咖怎么看如果你想拋售BTC,你需要記注:沒有人知道什么時候價格會到達最高點。那些畫走勢圖的人通常也沒有依據,不要相信他們.

1900/1/1 0:00:00
以太坊:以太坊經典如何在未來十年內飆升超過7000美元?

在過去的十個月里,以太坊經典(ETC)的交易價格在4到8美元之間。在本文中,Etherplan提出了最新的論點,即為什么ETC在未來十年內將突破7,000美元:1.很少有系統能贏得區塊鏈格式之戰.

1900/1/1 0:00:00
ads