前言
MEV 是 Miner Extractable Value 的縮寫,即礦工可提取價值。2019 年,智能合約研究員菲爾·戴安(Phil Daian)和他的同事們一起撰寫了 Flash Boys ?2.0 論文,并創造了"礦工可提取價值"(MEV)一詞。現如今,人們將之稱為 Maximal Extractable Value -- 最大可提取價值。
知道創宇區塊鏈安全實驗室?本次淺談一下充滿研究意義的 MEV。
MEV 概念與原理
一、?什么是 MEV?
MEV 是指區塊鏈礦工可以通過重新排序、審查或插入交易而無需許可地提取的總價值。簡而言之就是礦工對其所在區塊的一切交易的順序有控制權,能夠隨意控制交易的順序,并以此來進行獲取利益。
自 2020?年 1 月 1 日起至今,據官方數據統計,提取的 MEV 至少價值 9 億美元。不難發現,提取的 MEV 正成 N 倍瘋漲,就如 Dan Robinson 的《Ethereum is a Dark Forest》一文中提到的那樣,MEV 在未來只會更加可怕。
二、為什么會出現MEV問題
我們可以將比特幣、以太坊等區塊鏈網絡比作一本賬本,而“礦工”負責將待處理的交易信息打包成區塊,然后由整個網絡進行驗證,并添加到全球的賬本中,對于交易信息記錄的先后順序完全是由礦工決定的。
由此,礦工們為了獲取更大的利潤,往往會根據 gas 費用的高低來決定交易順序;礦工根據自己決定交易順序的權利來獲取額外的利益,這種獲得的收益就是MEV。
某巨鯨正在Aave上做多ETH,已存入超過7000枚ETH:金色財經報道,Lookonchain監測數據顯示,一巨鯨正在Aave上做多ETH,向Aave存入了4,834ETH(896萬美元)并借入500萬USDT,向Binance存入500萬USDT,并提取2,638ETH(489萬美元),再向Aave存入2,638ETH并借入400萬USDT,然后再次充值400萬USDT至幣安。[2023/8/10 16:16:27]
盡管最初MEV被稱為“礦工可提取價值”,但現在人們更傾向于稱 MEV 是“最大可提取價值”,因為現如今的大部分 MEV 行為不是由礦工發起的,而是由 DeFi 交易者和套利機器人替代。
在以太坊內存池中,MEV 搜索者用套利機器人監控待處理的交易,并試圖利用它們創造的有利可圖的機會。
技術角度來說,MEV 的產生是源于區塊鏈中交易信息被傳送到網絡與實際交易信息被打包至區塊之間存在延遲。
而處理方式卻是構建一個共享的待處理公開訪問內存池(mempool),在該交易被打包至區塊之前,該交易會存放在 mempool 中,公開的 mempool 會導致別有用心者可以有意監聽 mempool,尋找可以獲利的機會。
其中就包括,插入新交易,重新排序交易序列等手段。而這些都顯示了礦工對交易的打包有著極大的控制權。
MEV的利用和防范
一、典型攻擊手段
1、搶跑(front-running)
國家標準委《創新基地申報指南》:重點聚焦區塊鏈、元宇宙等領域:2月9日消息,據國家市場監督管理總局標準創新管理司官網,國家標準化管理委員會近日印發《國家技術標準創新基地申報指南(2023—2025年)》。其中提出,“十四五”期間,擬新批準建設領域類創新基地不超過20個。重點聚焦人工智能、量子信息、區塊鏈、數字孿生、操作系統、高端芯片、高端裝備、元宇宙、數字鄉村、新一代信息技術、數字經濟等新興領域,以及生物技術、新型電力系統、碳達峰碳中和、生命健康、共同富裕、農業高新技術產業等經濟社會發展重點領域。[2023/2/9 11:56:36]
在以太坊內存池中存在一筆訂單交易,攻擊者使用略高于此訂單的 gas 費進行搶先交易。此時便能使用比市價更低的價格交易訂單。
例如 2021 年 10 月 29 日,多個 MCN-uniswap 池遭受黑客攻擊,主要原因是該代幣合約燒幣功能出現權限問題,使得任何人都能夠對池子中的 MCN 進行燒毀。
攻擊者燒毀池子中大量 MCN 代幣,導致池子中 MCN 代幣價格失衡,攻擊者通過將事先換取的 MCN 代幣換回大量 WETH 代幣而獲利。
然而該攻擊事件被 MEV 機器人捕捉到,機器人在攻擊者完成攻擊之前搶先完成交易并獲利 17.2 萬美元。(https://etherscan.io/tx/0xd091afe6b37256ebb3dd703a9646b27aaf7ce7fe8832778886ba0216361f7f00)
2、尾隨(back-running)
在以太坊內存池中存在一筆訂單交易,攻擊者提交一筆 gas 費略低的訂單,當前一訂單交易后,立即跟著交易,以此獲利。
分析師:比特幣現貨基金申請通過可能推動下一輪牛市:金色財經報道,三星資產管理香港首席執行官Sam Park表示,香港正在推動成為亞太加密貨幣中心,三星目前也在密切關注該地區不斷變化的數字資產規則,如果條件允許,未來會考慮在香港啟動基于現貨比特幣的交易所交易基金。Park稱:“這實際上取決于政策將如何制定,當地政府顯然熱衷于開發一個加密中心。” 此前今日早些時候消息,三星資產管理公司推出的“三星比特幣期貨主動型ETF”已在港交所上市交易。
對此,小牛精選特邀分析師保羅大帝表示,目前,“三星比特幣期貨主動型ETF”已在港交所上市交易。未來在眾多投資機構支持下,比特幣現貨基金申請通過可能性非常大。如果通過,這將對加密資產具有里程碑的意義,將很可能成為下一輪大牛市發動機。[2023/1/13 11:10:42]
例如搜索者機器人在一個池子中發現有一大筆買入訂單,由于池子中代幣量減少,所以導致代幣價格上漲,此時攻擊者緊跟著賣出代幣到池子中進行獲利。
3、三明治夾擊(sandwiching)
三明治夾擊是搶跑和尾隨的一種結合,攻擊者在交易者訂單前后分別安插兩筆交易,在交易者交易前搶先以更低的價格交易,在交易者完成交易后,緊接著將訂單以跟高價格售出而獲利。
二、主要防范策略
MEV 表面上看是礦工和搜索者雙雙獲利,皆大歡喜的事情。然而這種獲利可以卻被一些人看作是偷竊,因為此獲利方法是以損失普通交易者的利益而來,通過 MEV 提取得來的獲利全是取自每一位交易的普通用戶。
此外,MEV 還會造成區塊網絡的擁堵和 gas 費增長問題。隨著越來越多的套利機器人進行 gas 價格競爭,無形中就消耗著區塊鏈網絡帶寬造成網絡擁堵,gas 價格競爭愈演愈烈導致 gas 價格劇增。
美國前總統特朗普發行NFT已全部售罄,交易額近79萬美元:金色財經報道,美國前總統特朗普發行的 NFT 系列“Donald Trump Digital Trading Card”已全部售罄。OpenSea 數據顯示,總計 4.5 萬枚 NFT 交易額超過 648 ETH,約合 78.5 萬美元。( theblock )[2022/12/17 21:49:46]
由 gas 使用量圖我們不難看出,從 2021 年五月開始,gas 使用量有著明顯減少的趨勢。這正是因為 flashbots 的 MEV-Geth 日漸普及,這也是防范 MEV 的主要措施之一。
Flashbots Auction 概念與使用??
一、 Flashbots簡介??
Flashbots 成立于 2020 年 11 月,是一個針對 MEV 的去中心化研究和開發組織,致力于公開化MEV提取細節,使其透明化,民主化。
Flashbots 的項目業務分 3 個大類:flashbots auction,flashbots data,flashbots protect,flashbots auction 在以太坊用戶和礦工之間提供了一個私人通信渠道,用于在一個區塊內有效地傳達首選交易順序,flashbots data 則是用來掃描以太坊MEV數據并存儲在 Postgres 中以供查詢和分析。
flashbots protect 是將 flashbots auction 中除去客戶端等復雜部署剔除,抽象出交易捆綁打包等功能,讓 Metamask 等錢包可以集成 flashbot auction 的MEV保護功能。
美股三大指數均大幅收漲,標普500指數漲1.56%:金色財經消息,行情顯示,美股高開高走,三大指數均大幅收漲。納指漲2.59%,標普500指數漲1.56%,道指漲1.28%。[2022/8/4 2:57:38]
flashbots 核心項目Flashbots Auction 包括 mev-geth,一個位于 go-ethereum 客戶端之上的補丁,以及 mev-relay,一個交易包中繼器。
二、MEV-Geth 和 MEV-Relay 的運作流程
1、使用者可使用 MEV-Geth 中的交易捆綁,其中包含:交易搜索者和/或其他用戶的內存池中待處理的一個或多個事務。
交易搜索者通過智能合約調用向礦工支付的小費函數。并且,Flashbots 捆綁包將始終位于該區塊的頂部。
2、MEV-Relay 接收捆綁交易,并將其發送給所有列入白名單的 MEV-Geth礦工。
3、礦工從 MEV-Relay 接收 Flashbots 捆綁包,并在 MEV-Geth 中對其進行處理。
4、MEV-Geth 從發送的所有捆綁交易中選擇利潤最高的捆綁交易上鏈,將捆綁交易放到一個新的區塊的頂部。
5、然后,MEV-Geth 將包含此捆綁包的區塊與不包含任何捆綁包的區塊進行比較。
6、僅當交易搜尋者的捆綁包包含在一個區塊中時,與他們的捆綁包相關的小費才會被支付。
7、如果區塊沒有包含捆綁交易,該交易沒有上鏈,則交易搜索者和/或其他用戶不會花任何錢,即交易失敗或者取消交易都無需支付 Gas 費。
Flashbots Auction 架構介紹及演示
Flashbots Auction 架構提出了一個由三個不同方組成的網絡。架構抽象出三方角色構成網絡。代表用戶的 searcher,代表代理服務的 relay 中繼器,代表礦工的 miner,三者讓客戶可以使用這些方專門執行維持該通信渠道所需的部分工作。
Searcher?
Seacher 代表想要利用 MEV 的以太坊用戶,他們可以使用 Flashbots 私人交易池,而不是常規的 p2p 交易池。這些用戶監控著鏈的狀態,并將可套利的交易捆綁包(bundle)發送至中繼器。? ? ? ? ??
目前生態上的 searcher 一般有以下幾類:
1、尋求快速、無風險訪問區塊空間的以太坊機器人運營商(例如,套利和清算機器人)
2、尋求交易搶先保護的以太坊用戶(例如,Uniswap 交易者)
3、具有高級用例的以太坊 Dapps,例如帳戶抽象或無氣體交易(例如 tornado.cash 和 misxX)
Relay
交易打包成 bundle 后,會通過幾個叫 Relay(中繼器)的基礎設施傳播到各個 server,并將其轉發給各個 minner 節點。
當 searcher 使用 flashbots 服務,利用 relay 來發送他們的交易偏好,他們就不需要為失敗的交易出價付費。由于以太坊節點無法自行處理這種級別的負載,中繼器便承擔了緩解這種 DOS 威脅功能。
除此了解決垃圾交易問題,中繼者隱私也是 Flashbots Auction 架構必須解決的問題,以便實現完全的去中心化。目前,Flashbots 組織運營一個名為 MEV-Relay 的中繼器。
下圖則為MEV-Relay入口演示。
所獲得的區塊高度如圖:
中繼服務擁有對捆綁內容的完全訪問權限,可以任意重新排序,插入,審查發送給他們的捆綁包,還可以通過發送無效捆綁包來 DOS 礦工。所以不建議使用外部中繼器集成,這會產生很大的系統性風險。
Miner
礦工是最終收集所有捆綁包并產生區塊的一方。傳統礦工會使用以太坊客戶端進行區塊的挖掘,而我們的Miner使用flashbots提供的特殊維護的MEV-Geth客戶端,實現捆綁包的接收和交易的排序。
Flashbots 包中包含的信息允許 searcher 向礦工發送他們需要的交易順序以求利益最大化,這樣可以使礦工實現 MEV 組合獲利,而不是在單一維度上爭奪優先權。礦工可以評估所有收到的捆綁包,并將不沖突的捆綁包組合起來,以盡可能產生最有利可圖的塊。
以下為 Minner 打包交易的運行結果簡析。
MEV-Geth 節點會第一時間評估傳入的捆綁包,并選擇利益最大化的捆綁包放在區塊的頂部。然后該節點將 Flashbots 塊與普通塊進行比較,并開始挖掘最有利可圖的塊,測試如下。
運行結果如下
Searcher 會對針對即將打包至下一個區塊的交易進行監視,會使用更高的 gasprice,將可套利的交易捆綁包發送,并讓礦工搶先打包至區塊,Searcher 清楚地表達交易偏好是成功拍下區塊的重要原因,這也有效避免了網絡其余部分的負面外部性。
總結
MEV 的興起導致了一系列的問題,盡管 MEV 為礦工帶來了額外的利潤,同時也損失了其他用戶的利益,引起了以太坊環境的變化。
flashbots 為 MEV 問題設置的解決辦法也并非完美,盡管套利者之間的競爭被移到了另一個網絡中,解決了以太坊網絡擁堵和 Gas 費劇增的問題,從客觀角度來看,MEV-Geth 是否違背了去中心化的原則。
新的 MEV 提取策略不斷被發現和創建,當前對 MEV 問題的防范措施也可能會過時,對于 MEV 問題的研究仍需要我們不斷地探索。
本報訊 (記者 卞軍凱) 近日,福州市立足區塊鏈產業發展需求,出臺《關于加快區塊鏈產業發展的三條措施》.
1900/1/1 0:00:00鏈游市場經過幾年發展,出現了Axie Infinity這樣的現象級游戲,游戲收入甚至超越魔獸世界,讓GameFi成為當下焦點活躍在大眾面前。GameFi可以理解成為Game+DeFi.
1900/1/1 0:00:001.DeFi總市值:115.29億美元 金色熱搜榜:ELA居于榜首:根據金色財經排行榜數據顯示,過去24小時內,ELA搜索量高居榜首。具體前五名單如下:ELA、ANT、ELF、MXC、CMT.
1900/1/1 0:00:00目前DeFi領域鎖定的資產總量超過86億美元,整體市值大約在3500億美元,相對于CeFi來說,規模還非常小.
1900/1/1 0:00:00“我們習慣給我們的時代一個浪漫的名字,紀念我們在時代的塵埃里經歷過的一切。”2020年夏天,我們利用AMM打通了去中心化世界關于金融的最后一點點障礙,之后借貸平臺Compound推出代幣,該代幣.
1900/1/1 0:00:00前言:Compound是DeFi上的借貸市場,但它并不是點對點的市場,而是流動性的資金池市場,這種模式讓它更接近于傳統銀行的借貸模式.
1900/1/1 0:00:00