以太坊背後的權力機器:MEV與PBS
星球君的朋友们
2023-01-28 13:00
本文约10093字,阅读全文需要约40分钟
誰控制了現在,誰就同時掌控了未來和過去。

原文來源:Hash Hunter

原文來源:

原文作者:Masterdai

原文來源:

原文來源:

原文作者:Masterdai

誰控制了過去,誰就控制了未來;誰控制了現在,誰就控製過去。 —《一九八四》

2007 年,加拿大皇家銀行的交易員胜山發現了一件令他感到困惑的事情,當他在交易終端按下買入鍵的一瞬間,所有的訂單消失了。

而在區塊鏈的世界裡也發生了一件相似的事情。 2022 年6 月,Scott Bigelow 在以太坊主網上面部署了一個加密合約並往裡存入了0.035 個以太幣,只有他一個人知道取出合約內存款的密碼。而就在他往合約發送密碼信息的一瞬間,合約裡的以太幣消失了。

毫無疑問的是,他們都遇到了搶跑者。胜山想要下的訂單分佈在各個不同的交易所,因為地理位置的緣故,每一個訂單所到達交易所的時間是有微小差異的,高頻交易者通過更快的光纖網絡提前知道了第一筆買入單,從而在胜山的訂單下到其他交易所之前把訂單都給買光。

第一章節為原理解讀。

一級標題

第三章節是對未來構建者- 提議者分離架構的預測和展望。

一級標題

一級標題

1、產業鏈

要想完全徹底的理解現在的PBS 生態(提議者- 構建者分離),我們可以從用戶端發出一筆的視角來看待:「當一個用戶在按下與去中心化應用交互的那一瞬間再到在共識層上完全確立,這一個過程到底發生了什麼?」

為了方便理解,我將這些環節拆分成了幾個步驟:

用戶交易(transaction):當我們在錢包裡進行轉賬或是在某個去中心化交易所裡進行代幣的兌換亦或是Mint 某個NFT,從鏈上的數據結構來看都是類似的。

如上圖所示就是對一個NFT 合約進行Mint 所需要的信息,其中最重要的信息就是data,在上圖data 裡面0x 1249 c 58 b 就是對mint()這個function 的調用。而如果我們把data 裡面的數據換成0x 那麼就代表一個普通的轉賬。通過這些data 和value 的數據,我們可以清晰地判斷用戶這一筆交易的意圖和作用。

內存池(mempool):當用戶使用公共的節點遠程調用服務時(例如Metamask 默認使用Infura 的以太坊節點調用服務),交易會跑到內存池子裡。內存池是在節點收到交易並且把他包含到區塊的一個緩衝區,其作用就是幫助節點對各類交易進行檢查,並且判斷交易的輸出和簽名的合法性、有效性。

內存池裡的交易對每一個節點來說是不同的,但是對於整個區塊鍊網絡上來說,他所包含的數據卻是公共的。換言之,只要有人能夠在全球各地雲服務器上架設節點,他就可以獲得大部分的內存池數據。內存池數據的濫用,對於普通用戶來說是極其不友好的。正如我在開頭所講述的案例中一樣,套利者可以提前知道用戶的交易意圖從而進行獲利。這一獲利的過程我們稱之為MEV(最大可提取價值)。

  • 搜索者(seacher):也稱為以太坊機器人操作員,目前我們所了解的套利者、nft-mint 機器人都可以歸類到搜索者這一個範疇。搜索者和Flashbots 息息相關,在Flashbots 開源了他們的拍賣組件之後,搜索者可以通過發送捆綁包的方式,將自己的交易或者是內存池的交易按順序拼接起來,並且指定某個區塊構建者讓他們把這個捆綁包裡的交易包含在區塊裡,從而避免其交易在公共內存池之中被嗅探到。

  • Flashbots 實際上是創立了一種全新的交易信息通道,他使得一些用戶能夠直接地和區塊構建者進行通訊。例如下面的例子,我通過Flashbots 將上圖mint 的交易內容直接傳遞給區塊構建者從而規避了我的mint 信息提前被人知道。

  • 搜索者也需要支付一定的價格從而然他們的捆綁包變的更加有吸引力。例如通過調高Gas 的費用,或者直接將以太幣轉移到構建者的Coinbase 地址。

  • 藉由捆綁包的機制,搜索者擁有在小範圍內改變交易排序的能力。並且從機制上可以保證排好順序的交易有不被插隊的可能性。通過排列組合外部的交易和自己產生的合約調用交易,就組成MEV 領域裡面各種各樣的攻擊策略。例如搶跑、後跑、三明治攻擊、JIT 機器人、時間盜賊攻擊和叔塊盜賊攻擊等等。

