之前看過幾篇關于以太坊黑暗森林的文章,對其中的黑暗、扭曲深感震撼。于是花了幾天時間寫了自己的機器人,深入體驗了其間的險惡。
概述
什么是以太坊的黑暗森林?它是指以太坊上鮮為人知、卻廣泛存在的一種不公平的、暗黑的機制--Mempool的打包機制的特權使用。一般而言,礦工按照交易給予的礦工費高低來進行排序打包。這些交易的排序先后對于單個轉賬交易并無影響,然后涉及到DeFi交易,情況就不一樣了。
在DeFi中,交易被打包的順序深刻影響著其經濟利益。例如,在Uniswap中,同樣兩個針對某交易對的買單,先被執行的交易將獲得更多代幣。如果你總是在一筆買單前買入同樣的代幣,然后又緊隨其后賣出,則將「毫無風險」地獲利。這也被稱為提前交易。
細節
為什么提前交易可以獲利?以Uniswap為例,其價格模型是x*y=常量。例如初始x=100,y=100,那么常量=10000。那么當:
山西深入推進跨境金融區塊鏈服務平臺應用:國家外匯管理局山西省分局深入推進跨境金融區塊鏈服務平臺應用,為中小微外貿企業跨境結算與融資擴渠道、增便利。目前,山西省已有17家銀行加入該平臺,為16家企業辦理融資業務116筆,累計放款7.67億美元。(中國新聞網)[2020/5/3]
用戶A用10個x買入y。此時x=110,y=90.9,用戶A獲得9.1y。
用戶B用10個x買入y。此時x=120,y=83.33,用戶B獲得7.57y。
用戶A賣出所有y。此時x=108.18,y=92.43,用戶A獲得11.82x。
以上例子可以看出,用戶A通過提前交易,發出兩個交易,一前一后包裹用戶B交易,則可以「毫無風險」地獲利。這里打上雙引號是因為需要假設沒有其他同樣策略的用戶A出現。在真實的市場環境中,用戶B是一個真實的用戶,而用戶A則是一個機器人。
聲音 | 河北辛集副市長:大力推進“區塊鏈+智能制造”的深入融合:12月27日,河北省鋼鐵行業“區塊鏈+智能制造”主題峰會在石家莊辛集市舉行,峰會由河北省冶金行業協會、中國電信河北分公司、長城新媒體集團主辦。辛集市副市長牛軍波表示,冶金行業的發展對于辛集市的經濟建設起到舉足輕重的作用,目前鋼鐵行業的自動化、信息化的發展已具有良好的基礎。大力推進“區塊鏈+智能制造”的深入融合,可以為鋼鐵行業帶來全面的提升,在提高企業競爭力、打造優質產品方面提供有力支持。(長城網)[2019/12/27]
以Uniswap為例,當前市場上充斥著大量的提前交易機器人。這些機器人時刻監控著出現在以太坊mempool中的用戶交易。如果用戶是大額買入某幣,那么它們立刻發出兩筆交易,一筆是搶在用戶之前買入該幣,另一筆在用戶之后賣出該幣。
這種提前交易機器人,不同于兩個DEX間進行搬磚套利的機器人,它們是傷害用戶利益的。在上面的列子中,用戶B本可以獲得9.1y,因為機器人A的存在,卻只獲得了7.57y,從而白白損失了1.53y。
聲音 | 科藍軟件:公司與螞蟻金服在區塊鏈方面有廣泛深入合作:科藍軟件(SZ300663)在互動平臺表示,公司與螞蟻金服在互聯網銀行的前臺、中臺、后臺產品和項目以及區塊鏈方面已經有廣泛深入的合作,雙方是戰略層面的合作,并且還在繼續深化以及向其他領域擴展,具體請參考公司相關公告。[2019/11/20]
例子
這種機器人就如同站在公路上,光天化日進行打劫的強盜。下面我們來看一個例子:
用戶在區塊11331736上買入100ETH的YFL:
https://cn.etherscan.com/tx/0x4b7e5c9e25d0e4b0a0f87b68bde10b7b988bc6d7f83f7dd1fa1dd1b044a931c8
在它前后出現了好幾對打劫該用戶的機器人,舉出其中具有代表性的兩對來講解。機器人A以超高的礦工費搶在用戶之前買入95ETH:
動態 | 2019年7月國內一級市場區塊鏈融資10強發布 區塊鏈行業的發展不斷向產業端深入:據中國金融信息網報道,8月8日,中國金融信息網與烯牛數據聯合發布2019年7月份國內一級市場區塊鏈項目融資10強榜單。從榜單來看,在整體融資大幅下滑的趨勢下,2019年7月份國內區塊鏈項目融資數量出現回升。監測數據顯示,數字貨幣和交易平臺類融資項目明顯增多,天秤幣白皮書的發布在一定程度上提振了市場預期,但是此類項目將面臨與天秤幣的直接競爭,其商業邏輯未來或將受到天秤幣嚴酷打壓。與實體經濟結合的項目依然占據著榜單的主流,分別涉及金融、大數據、交通運輸、電商、傳媒、產權、房地產和游戲領域。從連續發布的榜單來看,區塊鏈行業的發展不斷向產業端深入,應用端的開發落地越來越具體,與實體經濟結合發展的想象空間逐漸立體化。從技術角度來看,加密、數據庫、共識、P2P和智能合約的發展日益成熟,區塊鏈作為集成性創新技術的發揮邊界正在逐步拓展。[2019/8/8]
https://cn.etherscan.com/tx/0x97ab6f31785068a84c47a39e55b2ee391ee6cac2f4c82dbb0ab34f0c5b71c5b9
政策 | 人民銀行副行長范一飛:要深入推進央行數字貨幣研發:據中國人民銀行消息,人民銀行黨委委員、副行長范一飛強調,要加大改革創新力度,深入推進央行數字貨幣研發,進一步完善紀念幣發行機制,探索多元化發行基金倉儲模式,推動鈔票處理業務轉型。四是著力維護現金流通秩序,繼續推動大額現金管理先行先試,建立整治拒收現金長效機制,健全現金機具管理機制,進一步推進反假貨幣工作重心前移,加強虛擬貨幣監測監管。[2019/2/22]
隨后,機器人A以和用戶同樣的GasPrice在用戶交易后賣出,獲得99.24ETH,去除礦工費,該筆打劫,讓機器人A獲利2ETH以上:
https://cn.etherscan.com/tx/0x9e5d8a1a179867a4dbca23bd5c7fa6c8db6dd0817165ec3c3474493d69bf6a5c
在該用戶交易身后,還出現了DEX間搬磚套利的機器人B。它從Balancer中買入YFL,并且在Uniswap中賣出YFL,獲利1ETH左右:
https://cn.etherscan.com/tx/0x81528f2b5d0cbb217c73e1f60bbd8edda6536a8efc85cd0a9466496d4aa999c0
機器人B雖然獲利,但并未對用戶造成利益損失。但是機器人A則不然,機器人A所花費的巨額礦工費,以及其盈利部分,共計4.2ETH,都將由用戶買單。該例子中用戶,在什么都沒有干的情況下,已經損失4.2ETH!
這個例子并非個例,而是幾乎每個以太坊區塊都能找的、普遍存在的例子。當前,以太坊的DeFi用戶正在遭受嚴重的利益損害,而絕大部分人渾然不知!
深入
從技術上實現機器人A或B均不難。那么以太坊豈不成為一個強盜肆意打劫之地?有沒有什么可以制約機器人的手段?
答案是:有,其它機器人。機器人之間也有不同的策略,也分不同的級別。如果你去認真分析現在的以太坊交易,不但普通用戶遭受機器人的打劫,較弱的機器人也會受到較強的機器人的打劫。
另外一個制約機器人的點是用戶交易失敗。所謂交易失敗,是指用戶的交易執行時,因為超過用戶設置的滑點,而導致交易無法完成的情況。在上面的例子中,如果用戶交易失敗,那么機器人將無利可圖,不但如此,它們還要損失掉礦工費,和交易手續費。
而非常諷刺是,讓機器人最為害怕的用戶交易失敗,卻是由機器人自己造成的。當你在瀏覽器中看到某個交易有這樣的報錯,它大多是因為機器人的打劫:
https://cn.etherscan.com/tx/0xbc236137de0d6a9f82c04039b1c534b9d76789a8a4bda0f3546c87f9e509f016
普通用戶害怕機器人,小機器人害怕大機器人。然而大機器人并不是終結。這里食物鏈的頂端不是別人,正式大家熟悉的:礦工。
礦工
交易的排序決定了利潤的分配,而對交易排序有決定權的則是礦工。礦工加入到這場收割的游戲徹底改變機器人的格局。
在遵循GasPrice高低排序的規則下,礦工可以對同樣GasPrice的交易任意調配順序。礦工也可以在不廣播交易的情況下,直接將某個交易打包進區塊。在這個游戲中,普通用戶是閉眼玩家,套利機器人是睜眼玩家,而礦工則是上帝視角。
擁有上帝視角的礦工一旦加入游戲,其結果可想而知。礦工的機器人將驅逐非礦工機器人。而這些礦工將成為以太坊上最大的黑暗勢力,利用它們的權力,對用戶進行肆意地收割!
解決
以太坊的打包機制是問題的根源,只要有順序關系的應用都將都將遭受到這類攻擊。要想徹底解決這類問題,必須從以太坊打包機制、交易隱私保護方面下手,從目前的發展來看,短期而言,并非易事。
另外一種方案是將這類應用遷移至Layer2。很多Layer2的方案擁有更快的打包速度,可以有效地降低機器人劫持的可能性。
結語
公開的搶劫、利己的排序、作惡的礦工,正在讓以太坊淪為一場權力的游戲。這跟區塊鏈,公平、開放、平等的理念已經背道而馳!
未來以太坊的發展,如果不能有效遏制礦工的權力,監督礦工的行為,那么它是否也會成為腐朽的產物,被人們所拋棄?水亦載舟,水亦覆舟。如果以太坊的DeFi不能成為一個公平的游戲,它又能走多遠呢!
原文標題:《以太坊的黑暗森林》
撰文:談國鵬,Ownbit創始人
無論是借方還是貸方,都要在自由約定的借貸市場中各自把握合理借貸的尺度,讓借貸市場為生態發展創造真正的價值.
1900/1/1 0:00:00我們不缺機會,缺的是了解機會的意愿,判斷機會的眼光,嘗試機會的勇氣,堅持機會的恒心以及相信自己的信念.
1900/1/1 0:00:00以太坊2 o\:*{behavior:url(#default#VML);}w\:*{behavior:url(#default#VML);}Yearn社區關于Wintermute YFI貸款與.
1900/1/1 0:00:00俄羅斯總理概述了政府修正現有法律以將加密貨幣視為財產的計劃。這意味著比特幣所有者將擁有在法庭上捍衛和補償其加密貨幣的合法權利.
1900/1/1 0:00:00算法穩定幣項目BasisCash設計了兩個代幣,一個是穩定幣BasisCash,另一個是所有權代幣BasisShare,后者具備升級潛力.
1900/1/1 0:00:00Gate.io雙周報2020年11月第2期Gate.io雙周報為您囊括平臺周期熱點,助您快速掌握平臺動態,狀態持續“在線”.
1900/1/1 0:00:00