本文于2020年12月29日發于加密貨幣錢包?Zengo博客,作者為AlexManuskin,并經鏈聞編譯。
黑暗森林中的怪物可不是茶余飯后的玩笑。這些搶先交易的機器人能分析智能合約指令和它們之前從未在智能合約中用過的函數,以提取潛在收益。
要更好的了解這些機器人,本文提供了一次探尋以太坊黑暗森林的漫游之旅。讓我們進一步深入該黑暗森林中,了解它們有多么猖獗。
我們設法「利用陷阱」,捕獲了一些常見類型的搶先交易機器人,并對其行為進行了分析。
在這場漫游之旅中,我們研究了這些搶先機器人的效率,研究了各種交易被它們追獵的可能性。當然,我們還測試了不同的逃避他們的方法。
以下,enjoy。
什么是搶先交易?
一般來講,搶先交易是指在已知的未來交易發生之前,在執行隊列中插隊兌現交易的行為。
搶先交易的一個簡單示例是交易所出價。假設某人即將在Uniswap上購買大量ETH,足以推動ETH價格上漲。從這種情境中受益的一種方法是在這筆大量買進ETH之前的瞬間搶先買入ETH,此時價格仍然較低。然后,在ETH價格飆升之后,立即賣出以鎖定利潤。
除了這種套利交易實例,還存在很多利用搶先交易攫取價值的途徑,包括清算、購買罕見的NFT,或者僅僅是制造用戶錯誤。
以太坊中的搶先交易可以通過支付略高于正常水平的gas價格即可實現,通過這種方式,可以鼓勵礦工在構建區塊時將其交易排列在優先順序。交易支付的手續費用越高,執行的順序越靠前。因此,如果兩筆交易都會從同一個區塊中的同一個調用智能合約的指令中獲利,只有先成交的那筆交易會最終獲利。
聲音 | 數字認證首席科學家:電子認證可提升區塊鏈的安全性和合規性:2019(第二屆)中國金融科技產業峰會近日在京召開。北京數字認證股份有限公司首席科學家夏魯寧在研討會上表示,電子認證與區塊鏈融合的價值主要體現在電子認證能提升區塊鏈的安全性,這基于兩點依據:其一,電子認證技術體系相對成熟。作為權威第三方的電子認證服務機構基于完善的PKI數字簽名和時間戳技術,建立了一整套管理體系,并早已發展成為一個成熟的行業,能夠為網絡主體身份和電子簽名的真實性和可靠性提供證明。其二,在網絡主體與物理世界法律主體映射方面具有天然優勢。當今物理世界的中心化治理體制還將長期存在,電子認證更能契合涉及法律責任和權益的應用場景。而區塊鏈去中心化與物理世界現有中心化治理體制的沖突在當前的應用中還是需要突破的關鍵。夏魯寧表示,電子認證對于提升區塊鏈合規性的意義,在于區塊鏈技術短期內還難以替代電子認證的法律地位。到目前為止,從技術上來講,只有基于公鑰密碼技術的數字簽名能夠滿足《電子簽名法》要求的安全可靠電子簽名能力,這種法律效力也是電子認證在區塊鏈中的價值體現。(新浪財經)[2019/12/23]
動物行為學
DanRobinson和GeorgiosKonstantopoulos在聯手撰寫的「以太坊是一片黑暗森林」博客文章中描述了在一次試圖拯救以太坊一個智能合約中價值12,000美元代幣的行動中,遭到套利機器人截胡的經歷。這些超級掠食者機器人非常先進,能追蹤到以太坊交易池中任何有價值的交易,通過搶先交易的手段截胡。
黑暗森林的故事令人「毛骨悚然」,以至于剛讀到文章時簡直無法相信。實際上,確實有理由質疑此類超級掠食者機器人的存在。為什么有人能從Uniswap協議中搞走資金呢?這個平臺可是被無數機器人虎視眈眈地監視著?這些機器人是不是也就是一群普通的「套利者」而已?
動態 | Bitcoin Unlimited首席科學家鼓勵用戶投票使BTU正式放棄對BSV的支持:5月6日,Bitcoin Unlimited首席科學家Peter Rizun發推表示,Bitcoin Unlimited對BSV提供支持的相關投票已經開始,并鼓勵用戶投票使Bitcoin Unlimited正式放棄對BSV的支持。這次投票涉及到兩個更新提案,BUIP113和BUIP114,分別是提議Bitcoin Unlimited正式增加對BSV的支持,及放棄對BSV的支持。截至發稿,BUIP113的接受拒絕比為5/13,BUIP114的接受拒絕比為14/5。[2019/5/7]
今年稍早,我們發表過分析文章證實它們可不是普通的「套利機器人」。據我們所知,它們能設法調用以前從未調用過的智能合約函數。就算是通過代理智能合約對交易進行了模糊處理,但這些機器人依然可以通過此類操作掠走資金。
至少可以這樣說,這令人震驚。能監視交易池中任何交易的能力是一種威力無窮的武器。令人不安的是,一些服務商開始公開提供「暗池」交易層。
「暗池」交易層無需使用諸如?Infura?之類的服務,甚至不使用私有節點,直接將交易發送給礦工,礦工承諾不會將其廣播到網絡中的其余節點,從而確保交易躲過掠食者的雷達。
著名白帽?samczun?曾聯合多位伙伴,從一個出現漏洞的智能合約中拯救出?960萬美元的行動中采用了類似的方法。不難想象,會有礦工開始操縱搶先交易機器人,同時只為支付額外費用的交易者提供安全通道。
這些機器人與以太坊的其它元素不同,只能活躍在以太坊主網,而智能合約可以在開發環境或測試網中進行測試。除了進行一些初步試驗之外,讓這些機器人嘗試搶先交易測試網中的交易在財務上沒有意義。此外,由于隱藏了邏輯,因此這些機器人的運行規則可能各不相同。
聲音 | 科學家白碩:可建立國家級公鏈形成激勵且合法的區塊鏈:在2018杭州比原鏈全球開發者大會上,世界區塊鏈組織首席科學家白碩表示,鏈改是要改成一個有可以激發活力,增進信任,改善治理的正面循環機制。比之無幣區塊鏈,更重要的是建立一個激勵又合法的區塊鏈。區塊鏈的治理政策現在出來了,可以推算出,包括建立國家級的安全基礎設施和國家級的供應鏈、國家級的跨鏈監管。于是,可能會有這樣的一些做法和機會,包括怎么建立可擦除的存證,又能擦除信息,同時又可以用哈希建立塊間的聯系;跨鏈的機會,把可治理的鏈和不可治理的鏈通過一種跨鏈的方式進行交互;建設中國國家級公鏈,這個鏈是可以有效治理的,同時和其他的鏈有效對接。[2018/11/18]
我們不清楚這些領先交易掠食者決定發起攻擊的條件。因此,在某些方面,追蹤這些掠食者類似于追逐稀有動物。
我們不針對所有領先交易機器人,而只針對特定的,即廣義類型的這種機器人。
我們要確保抓住的搶先交易機器人是「真正的」廣義搶先交易者,需要一個獨特的「陷阱」。陷阱是一個新造的智能合約,以SHA256哈希值的秘密字符串發起,并附帶有一些資金。任何人只有給出秘密合約才能提取鎖定的資金。資金將直接發送到提取交易的發送者。
這個陷阱的構想是以提供正確秘密合約的方式發送一個「誘餌」交易,以查看是否有人試圖復制并自己給出秘密合約,從而截胡資金。如果有人在誘餌交易之前截胡資金,則意味著有人在交易池中時能對交易池進行分析,復制其相關內容并自行給出秘密合約。
有意思的是,機器人能夠在一個以前所未有的智能合約中給出一個它們之前毫無所知的秘密合約來截胡資金——它們確實是真正的廣義搶先交易機器人。
廣義搶先交易機器人的工作機制
動態 | MATRIX首席AI科學家鄧仰東教授受邀出席亞洲區塊鏈峰會:MATRIX首席AI科學家鄧仰東教授作為特約嘉賓受邀參加Crypto EXPO ASIA亞洲區塊鏈峰會,地點位于新加坡,會議圍繞“區塊鏈市場下一個規模發展的拐點”主題探討區塊鏈資本市場寒冬之下的機會。鄧教授以MATRIX為例在會上發表題為“人工智能為區塊鏈帶來的變革”演講。鄧教授現是清華大學軟件學院人工智能方向教授,作為首席科學家全面負責MATRIX人工智能版塊設計。[2018/10/28]
該實驗一個不可或缺的部分,是要了解廣義搶先交易機器人的工作機制。但是如果有人打造了一臺賺錢機器,他們是不可能在Github上進行分享的。因此,我們只能對掠食機器人的行為進行觀察和反向工程。
打造廣義搶先交易機器人通常需要兩個組件:
第一個組件是一個以太坊賬戶,有或沒有智能錢包代理,它們篡改的交易將會被發送到這個錢包。
第二個是「后端」,即操作的大腦,通常發生在鏈下。
這些機器人的操作者使用某種技術掃描交易池中的每筆交易,對其進行解析,替換其參數,并判斷對其截胡是否有利潤。
搶先交易機器人工作流
理性的機器人對于交易費用超過可能獲利的交易不會發起截胡攻擊。總計交易費用可能較高,尤其是在Gas價格高昂的時候,因此,要想讓搶先交易機器人攻擊我們的誘餌交易,需要一定的最低利潤。
此外,由于機器人需要對交易池中的每筆交易進行分析,因此時間也很重要。以太坊平均需要12秒產出一個區塊。如果交易的Gas價格足夠高,則必須在下一個區塊產生之前對其進行分析并足夠快地替換掉原交易。
這是一個存在一定概率的過程,在交易被廣播出去后,有可能有一個區塊被立即挖出,導致機器人沒有時間來成功分析該交易并廣播一個搶先交易。
聲音 | NChain首席科學家:比特幣不允許任何腐敗存在:NChain首席科學家Craig Wright在推特上發文稱,在比特幣世界里沒有中心化的存在,工作證明是才是自由。政府將不喜歡比特幣, 因為政府是半透明的,它提供的是隱私的數據庫。比特幣才是匿名的、私人的, 不允許任何的地方存在腐敗。[2018/8/31]
考慮了這些因素以及一些想法,我們測試了搶先交易機器人出手截胡誘餌的條件。
設陷阱
我們的智能合約(付款方Giver)設立時的最初余額為?0.035ETH,當時價值約20美元。任何人向合約中存儲的哈希提供正確的秘密合約,就可以拿走這些資金。拿走這些資金的交易會觸發掠食者的搶先交易動作,另一個賬戶(接受者taker)會試圖給出合適的秘密合約來提取資金。
第一輪:直接調用合約
為了確保基準陷阱正常運行,我們首先使用了接收者帳戶來調用合同。第一次嘗試時,Gas價格相對較高,我們能夠成功收回資金。
我們能成功可能是因為截胡這一交易的利潤太低,不足以打動掠食者,或者因為這一交易很快被寫入區塊,機器人沒來得及采取行動。顯然這不是我們期待的結果,我們的目標是引誘掠食者進入我們的陷阱。
第二輪:給掠食者留出思考時間
這一輪中我們解決了先前遇到的問題。我們增加了潛在利潤,并降低了Gas價格,因此交易不會太快地被寫入區塊,從而使機器人有時間找到它。該合約的余額增加至0.04ETH。
這次我們遭到了攻擊。該筆交易在被寫入區塊前滯留了約3分鐘,最終未能從陷阱智能合約中提取到價值。我們審視了合約的內部交易,發現資金被別人截胡。
這筆搶先交易花了25.000001111Gwei(比我們使用的Gwei數高了.000001111Gwei),與我們的交易被寫入同一區塊,明顯是截胡行動。
植入追蹤器
既然我們的陷阱已經成功地俘獲了一個機器人,我們可以提煉出一些有趣的洞察。
首先,交易顯示未直接執行對智能合約的調用。該機器人不是復制了交易并從其擁有的帳戶中盲目發送,而是還通過代理智能合約傳遞了該交易,其代理智能合約充當了執行這些交易的智能錢包。
我們現在可以追蹤之前和未來的交易,仔細看一下這個機器人到底有多大神通,以及其如何運行。
這個機器人使用其自有的代理合約
反向編譯該合約,顯示了兩個主要函數:
「Withdraw」主要是將該合約中的所有資金發送給機器人的運營者。另一個函數接受部分參數:要調用的合約,參數清單并傳遞價值參數。
有了這個函數,這個代理合約扮演了機器人運營者的智能錢包。除了能執行調用外部函數的功能外,它還可以確保交易開始時的余額至少等于結束時的余額,否則可以還原交易,從而避免在調用未知合約時可能造成的資金損失。
利用DuneAnalytics工具,我們可以看到這個機器人自?2018?年5月開始運營以來收獲頗豐。
假設這個機器人一直使用同一個智能代理和收款地址來發起搶先交易,我們可以估計其共賺到了約?17ETH。
該機器人不同時間段賺到的資金(以ETH為單位)
第三輪:這些機器人有多智能?
既然我們已經確信這個機器人程序是主動對我們發起攻擊,那么我們想測試是否可以通過第二個合約混淆我們對合約的調用,從而從合約中成功提取誘餌資金,該代理將調用一個函數來從誘餌合約中提取誘餌資金。。
我們部署了?ProxyTaker?合約,調用適當的函數,試圖提取資金。由于通過代理的行動的成本比之前略高一些,giver合約的余額又上調至0.055ETH。結果是我們的交易立刻被另一個機器人搶先交易。
這一次機器人的手法更令人嘆為觀止。該機器人不僅能偵測出我們的提取交易,而且能從一個完全不同智能合約的內部調用中識別該交易!而且這一切是以創紀錄的短暫時間內完成,我們的提取交易是在幾秒后就被寫入新區塊,掠食者的搶先交易也是。
該機器人的身份也很有意思。該機器人的智能合約主要是被這一賬戶運營。該賬戶在Etherescan發表過一條評論,當時那條主貼是白帽討論從一個有漏洞的?Bancor?智能合約拯救資金的內容。
運營者賬戶中的信息(來源:etherscan)
考慮到該機器人的相同行為特征,以及與上述交易的臨近特征,有理由懷疑這個機器人在上述事件中也對白帽的資金拯救行動?進行?過廣義搶先交易。
這個機器人比我們之前遇到的那個要智能很多。它不僅瞄準ETH交易,還進行各種套利交易。
單從其賬戶余額來判斷,其收獲成果也要高出很多。目前該賬戶中余額約有300ETH(時價18萬美元)。我們還可以從合約地址中算一下所有流入和流出的資金,以估算其收益,其總額約為?900ETH。
這只是一個粗略的估計,因為該帳戶可能進行過與其搶先交易活動無關的交易。這里?是該機器人所有盈利的交易列表。
為了讓挑戰更刺激,我們進行了更模糊的嘗試,這一次使用了僅我們能夠使用的代理合約?OwnedTaker。
這個陷阱與第三輪非常類似。Giver合約余額為0.05ETH。同一筆交易中還包括了將資金返還我們的交易,而不是留在合約中。
第一次嘗試中,資金支付給OwnedTaker合約的該?交易?花了約1分鐘寫入區塊,我們最終收回了資金。
我們隨之重復了這一實驗,這次giver合約余額提高至?0.06ETH,迄今我們使用的最高一次余額,確保不會因為價值太低讓搶先交易機器人覺得不值得出手。
Gas價值也被蓄意設在較低的值。該交易滯留了約7分鐘,但我們依然成功提取了資金。
加入只能由合約主人轉發交易的Owned代理合約,在兩次交易中使得上述兩個已知的領先交易機器人無法成功解析數據并截胡。
成功提款
也許是只允許合同主人執行調用的要求,或者資金被發送到與調用合約不同的目標地址這一事實,能幫助避免機器人的搶先交易嘗試。
機器人很可能被調教為首先考慮自我保護。畢竟它們正在調用未知合約,該合約可能執行任意代碼。可以合理地假設:如果不能保證利潤,它們將避免不必要的風險或交易費損失。
具體取決于您如何看待它。我們使用了新合約,但只有我們知道一個這個秘密合約。很明顯,我們發現的兩個領先交易機器人都是在交易池中進行所有交易,并且從它們的利潤來看,它們干的很不錯。
我們為什么在最后的嘗試中避免了被搶先交易的厄運呢?
具體原因很難判斷。可能是機器人不愿冒與經過身份驗證的合同進行通信的風險,或者資金被轉移到另一個地址這一事實是出乎其意料。
這絕對不意味著這是避免被領先交易的完全可行的方法。最有可能的是,在以太坊交易池中潛伏著更復雜的機器人,它們只是根本不愿意冒險冒險獲得這么小的利潤。
在這一簡短的實驗中,我們能夠展示廣義搶先交易機器人的存在,以及其智能程度之高。
當然,我們很清楚我們的實驗既不完整也不確定。還存在許多其他的機器人,它們的觸發機制和運營方式截然不同,諸如潛在盈利、通信特征和最低復雜度等因素可能會影響其運營方式。
不過我們確信我們的工作提供了一種概念驗證,讓人們進一步弄清這些廣義搶先交易機器人的作案手法。
目前令人震驚的現實是,如果存在任何人都可以調用智能合約而獲利的交易,即使它非常晦澀難懂,現實是很有可能被某個搶先交易機器人捷足先登掠走資金。
因此了解這些機器人及其運行方式至關重要,這樣我們才能在現在和將來構建更安全的系統。諸如?Flashbots?之類的項目試圖通過讓MEV提取民主化并使其成為公共資源來做到這一點。我們希望這項研究有助于實現這一目標。
鏈捕手消息,去中心化共享經濟協議OriginProtocol宣布開始接受用戶索賠,索賠對象為因去年11月份攻擊事件引發損失的700多名beta用戶,索賠截至日期為2021年4月20日.
1900/1/1 0:00:00本文于2019年10月21日首發于區塊律動公眾號,作者FYJ。「除了比特幣,我們一無所有。」在區塊鏈誕生的第十個年頭,這是許多人的真實想法.
1900/1/1 0:00:00鏈捕手消息,據《南華早報》報道,中國香港擬議的虛擬資產服務提供者發牌制度或于年內提交香港立法會.
1900/1/1 0:00:00據Trustnodes報道,根據區塊鏈項目Overline于12月12日提供的新聞稿,小唐納德·特朗普及其女友吉爾福伊爾“召集了一群領先的記者,公眾人物和資本合作伙伴”.
1900/1/1 0:00:00本文發于金色財經,作者為A16z加密貨幣協議應由持幣者組成的去中心化社區來管理。不是因為這種方式的效率更高,或者是出于更重要的理念原因,而是核心價值的實現:底層協議將繼續按照原先的設計運行,對想.
1900/1/1 0:00:00本文系鏈捕手原創文章,作者谷昱。DEX是DeFi生態最重要的組成部分之一,AMM類DEX去年迎來爆發式增長,但幾乎所有AMM項目都只能訪問自己資金池中的流動性,而不能訪問中央訂單簿,并使用限價單.
1900/1/1 0:00:00