搶跑:通過搶先並且複制對手的交易策略來獲得利潤。例如搶在普通用戶面前以更高的Gas 費用搶先Mint 到NFT,搶佔人類用戶的Mint 份額等等。

  • 後跑:通過爭搶某個交易的後續位置從而獲得利潤。機器人通過監控某些代幣在Uniswap 上面創建新交易對後,在其部署完池子後創建大量買入交易。該策略是成為第一個購買代幣的人。同理,機器人也可以通過監控NFT 項目方激活NFT 合約mint() 的那一筆交易來成為第一個mint NFT 的人。現有市面上所存在的NFT 搶mint 機器人大多都遵循這樣的原理和架構來設計。

三明治攻擊:當一個用戶想要在某個去中心化交易所中換取代幣a 時,機器人可以創建兩個交易並且利用捆綁包功能將受害者的交易夾在其中。機器人的第一筆交易購買了代幣a,受害者的交易接下來推高代幣a 的價格,第三筆交易再將相同數量的代幣a 賣出從而獲得利潤。利潤取決於受害者交易所設置的滑點。

JIT 機器人(Just In Time):這種模式出現在Uniswap V3 的代幣池子中,因為V3 本身的集中流動性特性,使得用戶可以在某個極小的區間內設置一筆LP。當一個用戶想要在V3 進行大量代幣交易時,立刻發起一筆添加流動性的交易和一筆銷毀流動性的交易。將用戶的交易夾在其中,從而獲取這一筆交易產生的流動性收入。這種模式需要JIT 機器人提前計算好前後交易的頭寸變化,使得用戶的交易剛好落在其設計的流動性區間內。

由於篇幅有限,我不在這篇文章裡面介紹詳細攻擊的手法和步驟,感興趣的讀者可以訪問這裡(https://www.mev.wiki/attack-examples)。並非所有的搜索者都是套利者。我們也可以利用這些機制來做一些好事。

轉移服務:有一些黑客會利用用戶被盜錢包中的NFT 來進行釣魚,通常這個錢包裡面的ETH 是不夠支付轉移的Gas 費用的。當受害者想要轉入Gas 來進行轉移時,黑客就會使用腳本把Gas 費轉走。我們可以使用Flashbots 趕在黑客把你轉入的Gas 費用拿走之前,將私鑰被盜錢包中的NFT 取回來。設立一筆轉入被黑錢包的交易,再創建一個從被害錢包轉出的交易,將這兩筆交易放在捆綁包中並且發送給區塊構建者。由於這兩筆交易在區塊上是連續的,黑客沒有辦法阻止你轉出被盜的NFT。當一個搜索者完成了捆綁包(bundle)的構建時,他可以將這個捆綁包發送到其指定的區塊構建者中。

區塊構建者(block builder):得益於Flashbots 在2022 年11 月份將區塊構建的架構開源,我們可以知道區塊構建者內部的架構設計。一個完整的區塊構建客戶端由兩個不同的節點組成,包含了一個區塊構建規格的geth 執行層節點程序,以及一個改動過的prysm 共識層節點。

區塊構建者需要開放一個RPC 端點,使得搜索者能夠將捆綁包發送到指定的構建者之中。構建者本身分為礦工(geth)和構建(prysm)兩個模塊,礦工模塊通過算法程序來選取符合其程式要求的捆綁包以及從內存池中選取交易並將其塞入創建好的區塊之中。構建者模塊在不斷的與中繼器和礦工模塊溝通的同時開始生成塊的數據,其中包括了塊的哈希值、收款地址和額外信息(通常構建者會在裡面寫上自己的名字) 。並且設立一筆交易,將整個區塊的收益以轉賬的方式發送給驗證節點的收款地址。

中繼器(relay):區塊構建者需要一個信任的第三方來將其發送的區塊送到驗證者手上而不被洩露,同樣的驗證者也需要一個信任的中繼層來幫其確保區塊的合法性。當然不同的中繼器其特點和特點都有所不同,一個驗證者藉由MEV-Boost 來接入多個中繼器從而獲得最多的區塊選擇權。

從上述架構上,我們可以發現中繼器也需要運行共識層節點和執行層節點用來接受和送出區塊信息。中繼器的外部有兩個API 分別對接區塊構建者和MEV-Boost。這樣的架構能夠在保證區塊信息不被洩露的情況下,最大化的降低提議者和構建者的溝通和信任成本。

提議者:在以太坊合併之後,新的共識層被添加進了網絡。提議者的架構由四個客戶端組成:執行層節點、共識層節點、驗證人(32 ETH)、MEV-Boost。這也是目前大部分以太坊節點質押商的底層架構。原先的節點質押商由前三個軟件組成,可以把MEV-Boost 理解成一個插件,用來協調兩個節點的溝通並且從中繼層獲取額外的區塊信息。

  • 這樣的架構實際上是將原有提議者構建區塊的能力剝離出來,使得提議者只需要提議從MEV-Boost 的區塊並且將其添加到信標鏈上即可。同樣的,MEV-Boost 可以連接多個中繼層,從而讓提議者的利益實現最大化。最終搜索者和區塊所產生的收益通過這整一個架構支付給提議者即——以太坊質押者。

  • 交易鏈條:

  • 當一個用戶發起一筆交易時,首先會進入公共內存池,如果這是一筆普通的交易,那就會在等待一段時間之後被區塊構建者放入其創造的區塊中、如果這是一筆被搜索者盯上的交易,就會以捆綁包的形式進入區塊中。再經過中繼層、最終被區塊提議者簽署證明並將其廣播到網絡。用戶也可以使用區塊構建者的私人節點,從而避開公共內存池。

收益鏈條:搜索者在內存池中尋找能夠捕獲利益的交易,將這一筆交易打撈起來並與自身創建的交易組合併且放入捆綁包中。搜索者獲得的利潤會直接進入其錢包內,而為了讓這筆交易能夠被區塊構建者打包入區塊,搜索者需要支付一筆的手續費給區塊構建者(通過Gas 或者Coinbase Transfer) 。

區塊構建者的收益= 交易費用(Gas)+ 搜索者支付手續費- 銷毀的Gas 費用

區塊構建者的利潤= 交易費用(Gas)+ 搜索者支付手續費- 銷毀的Gas 費用- 區塊構建者給驗證人的費用(成本)

Mev-Boost 收益= 區塊裡的最後一筆轉賬= 區塊構建者給驗證人的費用(成本)

我們以16489407 區塊為例,從Etherscan 上顯示他整體的區塊獎勵為0.129830707718222266 Ether,這並不是他實際的區塊構建利潤,僅僅只是交易費用- 銷毀的Gas 費用。從Flashbots 的地址中可以查詢到coinbase.transfer 的記錄,可以看到搜索者給其支付了兩筆筆合計0.16601722521 Ether 的手續費。當然這個區塊實際上存在6 個捆綁包,只不過剩下的4 個捆綁包是以Gas 費的形式來支付的。篇幅有限筆者在這裡不詳細贅述,未來會開一篇文章詳細介紹如何計算一個區塊的MEV 收益。

在這個區塊的最後一筆轉賬,構建者給了驗證人一筆0.295569746890668 Ether 的轉賬。

區塊構建者利潤= 0.29584793292 - 0.295569746890668 = 0.00027818602 Ether

一級標題

從整體的技術架構和鏈路上來看,現有的PBS 架構設計並不簡潔。 PBS 本身也是以太坊在The Scourge 階段之前的過渡。而對於中繼層和構建層之間的勾結和區塊構建者的中心化目前也沒有完全解決的方法。這也是Flashbots 在之後推出Suave 的一個主要原因。

一級標題

一級標題

2、生態格局與投資機會

上一章節通過底層架構的實現來對MEV 的鏈條進行分類和整理。而在生態之中的項目方往往佔據了多個領域和方向來實現盈利和創造,當然這個領域仍然處於非常早期的階段,目前並沒有出現非常明確的商業模式和賽道頭部玩家。對於判斷這些早期項目,筆者大致劃分了幾個賽道(不涉及節點質押商),並且從三個方面進行衡量:能否從中獲得利潤、是否具備大規模商業化的條件以及是否具備可持續性。

搜索者:根據其功能和獲取利潤的來源,其中也分為套利者、三明治攻擊者以及清算者。其盈利領域涵蓋了去中心化交易、借貸、NFT 交易、閃電貸等等。從EigenPhi 所提供的數據中可以看到,搜索者本身的收益分配極度不對等。

絕大部分的套利利潤集中在0.27 美元這個位置,而只有極其少數的套利利潤可以超過1000 美元。同時搜索者也要面臨被同行以設下陷阱從而被反向套利的風險(沙門氏菌代幣)。 Nathan Worsley 在MEV Day 演講中所述:「這個領域需要非常頂尖的人才來進行團隊配合, 20 個小團隊佔據了絕大部分的市場份額,套利的策略變的越來越複雜並且競爭十分激烈。 」

搜索者競爭激烈的原因很大一部分來自於區塊鍊網絡的公開性和無准入性,一方面他們需要更好的服務器和更快的信息傳輸通道來獲得最新的內存池數據,另一方面也需要巧妙的算法和策略使得自己在獲取收益的同時不被他人所捕獲。毫無疑問,搜索者領域是一個能夠獲得利潤和擁有可持續性的賽道,但是這個領域並不具備面向普羅大眾商業化的可能性,更像是加密領域的量化交易。對於大型投資機構來說,投資一個鏈上量化交易團隊的回報率可能不是很高。但對於熟悉量化交易和智能合約開發的小型創業團隊和個人而言,這可能是切入加密領域相對較好的實踐。例如成立一個加密量化基金,並且承諾xx% 的回報。當然,這個領域也並非一成不變的。從JIT 機器人在近段時間的交易量激增的數據總可以看到。

例如:BloXroute、Manifold、Blocknative、Beaverbuild、0x 69、Eden Network、Lightspeed、ETH-Builder 等。上圖最左側的為構建者的區塊佔有量,中間為中繼層佔有量、右邊為驗證人佔有量,Flashbots 並不是最大的區塊構建者,確是當前最大的中繼服務商。筆者在22 年12 月份統計了從合併以來的60 萬個區塊數據。

二級標題

在這個領域BloXroute、Manifold、Blocknative、Eiden Network 是為數不多的在公開市場上融資的項目方。其中Eden Network 和Manifold 只提供區塊構建和中繼器服務,而Bloxroute 和Blocknative 在提供區塊構建服務的同時也提供了其他的服務。 Bloxroute 根據驗證人的需求,提供了不同的中繼接口,例如最大化利潤中繼和常規中繼等。從功能上看, Bloxroute 更貼近驗證人用戶和項目方,例如提供節點保護服務和更快速的交易發起服務。而Blocknative 更多的是面向搜索者和一些DeFi 項目方,例如內存池和交易模擬服務。

二級標題

二級標題

市場規模

我們可以通過未來區塊的生產量測算市場規模,現有的區塊構建者構築每一個塊的利潤大約在0.0005 個以太。以太坊平均一天的區塊產出大約為7000 個區塊。那麼未來在以太坊的整體的區塊構建利潤為1200 個以太,這個收益實際上是非常低的(整體執行層層的收益在25 萬個以太左右),這也是這些項目方會有其他業務來作為收入的原因。影響區塊構建利潤的因素有很多,當前的數據並不能代表未來。例如區塊構建者為了搶佔市場主動降低利潤,或者現有交易量不足從而影響捆綁包的數量等等。從整體利益鏈條來看,區塊構建者的收益更為可控。其技術架構也具備了大規模部署和運行的可能。對於項目方而言,在構建區塊服務的基礎上可以添加更多的付費服務,使得區塊構建和中繼服務成為一個吸引開發者和協議層導流的選項(類似Web3 基礎設施免費提供節點調用)。

  • SAAS 服務:市場上也存在一些給搜索者和研究者提供服務的商業模式,例如提供MEV 數據分析EigenPhi 和上文提到的內存池數數據服務的Blocknative。另外一種則是更快的私人節點調用服務和節點隱蔽服務,使得搜索者能夠隱蔽快速的進行節點調用和通信。

抗MEV 服務:目前也存在一些抗搶跑和三明治攻擊的去中心化交易所,例如1inch 和cowswap 提供的私人交易服務等。其原理和私人RPC 服務類似,將用戶的這一筆交易單獨的發送到區塊構建者之中,使得這筆交易不經過內存池。

訂單回饋服務:這一種模式在傳統證券交易市場中較為常見。 Robinhood 就是利用這種服務來實現盈利的,當散戶通過其軟件上下單時。 Robinhood 會將這筆委推單交給做市商,做市商在市場上進行交易時也會支付給Robinhood 現金。鏈上交易也可以遵循這樣的原理,例如rook 協議。用戶可以在rook 專屬的去中心化交易所上下單,但是這筆交易並不會直接在鏈上執行,而是現在內部拍賣給rook 的保管人(keeper)。一旦競標成功,保管人就擁有將用戶交易放入其捆綁包的權力,從而利用用戶的交易來進行MEV 活動並且獲取利潤。在這筆交易結束後,用戶獲得了拍賣的一部分rook 代幣、保管人獲得了MEV 的利潤。在這個環節中,保管者實際上擔任的是搜索者的身份,只不過其訂單來源不再是過去的內存池而是rook 協議自己建立的私有暗池。從價值分配的角度來說,用戶能夠在完成訂單的同時獲取一部分MEV 的收益。

加密暗池服務:筆者也構思了一種商業模式,新的去中心化協議可以在建立交易服務的同時構建一個協議專屬的區塊構建層和中繼層。用戶使用該協議所產生的所有交易都將進入這個暗池。搜索者需要通過支付費用來獲得專屬的訂單流從而進行套利。協議層則可以將搜索者支付的費用回饋給用戶例如空投和免Gas 服務從而吸引更多的用戶進入暗池交易。

目前SUAVE 的架構設計仍然處於討論階段,筆者認為SUAVE 極有可能會推出自己專用的節點客戶端。如果沿用現有的PBS 設計,為了實現與L2 層的通信,那就必須在使用現有的架構上增加與L2 節點的通信。也就是說通過部署多個鏈節點的方式來進行交易消息的驗證,這種設計方式過於臃腫和復雜,還不如重新開發出一套兼容所有EVM 生態的輕節點客戶端從而實現其文檔中描述的模塊化功能。

一級標題

毫無疑問,Flashbots 是該領域的頭部玩家,當前大部分的架構設計和代碼都是由其開源,並且引領整個行業的走向。筆者認為,這個領域的機會並不在於套利和質押,在於誰能夠擁有區塊構建和分配交易的能力。這種能力的價值不在於經濟層而在於整個以太坊生態的權力層——誰掌握了區塊內交易的排序誰就掌握了權力分配,而誰掌握了權力分配誰就能夠重塑整體網絡的利益價值分配。過去的用戶代幣流通價值是通過智能合約和一筆筆交易來進行分配的,而未來的價值則通過組合這些訂單流的區塊構建者來分配。換言之,我們將從爭奪單比交易價值的時代走向未來爭奪區塊空間資源的時代。

3、對未來的展望和擔憂

二級標題

許多用戶對MEV 難以理解原因就在於,從我們人類的角度來看,我們認定發送出的這一筆訂單是能夠按照時間順序被同時執行的,是連續的。在區塊網絡的角度來看,用戶的意圖和行為是由一筆筆不可分割的訂單排列而成的,是不連續的。搜索者能夠在用戶發送交易之後捕獲這一筆交易並且重新排序以獲得利益。在宏觀程度上,我們可以近似認為,搜索者藉由捆綁包實現了小範圍內操縱時間的能力。舉一個不恰當的例子,從用戶的視角來看,自己的交易被三明治攻擊,近似於是被來自未來和過去的搜索者同時搶跑了。本文所闡述的案例都發生在以太鏈上,但有一點筆者可以肯定的是,只要區塊內包含的依然是非連續的不可分割的訂單排列,MEV 就一定會發生。

二級標題

二級標題中心化的趨勢

區塊構建的權力對未來協議層的影響是深遠的。如同《 1984 》所言:「誰控制了過去,誰就控制了未來;誰控制了現在,誰就控製過去。」從1 月3 日到27 日,超過80% 的區塊僅被5 個區塊構建者所創造。值得一提的是,在區塊構建客戶端裡有一個特殊的功能,構建者可以通過設立黑名單的方式使得某些地址不被包括到該區塊之中。這也就意味著未來構建者擁有了審查交易的能力,當某些不符合其規範的用戶發起交易時,他的這筆交易將處於pending 的狀態永遠無法抵達真實的網絡。 Tornado-Cash 事件是各大節點服務商對其發動的節點級審查,而構建者發動的是內存池級別的審查。當然,隨著越來越多用戶和項目方的參與,未來區塊構建的去中心化程度提升會沖淡這一種審查帶來的影響。但是區塊構建中心化所帶來的潛在危害仍然不可小覷。筆者構思了幾種可能性供讀者參考。

執法者區塊:假設未來大部分的構建者和節點服務商都被單一實體所控制,那麼我們將正式進入一個由實體法則所操縱的區塊鍊網絡。在這裡所有交易(智能合約、轉賬、授權、交互)的部署都會被多次審查和批复。節點調用方審核交易發起者的錢包地址和IP,確認無誤之後。發起的交易將進入監控非公開的內存池,搜索者承擔執法功能,用來判斷這筆交易內容的合法性。根據交易的內容和信息進行分級和標記,並將其囊括到捆綁包之後發送到不同的構建者上。構建者可根據交易種類和功能將不同級別的交易放入到擁有不同優先級的區塊中,再經由廣播由驗證人來進行審核。一些不符合實體規則的交易則會被丟棄在內存池子之中,不允許任何搜索者和構建者進行打撈,直到用戶自行取消。這種情況下,黑客和盜竊活動將被降低到最小化,但是用戶失去了最大限度的對區塊鍊網絡的訪問,遏制了創新和信息的表達。

企業級區塊:

二級標題二級標題

照亮黑暗森林

照亮黑暗森林

二級標題

照亮黑暗森林

真正開放且公正的MEV 市場:允許所有的搜索者和構建者參與,用戶可以自由的選擇他們的交易走向。搜索者和構建者能夠充分的競爭並且在最大程度上回饋協議層的用戶。而協議能夠利用訂單流實現效率和區塊資源的最大化利用。

一級標題

一個公平的市場化競爭環境是孕育創新的土壤,而更為有效的利益分配機制和去中心化的架構是達成實現的基石。搜索者和區塊構建的技術是中立的,其對環境的影響取決於人們如何使用它。換言之,誰控制了現在,誰就同時掌控了未來和過去。達成照亮黑暗森林的條件不只取決於資本;也不只取決於計劃,決定權在當下的所有人手上。

一級標題

一級標題

參考閱讀

MEV 的過去和現在

MEV-Boost 架構預告

MEV 所造成的過度中心化問題

Coinabse 宣布採用MEV-Boost 作為自己的質押節點組件

討論

討論

討論

討論

開源的區塊構建者架構

重組攻擊的論文

星球君的朋友们
作者文库