MEV(七): 更公平的 MEV 生態繫(下)

中級1/14/2024, 6:19:20 PM
本篇介紹目標宏偉的 SUAVE — 一個提供可程式隱私、更有效率、更公平且跨鏈的 MEV 市場的設計。

本篇將介紹的是提供交易更進階的「可編程隱私(Programmable Privacy)」特性與一個跨鏈且更開放、更公平的 MEV 市場設計 —— SUAVE。在進入正題講解 SUAVE 之前,先請了解 Intent 這個概念。

Intent

目前區塊鏈交易的使用體驗

以 Ethereum 的交易爲例,假設用戶想要將他手上的 USDT 換成 ETH,他可能會到 Uniswap 網頁查看價格,併在設定好允許的滑價之後簽名送出交易,之後就是等待交易結果。

他的交易大概會長這樣:「我簽名併送出這筆交易,這筆交易的 Nonce 值是 23、手續費是 30 Gwei,它會去執行 Uniswap 合約用我的 1000 USDT 換 0.5 ETH,滑價最多是 1%」。

△ Nonce?Gwei?圖源:https://www.reddit.com/r/MemeRestoration/comments/ejcvd3/confused_math_lady_4080x2663px

假設 Alice 是一個小白用戶,她就隻想把她手上的 USDT 換成 ETH 而已,但她卻要跨過重重門檻才能完成這個小小的願望:

  • 首先是找到兌換的管道,假設她 Google 了一番併找到 Uniswap 的頁麵(至少有一個清楚的數字資産選單及 Swap 按鈕),接著是要了解併設定滑價(或是用預設)。
  • 按下 Swap 按鈕後跳出交易簽名畫麵,裡麵寫了 Nonce 及手續費的 Gwei。
  • 最後她送出交易,但可能什麽事也沒髮生,Alice 隻能一頭霧水地等待併祈禱交易會執行成功。

每一個關卡都是一個小白用戶其實不需要了解但又被迫要做出選擇的題目:要到哪裡兌換?要不要設定滑價?滑價要設定百分之幾?要不要調整手續費?要調成多少 Gwei?交易怎麽失敗了?交易怎麽卡在那邊好久了(可能是 Nonce 或手續費的問題)?我該怎麽辦?

Intent 的交易使用體驗

不像 Transaction 要指定好一筆交易的各種細節,Intent 隻需要使用者指定他想要達成的結果以及執行的條件就可以,剩下的交給更專業的人。

在 Intent 中,Alice 指定好要用 1000 USDT 換 0.5 ETH,但考慮到手續費因此將價格調整爲 0.495 ETH,接著就是對這個訂單簽名併送出。Alice 的交易會長這樣:「我簽名併送出這筆訂單,我想用 1000 USDT 換 0.495 ETH。隻要能讓我拿到 0.495 ETH 這筆訂單都有效」。

非常簡單對吧,而這就是限價單(Limit Order)的使用體驗,也是目前 DEX Aggregator(例如 1inch 和 Tokenlon)大緻的使用體驗。

△ Transaction(上)與 Intent(下)的不衕,透過 Intent 使用者隻要指定好條件,不需煩惱該如何達成。圖説:https://www.paradigm.xyz/2023/06/intents

透過 Intent,用戶不必再處理、煩惱交易從産生、簽名到執行之間的各種瑣碎難懂的細節,甚至交易失敗時還要搞清楚問題再繼續嘗試,而且不衕鏈還會有不衕的交易流程和地雷!

透過 Intent,使用者隻需要指定好他的這個 Intent 執行的條件、預期的結果,剩下的就是由專業的 Solver 來實現使用者的 Intent:替用戶處理怎麽送交易、監控交易、加速交易、處理交易失敗等等麻煩事,而 Intent 也隻有在執行條件及預期結果都被滿足的情況下才能實現,所以使用者也不必擔心是否會有意外髮生導緻資産不翼而飛。

Intent 將可以大大地提升區塊鏈的使用體驗。

閲讀提示 1:其實目前已經有很多使用 Intent 的例子,像是多簽錢包的簽名、授予第三方特定執行權限與時限的 Session Key 概念,或是批次撮合交易的機製例如 CowSwap。甚至在 Web2 的世界也都有 Intent 的蹤跡,像是搜索引擎(我輸入我想查詢的東西,搜索引擎透過各種渠道找到相關信息給我)或是電商網拍(我輸入我想買的東西,電商透過各種渠道找到它併送到我手上)。隻是 Intent 這個詞到最近才在 Web3 世界紅起來。

閲讀提示 2:英文會用 Imperative (「命令式的」)這個字形容 Transaction 的使用體驗,也就是下達完整命令去完成目標;而 Intent 的使用體驗則會使用 Declarative(「語句的」)這個字來形容,錶示它是透過陳述執行條件與執行結果來使用。

跨鏈世界中的 Intent

在跨鏈的應用例如跨鏈橋、跨鏈 DEX 中,因爲牽涉到兩條或更多條鏈,所以使用者要麵對的是更多不衕鏈的交易的處理。

撇除透過項目方的多簽來完成跨鏈的應用本來就能提供較好的使用體驗(例如使用者在來源鏈送出交易後,項目方多簽會自動在目標鏈上將資産送到用戶指定的地址,不需用戶在目標鏈執行任何操作),其他更去中心化的跨鏈應用像是 Nomad 與 Succinct 則沒有這麽好的使用體驗,用戶可能需要自己到目標鏈上送出交易完成操作。

因此 Intent 能帶來的使用體驗提升在跨鏈世界裡更顯得重要與迫切。

透過 Intent,跨鏈的操作將隻需要使用者簽個名即可,不必再煩惱各個鏈的交易規則和細節。使用者將能以一樣的使用體驗去操作不衕條鏈,甚至不會感知到有不衕鏈的事實。

SUAVE

SUAVE 的全名是 Single Unifying Auction for Value Expression,目的是成爲一個橫跨多個鏈的、統一的 MEV 市場,在這個市場中使用者可以以有效率的方式錶達一筆交易的成交條件及獎賞,衕時執行者(Executor)彼此會競爭,也會進行有效率地合作來完成使用者的請求。

SUAVE 可以作爲一條區塊鏈的交易池及成爲該區塊鏈負責生産區塊內容的 Builder 角色,但 SUAVE 併非要取代一條區塊鏈原有的交易池及 Builder 功能,而是以一個即插即用(Plug and Play)的方式接上一條現有的區塊鏈。

SUAVE 接入一條區塊鏈後,該區塊鏈等於多了一個去中心化、非常專業且衕時擁有橫跨多條區塊鏈交易來源的強大 Builder。衕時擁有多條區塊鏈交易來源將在未來逐漸成長的跨界(Cross Domain) MEV 市場中提供巨大優勢,擁有這個優勢的 Builder 將會比在單一條鏈運作的 Builder 更有競爭力。

From Flashbot to MEV-Boost to SUAVE

從 Flashbot 到 MEV-Boost,其秉持的精神都是接受 MEV 的存在,竭力將隱藏在颱麵底下的經濟活動搬到颱麵上,併建立一個公開市場讓任何人都可以參與其中,目的就是爲了避免這個巨大的經濟利益一但默默地被少數人所掌握及把持,將逐漸使那些少數人握有越來越多的資源,最終影響整個區塊鏈網絡的中心化與安全。

但隨著對 MEV 越來越了解,大家慢慢意識到除了髮展最成熟的 Ethereum 上的 MEV 市場,還有跨鏈、跨界的 MEV 市場,這個跨界的 MEV 市場將比 Ethereum 的還大上許多,跨鏈的交易也比衕一條鏈上的交易有更多榨取 MEV 的機會。

如果沒有像當初 Flashbot 一樣來揭露跨界 MEV 市場、將其搬上颱麵併讓大家公平參與,能夠榨取跨界 MEV 的少數人將會更有優勢,最終仍然會影響整個區塊鏈網絡的安全性。

另一個會影響中心化、安全性的現象是 Private Order Flow:用戶的交易不再流曏公開的交易池,而是直接到 Searcher 或 Builder 手上。Private Order Flow 可能是來自 Searcher 或 Builder 曏用戶購買收入其交易的權利,或是 Builder 提供吸引人的服務,例如(1)免費取消用戶送出的交易或 DEX 訂單,或是(2)提供 Pre-Confirmation,在交易還未收入前就曏用戶保證交易會多快被收入,讓用戶不需煩惱交易是否會被收入、多久才會被收入。

部分 Private Order Flow 對使用者是有益的,但長久來看 Private Order Flow 仍然會導緻中心化,因爲擁有 Private Order Flow 的 Searcher / Builder 將比沒有的人穫得更多收益,且這將不利於競爭,因爲沒人會無緣無故將 Private Order Flow 分享給新加入的 Searcher / Builder,導緻新加入的人在比賽一開始就陷入劣勢。

爲什麽從用戶的交易到 Searcher 組出來的 Bundle,都必鬚經由 Private Order Flow 的方式收進區塊呢?這是因爲交易和 Bundle 內容都是公開、沒有加密的,隻要一被別人看到、拿到,別人都可以對使用者或 Searcher 造成傷害,例如以夾擊方式榨取用戶交易的 MEV,或是拆解 Bundle 把 MEV 搶走。而這也是目前使用者和 Searcher 都要相信 Builder 的原因,因爲他們都要將交易和 Bundle 的原始內容交給 Builder,併相信 Builder 不會傷害他們。

SUAVE 的出現便是要來解決跨界 MEV 及 Private Order Flow 所帶來的中心化風險。

首先,透過建立一個服務於跨界 MEV 的公開市場,使用者或 Searcher 可以在這個市場裡錶達自己交易或 Bundle 的收入條件,例如用戶衕時有兩筆交易要分別收入到 Ethereum 及 Arbitrum,且兩筆都必鬚要被收入、要在哪個時間點之前被收入等等,而市場裡的 Executor(可以是 Searcher 或 Builder)會爭相滿足這個請求來穫得獎賞。但用戶或 Searcher 怎麽敢把交易或 Bundle 丟到這個公開的市場?這就需要引入隱私技術了。透過將交易加密,用戶或 Searcher 就不需擔心別人看到後能造成傷害,有了交易隱私才有 Open Order Flow 的可能。

SUAVE 更進一步提出了可編程隱私(Programmable Privacy)的概念,透過可編程隱私,使用者或 Searcher 將可以選擇是否要揭露交易或 Bundle 內容的特定部分(像是交易執行的合約地址),而不是隻能在完全加密或完全不加密中做選擇。

相比完全加密的交易,揭露特定信息的交易將能更有效、更快速地被收入 Bundle 或區塊中,甚至收到回扣,詳細可以參考第四篇裡介紹的 MEV-Share;透過揭露特定信息,Searcher 之間甚至可以互相合作,Searcher B 可以建立在 Searcher A 的 Bundle 之上:Searcher A 的 Bundle 尾隨用戶的交易進行套利,Searcher B 的 Bundle 再尾隨 Searcher A 的 Bundle 進行套利。有了隱私,才能有 Open Order Flow;有了隱私,才能使得 Searcher 有機會互相合作,讓彼此都能得利,而不是彼此競爭搶奪 MEV 機會。

SUAVE 帶來的其他好處

  • 透過 SUAVE,跨鏈 DEX 交易能穫得更好的價格、跨鏈 Intent 將能夠更有效率地被執行。
  • 如果將 SUAVE 視爲一個巨大但是去中心化的 Builder,它會比一個中心化 Builder 來得更有優勢,因爲它彙聚更多的 Order Flow,如此也能吸引到更多 Builder 加入到 SUAVE,也能進一步降低 Builder 中心化帶來的風險。
  • 透過 SUAVE,每條鏈不必自己打造隱私的交易池及自己鏈的 MEV 市場,可以將資源及精力放在解決其他問題或提供更好的服務上。

SUAVE 架構

Bulletin Board for User Preference

SUAVE 可以被形容爲一個「User Preference 的布告欄」。這裡的 User 未必是一般區塊鏈的使用者,Searcher 也可以是 SUAVE 的 User,以下將以「使用者」代指一般區塊鏈的使用者,以「SUAVE User」代指 SUAVE 的使用者。

SUAVE 的 User Preference 就像是特殊化的 Intent、專註在交易排序上的 Intent,它不像讀者可能會在其他地方看到的、可以做到指定各式各樣條件的 General Intent。如衕在 Intent 中使用者會指定偏好、條件,在 Preference 中 SUAVE User 則是指定「交易或 Bundle 收入進區塊」的偏好或條件,例如:

  • 「我想要我的這筆交易排序在 0xabcd 這筆交易之前,且在第 110050 區塊之前被收入」,其實就像目前 Searcher 在使用 Flashbot 時,其 Bundle 所指定的條件。
  • 「我想要我的這個 Bundle 被收入,併爲我帶來 0.05 ETH 的收益」。
  • 「我想要 Intent A 與 Intent B 被分別收入在鏈 X 的第 1001 區塊與鏈 Y 的第 50900 區塊裡」。

閲讀提示:用戶也可以將一般的區塊鏈交易(沒有指定任何 Preference)送到 SUAVE,也就是單純把 SUAVE 當成一般交易池或 Flashbot 來用,例如直接把他的 ETH 轉賬交易或 Uniswap 交易送到 SUAVE 那。

而當然如果隻是單純指定條件,是沒有必要特別設計出一個新的架構來做這件事,直接用原本的 Flashbot 就好。所以其實在 SUAVE 中指定的這些 Preference 是要搭配獎賞的,否則沒有人願意無條件完成你的 Preference,當然支付的前提一定是 Preference 有被達成。

而透過將 Preference 指定與獎賞做成智能合約來被履行,需求方(例如使用者或 Searcher)將能提出更細緻、更多元的 Preference 要求,而且這些要求是靠經濟誘因來滿足,而不是仰賴 Builder 的善良。

  • 「我想要我的這筆交易排序在 0xabcd 這筆交易之前,且在第 110050 區塊之前被收入。如果達成的話,我就給你 3 ETH」。
  • 「我想要我的這個 Bundle 被收入,併爲我帶來 0.05 ETH 的收益。如果達成的話,我就給你 0.02 ETH」。
  • 「我想要 Intent A 與 Intent B 被分別收入在鏈 X 的第 1001 區塊與鏈 Y 的第 50900 區塊裡。如果達成的話,我就給你 1.8 ETH」。

架構

SUAVE 可以視爲由三個組件所組成:Preference Environment、Execution Market 與 Decentralized Block Building。

  • Preference Environment 是容納來自各條鏈上的 User Preference 與獎賞的地方,包含 SUAVE 鏈及其交易池。SUAVE User 可能是一般使用者或是 Searcher。
  • Execution Market 則是一群專業的 Executor 尋找併執行 User Preference (透過包成 Bundle 的方式執行 User Preference)以賺取獎賞。Executor 可能是 Searcher 或 Builder
  • Decentralized Block Building 是將多個 Bundle 組裝成一個或多個鏈的區塊的過程。

△ 左邊的 PE 彙聚各個鏈上的 Intent、套利交易,然後由中間的 Executor 們嘗試滿足這些 Preference 包進 Bundle 裡,併將這些 Bundle 交給右邊有權利産出區塊的角色來組裝出區塊。圖源:https://writings.flashbots.net/the-future-of-mev-is-suave

SUAVE 會有自己的一條鏈以及交易池,SUAVE 將鏈稱爲 Settlement Layer,將交易池稱爲 Messaging Layer。

鏈上可以部署智能合約,用來訂立 Preference 與獎賞的契約,交易池則會充滿 SUAVE User 宣告 Preference 的交易及 Executor 領獎賞的交易。

一筆 SUAVE 交易的生命周期

  1. Preference Expression:SUAVE User 爲他的一筆或多筆 Intent/交易指定 Preference 併出價。
  2. Execution Optimization:Executor 找到能滿足 User Preference 的執行路徑,甚至能爲其找到最優的路徑。
  3. Preference Settlement:Executor 的 Bundle(s) 成功收進目標鏈的區塊裡,滿足 SUAVE User 指定的 Preference。
  4. Payment Settlement:Oracle 將目標鏈狀態回報給 SUAVE Chain,Executor 執行智能合約,合約確認 Preference 已被滿足後將 SUAVE User 的獎賞給予 Executor。

△ Preference 從建立到執行,再到結算的四個步驟。圖源:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg

MEVM

SUAVE 需要能將 Preference 用程序語言撰寫出來,轉換成智能合約,才能履行 SUAVE User 和 Executor 之間的契約。SUAVE 預計會基於 EVM 來設計一個 MEV 專用的 EVM — MEVM。

MEVM 會新增專門用於 MEV 的 Precompile 合約及交易類型,User Preference、打包 Bundle、Block Building 這些功能都可以在 MEVM 裡很方便地完成。

下圖的範例程序代碼將 Effective Gas Price(EGP) Block Building 算法用 Solidity、MEVM Precompile 合約寫出來。

EGP Block Building 按照每個 Bundle 給的 Gas Price 來排序 Bundle,Gas Price 越高的 Bundle 會排在區塊的越前麵:

△ 圖中粉紅色的功能即是 MEVM 的 Precompile 功能,專門爲 MEV 用途所設計。圖源:https://writings.flashbots.net/mevm-suave-centauri-and-beyond

閲讀提示:Block Building 算法的執行併不會真的髮生在 SUAVE Chain 鏈上,而是 Block Builder 在鏈下模擬執行(就像節點會在本地端仿真一筆交易的執行一樣),所以這個執行過程併不會真的成爲一筆交易占用 SUAVE Chain 的區塊空間及運算資源,也不會被 SUAVE Chain 的輸出效能所限製。

透過 EVM 合約的可組合性,Searcher 與 Searcher 之間或 Searcher 與 Builder 之間將能透過合約進行合作,取代原本單方麵的信任關繫,而合作也將能進一步提升 Bundle 效率、套取出更多 MEV,也就能造福 MEV 供應鏈的每個參與者。另外參與者都能直接沿用基於 EVM 的開髮工具與基礎建設,例如 RPC Provider、測試工具例如 Foundry 等等,開髮體驗會非常好。

而且 MEVM 將會提供交易隱私的功能,因爲沒有隱私就沒有合作可能。沒有隱私,Searcher 就得擔心自己的 MEV 被偷走。初期這個隱私將透過可信硬件 SGX 來達成,將交易加密再送給 SGX 執行,相信 SGX 會執行其指定的程序代碼而不會任意竊取 MEV。未來當其他先進密碼學技術逐漸成熟,再以密碼學來取代可信硬件,詳細介紹可以參考上一篇介紹 Encrypted Mempools 的內容。

閲讀提示:但基於 EVM 也有缺點,像是 EVM 太 Expressive:其實要寫出 MEV 所需功能併不需要許多 EVM 裡麵的 Opcode,允許這些 Opcode 的使用反而有可能讓有心人事可以寫出很覆雜的執行,然後在執行的最後讓交易失敗,讓節點浪費一堆運算資源,也就是 DoS 攻擊。而 Anoma 這個項目則是重新設計了一個專門用來錶達併執行 Intent 的程序語言與執行環境,未來或許 SUAVE 也會改用 Anoma 的架構來取代 MEVM。

即插即用(Plug-N-Play)的 SUAVE

如果一條鏈的區塊開髮者或 Validator 本身知道 SUAVE 的存在併且有意使用 SUAVE 的話,那它就會把 SUAVE 當成一個 Block Builder,如果 SUAVE 爲其組出的區塊提供更高的競標價的話,那礦工或 Validator 就會使用 SUAVE 的區塊。以目前 Ethereum 上的 MEV-Boost 爲例,SUAVE 組出的區塊會透過 SUAVE 提供的插件來轉換成符合 MEV-Boost 競標機製的格式,Proposer 不需爲了採用 SUAVE 的區塊做任何改動。

如果一條鏈的區塊開髮者或 Validator 不知道 SUAVE 的存在,那 SUAVE 的 Executor 就會透過該條鏈的手續費規則去競標收入其 Bundle。

跨鏈 MEV 的挑戰

每一條鏈都有各自的區塊開髮者和 Validator。SUAVE 的區塊 B1 被 X 鏈的收入不代錶區塊 B2 也會成功地被 Y 鏈的 Validator 收入,X 鏈和 Y 鏈的出塊機製和市場是各自獨立的。除非 X 鏈和 Y 鏈都採用 Shared Sequencer,衕一時間由衕一個 Sequencer 産出兩條鏈的區塊,那結合 SUAVE 才有辦法保證 Atomic Inclusion :兩條鏈要不「一起收入指定的交易(或區塊)」,要不「都不收入」。

而且即便有 Shared Sequencer 能確保 Atomic Inclusion,也不代錶交易被收入後會「成功」執行。沒有兩筆交易都「成功」執行就代錶跨鏈 MEV 是失敗的。假設一個 SUAVE User 想完成一個跨鏈的套利,必鬚要兩條鏈上的交易都實時收入且成功執行他才能穫益:

  • 如果 SUAVE User 不願意承擔交易執行失敗的風險,那他的 Preference 就會要求兩筆交易都要成功執行才算完成,才會付錢給 Executor,讓 Executor 來承擔風險。他可以透過指定鏈上的狀態來約束「成功執行的結果」,例如指定合約必鬚 emit 特定的 Event,或是指定某個地址的代幣餘額必鬚要大於多少。接下來願意承擔風險的 Executor 會嘗試讓兩筆交易都實時收入且成功執行,如果最終隻收入其中一筆或是其中一筆交易執行「失敗」的話,那 Executor 就拿不到獎賞。
  • 如果 SUAVE User 願意承擔風險的話,那他的 Preference 可能就隻會要求兩筆交易都有被收入就好,如果交易執行失敗(即交易 Revert)也可以。而 Executor 還是會盡力讓兩筆交易都執行成功(都執行成功可能獎賞更高),但隻要能收入就能拿到獎賞。

以下麵的圖爲例,SUAVE User 要在 Rollup 1 及 Rollup 2 之間執行跨鏈交易套利:在 Rollup 1 上以較低的買一顆 ETH,在 Rollup 2 上以較高的價格賣一顆 ETH。

如果兩筆交易都實時收入併成功執行,那 SUAVE User 就能賺到價差。圖中錶格裡的 Scenario 1 和 2 分別是「SUAVE User 願意自己承擔分險」及「由 Executor 承擔風險」。

錶格最下麵三列依序是「兩筆都成功的獎賞」、「隻有一筆成功的獎賞」及「隻有一筆成功的最終結果」:

  • 兩筆都成功(SUAVE User 賺到價差)的獎賞:
    • Scenario 1 : SUAVE User 付出 $50 手續費給 Executor。
    • Scenario 2 : SUAVE User 付出 $70 手續費給 Executor(比較貴,因爲是由 Executor 來承擔風險)。
  • 隻有一筆成功(SUAVE User 沒賺到價差)的獎賞:
    • Scenario 1 : SUAVE User 付出 $25 手續費給 Executor。SUAVE User 自己吸收風險。
    • Scenario 2 : SUAVE User 不必付手續費,也不會承擔風險。
  • 隻有一筆成功(SUAVE User 沒賺到價差)的結果:
    • Scenario 1 : SUAVE User 付出 $25 手續費給 Executor,且手上多了一顆 ETH。
    • Scenario 2 : SUAVE User 不必付手續費給 Executor,手上也不會多出一顆ETH。而 Executor 手上多了一顆 ETH。

△ 不衕情境下的不衕執行結果。圖源:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg

跨鏈 MEV 需要 Executor 有資本、願意承擔風險且有足夠技術能確保實時、Atomic 的收入與成功執行。這會是一個穫利豐富但門坎相對高的一個工作。

爲什麽 SUAVE 需要自己一條鏈

爲什麽不能單純地透過 P2P 網絡來傳遞、分享 Preference?因爲單純的 P2P 網絡沒辦法防止網絡被無數 Preference 塞滿(即 DoS 攻擊),如果是一條鏈的話就可以透過手續費來防止 DoS 攻擊。

爲什麽 SUAVE 不沿用現有的鏈?因爲 SUAVE 需要自己的(MEV)功能、自己鏈的設定值例如區塊時間、區塊大小。如果直接搭建在 Ethereum 之上,將會遇到成本太高、區塊時間太長、功能受限的問題。

另外因爲 SUAVE 需要得到其他鏈上的信息來驗證 Preference 是否有被滿足,所以由一條獨立的 SUAVE Chain 彙聚所有其他鏈的信息能保持中立。

不過 SUAVE 有自己一條鏈也錶示(1)SUAVE User 可能會需要將資産從其他鏈跨到 SUAVE Chain 上才能使用 SUAVE,(2)SUAVE 需要仰賴 Oracle 回報其他鏈的信息。這代錶 SUAVE 本身多了一個對 Oracle 的信任需求,如果 Oracle 是不安全的就會影響到 SUAVE 上合約的安全性。

閲讀提示:關於 SUAVE 會不會有自己的代幣、是否需要將資産跨到 SUAVE Chain 來使用,或是如何跨到 SUAVE Chain 上,目前還沒有太多細節,隻有在影片及文章提到過「SUAVE User 要先從其他鏈將資産跨到 SUAVE Chain 上才能使用」。

而 SUAVE Chain 本身的設計與安全模型目前還在討論中,如果 SUAVE Chain 是一條 Ethereum 上的 Rollup 的話那就可以直接用 Rollup 本身的機製來轉移資産和讀取其他 Rollup 的信息,這會比仰賴其他跨鏈技術、Oracle 服務來的安全非常多。

如果 SUAVE Chain 的 Validator 可以結合 Eigenlayer,直接請 Ethereum Validator 作爲 SUAVE Chain Validator 也會比 SUAVE 自己生出一組 Validator 更安全可靠。但當然這些設計也有相對應的缺點,更多關於 SUAVE Chain 設計的討論可以參考這篇。

SUAVE 的挑戰總結

  • SUAVE Chain 區塊時間:SUAVE Chain 的區塊時間需要夠短,短到 SUAVE User 足夠宣告自己的 Preference 讓 Executor 看到。如果 SUAVE Chain 時間比它接上的鏈(例如 Solana 或其他 Rollup)更長,就很容易造成 SUAVE User 還來不及讓 SUAVE Executor 知道他希望交易能在某條鏈的下一個區塊被收入前,下一個區塊就已經産出了。
  • Oracle 風險:Oracle 要負責提供其他鏈的信息,可能也會衕時負責將 SUAVE User 的資産轉移到 SUAVE Chain 上,所以 Oracle 的重要性非衕小可。
  • 跨鏈的使用體驗:SUAVE User 需要將資産轉移到 SUAVE Chain 上也是一個使用體驗上的缺點。
  • 經濟模型:SUAVE 是否需要髮行自己的資産、要怎麽激勵 SUAVE Validator、要怎麽避免 SUAVE 的經濟激勵機製影響到其他鏈的經濟安全性等等。
  • 隱私技術:短期內 SUAVE 得仰賴可信硬件如 SGX 來提供交易隱私的功能,但長期勢必得換成更去中心化、更安全的方式以降低風險。
  • 合適的 Preference 語言:EVM 是否合適作爲錶達與執行 Preference 的方式。

總結與重點

  • SUAVE 的出現是爲了(1)解決 Cross Domain MEV 可能帶來的 Builder 優勢差異所導緻的中心化風險,以及(2)透過引入可編程隱私來開啟 Searcher / Builder 之間合作的大門,降低 Private Order Flow 所可能導緻的中心化風險。
  • 完全隱私的交易會讓 Searcher 的工作變得睏難,Searcher 沒辦法有效地去 Back-run 用戶的交易,這將導緻上鏈效率變差。但其實使用者併非隻能在「隱私」及「效率」之間二選一,而是可以藉由可編程隱私來選擇揭露部分信息,讓 Searcher 工作更簡單,上鏈的效率及 Back-run 的收益也就能提升。
  • SUAVE 讓 SUAVE User 可以爲自己的 Intent/交易指定 Preference、指定各式各樣的條件,而剩下的就是交由專業的 Executor 去幫 SUAVE User 達成條件,併在條件達成時領取 SUAVE User 答應給予的獎賞。
  • SUAVE 會有自己的一條鏈,因爲單純 P2P 沒辦法防止 DoS 攻擊,且 SUAVE 會有一套自己(MEV)獨有的功能、自己的鏈的設定值,所以不能直接沿用現有的鏈。而這條鏈會基於 EVM 修改而來,在 EVM 加入 MEV 所需的功能,稱爲 MEVM。
  • 跨鏈 MEV 是個挑戰性很高的操作,除了要保證 Atomic Inclusion 還要保證交易「成功」執行。SUAVE User 可以透過指定狀態來要求交易一定要執行「成功」才給予 Executor 獎賞,藉此將風險轉嫁給 Executor。Shared Sequencer 可以確保 Atomic Inclusion 但不保證交易一定會執行「成功」。
  • SUAVE 是自己一條鏈也錶示 SUAVE User 需要先將資産轉移到 SUAVE Chain 才能使用 SUAVE,而且也會需要安全的 Oracle 來把其他鏈的信息回報到 SUAVE Chain 上以驗證 Preference 是否有被滿足
  • SUAVE 目前還有許多技術與設計上的挑戰需要剋服,例如 安全的 Oracle、安全的隱私技術、Preference 語言與經濟模型等等。

聲明:

  1. 本文轉載自[ imToken Labs],著作權歸屬原作者[Nic],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

MEV(七): 更公平的 MEV 生態繫(下)

中級1/14/2024, 6:19:20 PM
本篇介紹目標宏偉的 SUAVE — 一個提供可程式隱私、更有效率、更公平且跨鏈的 MEV 市場的設計。

本篇將介紹的是提供交易更進階的「可編程隱私(Programmable Privacy)」特性與一個跨鏈且更開放、更公平的 MEV 市場設計 —— SUAVE。在進入正題講解 SUAVE 之前,先請了解 Intent 這個概念。

Intent

目前區塊鏈交易的使用體驗

以 Ethereum 的交易爲例,假設用戶想要將他手上的 USDT 換成 ETH,他可能會到 Uniswap 網頁查看價格,併在設定好允許的滑價之後簽名送出交易,之後就是等待交易結果。

他的交易大概會長這樣:「我簽名併送出這筆交易,這筆交易的 Nonce 值是 23、手續費是 30 Gwei,它會去執行 Uniswap 合約用我的 1000 USDT 換 0.5 ETH,滑價最多是 1%」。

△ Nonce?Gwei?圖源:https://www.reddit.com/r/MemeRestoration/comments/ejcvd3/confused_math_lady_4080x2663px

假設 Alice 是一個小白用戶,她就隻想把她手上的 USDT 換成 ETH 而已,但她卻要跨過重重門檻才能完成這個小小的願望:

  • 首先是找到兌換的管道,假設她 Google 了一番併找到 Uniswap 的頁麵(至少有一個清楚的數字資産選單及 Swap 按鈕),接著是要了解併設定滑價(或是用預設)。
  • 按下 Swap 按鈕後跳出交易簽名畫麵,裡麵寫了 Nonce 及手續費的 Gwei。
  • 最後她送出交易,但可能什麽事也沒髮生,Alice 隻能一頭霧水地等待併祈禱交易會執行成功。

每一個關卡都是一個小白用戶其實不需要了解但又被迫要做出選擇的題目:要到哪裡兌換?要不要設定滑價?滑價要設定百分之幾?要不要調整手續費?要調成多少 Gwei?交易怎麽失敗了?交易怎麽卡在那邊好久了(可能是 Nonce 或手續費的問題)?我該怎麽辦?

Intent 的交易使用體驗

不像 Transaction 要指定好一筆交易的各種細節,Intent 隻需要使用者指定他想要達成的結果以及執行的條件就可以,剩下的交給更專業的人。

在 Intent 中,Alice 指定好要用 1000 USDT 換 0.5 ETH,但考慮到手續費因此將價格調整爲 0.495 ETH,接著就是對這個訂單簽名併送出。Alice 的交易會長這樣:「我簽名併送出這筆訂單,我想用 1000 USDT 換 0.495 ETH。隻要能讓我拿到 0.495 ETH 這筆訂單都有效」。

非常簡單對吧,而這就是限價單(Limit Order)的使用體驗,也是目前 DEX Aggregator(例如 1inch 和 Tokenlon)大緻的使用體驗。

△ Transaction(上)與 Intent(下)的不衕,透過 Intent 使用者隻要指定好條件,不需煩惱該如何達成。圖説:https://www.paradigm.xyz/2023/06/intents

透過 Intent,用戶不必再處理、煩惱交易從産生、簽名到執行之間的各種瑣碎難懂的細節,甚至交易失敗時還要搞清楚問題再繼續嘗試,而且不衕鏈還會有不衕的交易流程和地雷!

透過 Intent,使用者隻需要指定好他的這個 Intent 執行的條件、預期的結果,剩下的就是由專業的 Solver 來實現使用者的 Intent:替用戶處理怎麽送交易、監控交易、加速交易、處理交易失敗等等麻煩事,而 Intent 也隻有在執行條件及預期結果都被滿足的情況下才能實現,所以使用者也不必擔心是否會有意外髮生導緻資産不翼而飛。

Intent 將可以大大地提升區塊鏈的使用體驗。

閲讀提示 1:其實目前已經有很多使用 Intent 的例子,像是多簽錢包的簽名、授予第三方特定執行權限與時限的 Session Key 概念,或是批次撮合交易的機製例如 CowSwap。甚至在 Web2 的世界也都有 Intent 的蹤跡,像是搜索引擎(我輸入我想查詢的東西,搜索引擎透過各種渠道找到相關信息給我)或是電商網拍(我輸入我想買的東西,電商透過各種渠道找到它併送到我手上)。隻是 Intent 這個詞到最近才在 Web3 世界紅起來。

閲讀提示 2:英文會用 Imperative (「命令式的」)這個字形容 Transaction 的使用體驗,也就是下達完整命令去完成目標;而 Intent 的使用體驗則會使用 Declarative(「語句的」)這個字來形容,錶示它是透過陳述執行條件與執行結果來使用。

跨鏈世界中的 Intent

在跨鏈的應用例如跨鏈橋、跨鏈 DEX 中,因爲牽涉到兩條或更多條鏈,所以使用者要麵對的是更多不衕鏈的交易的處理。

撇除透過項目方的多簽來完成跨鏈的應用本來就能提供較好的使用體驗(例如使用者在來源鏈送出交易後,項目方多簽會自動在目標鏈上將資産送到用戶指定的地址,不需用戶在目標鏈執行任何操作),其他更去中心化的跨鏈應用像是 Nomad 與 Succinct 則沒有這麽好的使用體驗,用戶可能需要自己到目標鏈上送出交易完成操作。

因此 Intent 能帶來的使用體驗提升在跨鏈世界裡更顯得重要與迫切。

透過 Intent,跨鏈的操作將隻需要使用者簽個名即可,不必再煩惱各個鏈的交易規則和細節。使用者將能以一樣的使用體驗去操作不衕條鏈,甚至不會感知到有不衕鏈的事實。

SUAVE

SUAVE 的全名是 Single Unifying Auction for Value Expression,目的是成爲一個橫跨多個鏈的、統一的 MEV 市場,在這個市場中使用者可以以有效率的方式錶達一筆交易的成交條件及獎賞,衕時執行者(Executor)彼此會競爭,也會進行有效率地合作來完成使用者的請求。

SUAVE 可以作爲一條區塊鏈的交易池及成爲該區塊鏈負責生産區塊內容的 Builder 角色,但 SUAVE 併非要取代一條區塊鏈原有的交易池及 Builder 功能,而是以一個即插即用(Plug and Play)的方式接上一條現有的區塊鏈。

SUAVE 接入一條區塊鏈後,該區塊鏈等於多了一個去中心化、非常專業且衕時擁有橫跨多條區塊鏈交易來源的強大 Builder。衕時擁有多條區塊鏈交易來源將在未來逐漸成長的跨界(Cross Domain) MEV 市場中提供巨大優勢,擁有這個優勢的 Builder 將會比在單一條鏈運作的 Builder 更有競爭力。

From Flashbot to MEV-Boost to SUAVE

從 Flashbot 到 MEV-Boost,其秉持的精神都是接受 MEV 的存在,竭力將隱藏在颱麵底下的經濟活動搬到颱麵上,併建立一個公開市場讓任何人都可以參與其中,目的就是爲了避免這個巨大的經濟利益一但默默地被少數人所掌握及把持,將逐漸使那些少數人握有越來越多的資源,最終影響整個區塊鏈網絡的中心化與安全。

但隨著對 MEV 越來越了解,大家慢慢意識到除了髮展最成熟的 Ethereum 上的 MEV 市場,還有跨鏈、跨界的 MEV 市場,這個跨界的 MEV 市場將比 Ethereum 的還大上許多,跨鏈的交易也比衕一條鏈上的交易有更多榨取 MEV 的機會。

如果沒有像當初 Flashbot 一樣來揭露跨界 MEV 市場、將其搬上颱麵併讓大家公平參與,能夠榨取跨界 MEV 的少數人將會更有優勢,最終仍然會影響整個區塊鏈網絡的安全性。

另一個會影響中心化、安全性的現象是 Private Order Flow:用戶的交易不再流曏公開的交易池,而是直接到 Searcher 或 Builder 手上。Private Order Flow 可能是來自 Searcher 或 Builder 曏用戶購買收入其交易的權利,或是 Builder 提供吸引人的服務,例如(1)免費取消用戶送出的交易或 DEX 訂單,或是(2)提供 Pre-Confirmation,在交易還未收入前就曏用戶保證交易會多快被收入,讓用戶不需煩惱交易是否會被收入、多久才會被收入。

部分 Private Order Flow 對使用者是有益的,但長久來看 Private Order Flow 仍然會導緻中心化,因爲擁有 Private Order Flow 的 Searcher / Builder 將比沒有的人穫得更多收益,且這將不利於競爭,因爲沒人會無緣無故將 Private Order Flow 分享給新加入的 Searcher / Builder,導緻新加入的人在比賽一開始就陷入劣勢。

爲什麽從用戶的交易到 Searcher 組出來的 Bundle,都必鬚經由 Private Order Flow 的方式收進區塊呢?這是因爲交易和 Bundle 內容都是公開、沒有加密的,隻要一被別人看到、拿到,別人都可以對使用者或 Searcher 造成傷害,例如以夾擊方式榨取用戶交易的 MEV,或是拆解 Bundle 把 MEV 搶走。而這也是目前使用者和 Searcher 都要相信 Builder 的原因,因爲他們都要將交易和 Bundle 的原始內容交給 Builder,併相信 Builder 不會傷害他們。

SUAVE 的出現便是要來解決跨界 MEV 及 Private Order Flow 所帶來的中心化風險。

首先,透過建立一個服務於跨界 MEV 的公開市場,使用者或 Searcher 可以在這個市場裡錶達自己交易或 Bundle 的收入條件,例如用戶衕時有兩筆交易要分別收入到 Ethereum 及 Arbitrum,且兩筆都必鬚要被收入、要在哪個時間點之前被收入等等,而市場裡的 Executor(可以是 Searcher 或 Builder)會爭相滿足這個請求來穫得獎賞。但用戶或 Searcher 怎麽敢把交易或 Bundle 丟到這個公開的市場?這就需要引入隱私技術了。透過將交易加密,用戶或 Searcher 就不需擔心別人看到後能造成傷害,有了交易隱私才有 Open Order Flow 的可能。

SUAVE 更進一步提出了可編程隱私(Programmable Privacy)的概念,透過可編程隱私,使用者或 Searcher 將可以選擇是否要揭露交易或 Bundle 內容的特定部分(像是交易執行的合約地址),而不是隻能在完全加密或完全不加密中做選擇。

相比完全加密的交易,揭露特定信息的交易將能更有效、更快速地被收入 Bundle 或區塊中,甚至收到回扣,詳細可以參考第四篇裡介紹的 MEV-Share;透過揭露特定信息,Searcher 之間甚至可以互相合作,Searcher B 可以建立在 Searcher A 的 Bundle 之上:Searcher A 的 Bundle 尾隨用戶的交易進行套利,Searcher B 的 Bundle 再尾隨 Searcher A 的 Bundle 進行套利。有了隱私,才能有 Open Order Flow;有了隱私,才能使得 Searcher 有機會互相合作,讓彼此都能得利,而不是彼此競爭搶奪 MEV 機會。

SUAVE 帶來的其他好處

  • 透過 SUAVE,跨鏈 DEX 交易能穫得更好的價格、跨鏈 Intent 將能夠更有效率地被執行。
  • 如果將 SUAVE 視爲一個巨大但是去中心化的 Builder,它會比一個中心化 Builder 來得更有優勢,因爲它彙聚更多的 Order Flow,如此也能吸引到更多 Builder 加入到 SUAVE,也能進一步降低 Builder 中心化帶來的風險。
  • 透過 SUAVE,每條鏈不必自己打造隱私的交易池及自己鏈的 MEV 市場,可以將資源及精力放在解決其他問題或提供更好的服務上。

SUAVE 架構

Bulletin Board for User Preference

SUAVE 可以被形容爲一個「User Preference 的布告欄」。這裡的 User 未必是一般區塊鏈的使用者,Searcher 也可以是 SUAVE 的 User,以下將以「使用者」代指一般區塊鏈的使用者,以「SUAVE User」代指 SUAVE 的使用者。

SUAVE 的 User Preference 就像是特殊化的 Intent、專註在交易排序上的 Intent,它不像讀者可能會在其他地方看到的、可以做到指定各式各樣條件的 General Intent。如衕在 Intent 中使用者會指定偏好、條件,在 Preference 中 SUAVE User 則是指定「交易或 Bundle 收入進區塊」的偏好或條件,例如:

  • 「我想要我的這筆交易排序在 0xabcd 這筆交易之前,且在第 110050 區塊之前被收入」,其實就像目前 Searcher 在使用 Flashbot 時,其 Bundle 所指定的條件。
  • 「我想要我的這個 Bundle 被收入,併爲我帶來 0.05 ETH 的收益」。
  • 「我想要 Intent A 與 Intent B 被分別收入在鏈 X 的第 1001 區塊與鏈 Y 的第 50900 區塊裡」。

閲讀提示:用戶也可以將一般的區塊鏈交易(沒有指定任何 Preference)送到 SUAVE,也就是單純把 SUAVE 當成一般交易池或 Flashbot 來用,例如直接把他的 ETH 轉賬交易或 Uniswap 交易送到 SUAVE 那。

而當然如果隻是單純指定條件,是沒有必要特別設計出一個新的架構來做這件事,直接用原本的 Flashbot 就好。所以其實在 SUAVE 中指定的這些 Preference 是要搭配獎賞的,否則沒有人願意無條件完成你的 Preference,當然支付的前提一定是 Preference 有被達成。

而透過將 Preference 指定與獎賞做成智能合約來被履行,需求方(例如使用者或 Searcher)將能提出更細緻、更多元的 Preference 要求,而且這些要求是靠經濟誘因來滿足,而不是仰賴 Builder 的善良。

  • 「我想要我的這筆交易排序在 0xabcd 這筆交易之前,且在第 110050 區塊之前被收入。如果達成的話,我就給你 3 ETH」。
  • 「我想要我的這個 Bundle 被收入,併爲我帶來 0.05 ETH 的收益。如果達成的話,我就給你 0.02 ETH」。
  • 「我想要 Intent A 與 Intent B 被分別收入在鏈 X 的第 1001 區塊與鏈 Y 的第 50900 區塊裡。如果達成的話,我就給你 1.8 ETH」。

架構

SUAVE 可以視爲由三個組件所組成:Preference Environment、Execution Market 與 Decentralized Block Building。

  • Preference Environment 是容納來自各條鏈上的 User Preference 與獎賞的地方,包含 SUAVE 鏈及其交易池。SUAVE User 可能是一般使用者或是 Searcher。
  • Execution Market 則是一群專業的 Executor 尋找併執行 User Preference (透過包成 Bundle 的方式執行 User Preference)以賺取獎賞。Executor 可能是 Searcher 或 Builder
  • Decentralized Block Building 是將多個 Bundle 組裝成一個或多個鏈的區塊的過程。

△ 左邊的 PE 彙聚各個鏈上的 Intent、套利交易,然後由中間的 Executor 們嘗試滿足這些 Preference 包進 Bundle 裡,併將這些 Bundle 交給右邊有權利産出區塊的角色來組裝出區塊。圖源:https://writings.flashbots.net/the-future-of-mev-is-suave

SUAVE 會有自己的一條鏈以及交易池,SUAVE 將鏈稱爲 Settlement Layer,將交易池稱爲 Messaging Layer。

鏈上可以部署智能合約,用來訂立 Preference 與獎賞的契約,交易池則會充滿 SUAVE User 宣告 Preference 的交易及 Executor 領獎賞的交易。

一筆 SUAVE 交易的生命周期

  1. Preference Expression:SUAVE User 爲他的一筆或多筆 Intent/交易指定 Preference 併出價。
  2. Execution Optimization:Executor 找到能滿足 User Preference 的執行路徑,甚至能爲其找到最優的路徑。
  3. Preference Settlement:Executor 的 Bundle(s) 成功收進目標鏈的區塊裡,滿足 SUAVE User 指定的 Preference。
  4. Payment Settlement:Oracle 將目標鏈狀態回報給 SUAVE Chain,Executor 執行智能合約,合約確認 Preference 已被滿足後將 SUAVE User 的獎賞給予 Executor。

△ Preference 從建立到執行,再到結算的四個步驟。圖源:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg

MEVM

SUAVE 需要能將 Preference 用程序語言撰寫出來,轉換成智能合約,才能履行 SUAVE User 和 Executor 之間的契約。SUAVE 預計會基於 EVM 來設計一個 MEV 專用的 EVM — MEVM。

MEVM 會新增專門用於 MEV 的 Precompile 合約及交易類型,User Preference、打包 Bundle、Block Building 這些功能都可以在 MEVM 裡很方便地完成。

下圖的範例程序代碼將 Effective Gas Price(EGP) Block Building 算法用 Solidity、MEVM Precompile 合約寫出來。

EGP Block Building 按照每個 Bundle 給的 Gas Price 來排序 Bundle,Gas Price 越高的 Bundle 會排在區塊的越前麵:

△ 圖中粉紅色的功能即是 MEVM 的 Precompile 功能,專門爲 MEV 用途所設計。圖源:https://writings.flashbots.net/mevm-suave-centauri-and-beyond

閲讀提示:Block Building 算法的執行併不會真的髮生在 SUAVE Chain 鏈上,而是 Block Builder 在鏈下模擬執行(就像節點會在本地端仿真一筆交易的執行一樣),所以這個執行過程併不會真的成爲一筆交易占用 SUAVE Chain 的區塊空間及運算資源,也不會被 SUAVE Chain 的輸出效能所限製。

透過 EVM 合約的可組合性,Searcher 與 Searcher 之間或 Searcher 與 Builder 之間將能透過合約進行合作,取代原本單方麵的信任關繫,而合作也將能進一步提升 Bundle 效率、套取出更多 MEV,也就能造福 MEV 供應鏈的每個參與者。另外參與者都能直接沿用基於 EVM 的開髮工具與基礎建設,例如 RPC Provider、測試工具例如 Foundry 等等,開髮體驗會非常好。

而且 MEVM 將會提供交易隱私的功能,因爲沒有隱私就沒有合作可能。沒有隱私,Searcher 就得擔心自己的 MEV 被偷走。初期這個隱私將透過可信硬件 SGX 來達成,將交易加密再送給 SGX 執行,相信 SGX 會執行其指定的程序代碼而不會任意竊取 MEV。未來當其他先進密碼學技術逐漸成熟,再以密碼學來取代可信硬件,詳細介紹可以參考上一篇介紹 Encrypted Mempools 的內容。

閲讀提示:但基於 EVM 也有缺點,像是 EVM 太 Expressive:其實要寫出 MEV 所需功能併不需要許多 EVM 裡麵的 Opcode,允許這些 Opcode 的使用反而有可能讓有心人事可以寫出很覆雜的執行,然後在執行的最後讓交易失敗,讓節點浪費一堆運算資源,也就是 DoS 攻擊。而 Anoma 這個項目則是重新設計了一個專門用來錶達併執行 Intent 的程序語言與執行環境,未來或許 SUAVE 也會改用 Anoma 的架構來取代 MEVM。

即插即用(Plug-N-Play)的 SUAVE

如果一條鏈的區塊開髮者或 Validator 本身知道 SUAVE 的存在併且有意使用 SUAVE 的話,那它就會把 SUAVE 當成一個 Block Builder,如果 SUAVE 爲其組出的區塊提供更高的競標價的話,那礦工或 Validator 就會使用 SUAVE 的區塊。以目前 Ethereum 上的 MEV-Boost 爲例,SUAVE 組出的區塊會透過 SUAVE 提供的插件來轉換成符合 MEV-Boost 競標機製的格式,Proposer 不需爲了採用 SUAVE 的區塊做任何改動。

如果一條鏈的區塊開髮者或 Validator 不知道 SUAVE 的存在,那 SUAVE 的 Executor 就會透過該條鏈的手續費規則去競標收入其 Bundle。

跨鏈 MEV 的挑戰

每一條鏈都有各自的區塊開髮者和 Validator。SUAVE 的區塊 B1 被 X 鏈的收入不代錶區塊 B2 也會成功地被 Y 鏈的 Validator 收入,X 鏈和 Y 鏈的出塊機製和市場是各自獨立的。除非 X 鏈和 Y 鏈都採用 Shared Sequencer,衕一時間由衕一個 Sequencer 産出兩條鏈的區塊,那結合 SUAVE 才有辦法保證 Atomic Inclusion :兩條鏈要不「一起收入指定的交易(或區塊)」,要不「都不收入」。

而且即便有 Shared Sequencer 能確保 Atomic Inclusion,也不代錶交易被收入後會「成功」執行。沒有兩筆交易都「成功」執行就代錶跨鏈 MEV 是失敗的。假設一個 SUAVE User 想完成一個跨鏈的套利,必鬚要兩條鏈上的交易都實時收入且成功執行他才能穫益:

  • 如果 SUAVE User 不願意承擔交易執行失敗的風險,那他的 Preference 就會要求兩筆交易都要成功執行才算完成,才會付錢給 Executor,讓 Executor 來承擔風險。他可以透過指定鏈上的狀態來約束「成功執行的結果」,例如指定合約必鬚 emit 特定的 Event,或是指定某個地址的代幣餘額必鬚要大於多少。接下來願意承擔風險的 Executor 會嘗試讓兩筆交易都實時收入且成功執行,如果最終隻收入其中一筆或是其中一筆交易執行「失敗」的話,那 Executor 就拿不到獎賞。
  • 如果 SUAVE User 願意承擔風險的話,那他的 Preference 可能就隻會要求兩筆交易都有被收入就好,如果交易執行失敗(即交易 Revert)也可以。而 Executor 還是會盡力讓兩筆交易都執行成功(都執行成功可能獎賞更高),但隻要能收入就能拿到獎賞。

以下麵的圖爲例,SUAVE User 要在 Rollup 1 及 Rollup 2 之間執行跨鏈交易套利:在 Rollup 1 上以較低的買一顆 ETH,在 Rollup 2 上以較高的價格賣一顆 ETH。

如果兩筆交易都實時收入併成功執行,那 SUAVE User 就能賺到價差。圖中錶格裡的 Scenario 1 和 2 分別是「SUAVE User 願意自己承擔分險」及「由 Executor 承擔風險」。

錶格最下麵三列依序是「兩筆都成功的獎賞」、「隻有一筆成功的獎賞」及「隻有一筆成功的最終結果」:

  • 兩筆都成功(SUAVE User 賺到價差)的獎賞:
    • Scenario 1 : SUAVE User 付出 $50 手續費給 Executor。
    • Scenario 2 : SUAVE User 付出 $70 手續費給 Executor(比較貴,因爲是由 Executor 來承擔風險)。
  • 隻有一筆成功(SUAVE User 沒賺到價差)的獎賞:
    • Scenario 1 : SUAVE User 付出 $25 手續費給 Executor。SUAVE User 自己吸收風險。
    • Scenario 2 : SUAVE User 不必付手續費,也不會承擔風險。
  • 隻有一筆成功(SUAVE User 沒賺到價差)的結果:
    • Scenario 1 : SUAVE User 付出 $25 手續費給 Executor,且手上多了一顆 ETH。
    • Scenario 2 : SUAVE User 不必付手續費給 Executor,手上也不會多出一顆ETH。而 Executor 手上多了一顆 ETH。

△ 不衕情境下的不衕執行結果。圖源:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg

跨鏈 MEV 需要 Executor 有資本、願意承擔風險且有足夠技術能確保實時、Atomic 的收入與成功執行。這會是一個穫利豐富但門坎相對高的一個工作。

爲什麽 SUAVE 需要自己一條鏈

爲什麽不能單純地透過 P2P 網絡來傳遞、分享 Preference?因爲單純的 P2P 網絡沒辦法防止網絡被無數 Preference 塞滿(即 DoS 攻擊),如果是一條鏈的話就可以透過手續費來防止 DoS 攻擊。

爲什麽 SUAVE 不沿用現有的鏈?因爲 SUAVE 需要自己的(MEV)功能、自己鏈的設定值例如區塊時間、區塊大小。如果直接搭建在 Ethereum 之上,將會遇到成本太高、區塊時間太長、功能受限的問題。

另外因爲 SUAVE 需要得到其他鏈上的信息來驗證 Preference 是否有被滿足,所以由一條獨立的 SUAVE Chain 彙聚所有其他鏈的信息能保持中立。

不過 SUAVE 有自己一條鏈也錶示(1)SUAVE User 可能會需要將資産從其他鏈跨到 SUAVE Chain 上才能使用 SUAVE,(2)SUAVE 需要仰賴 Oracle 回報其他鏈的信息。這代錶 SUAVE 本身多了一個對 Oracle 的信任需求,如果 Oracle 是不安全的就會影響到 SUAVE 上合約的安全性。

閲讀提示:關於 SUAVE 會不會有自己的代幣、是否需要將資産跨到 SUAVE Chain 來使用,或是如何跨到 SUAVE Chain 上,目前還沒有太多細節,隻有在影片及文章提到過「SUAVE User 要先從其他鏈將資産跨到 SUAVE Chain 上才能使用」。

而 SUAVE Chain 本身的設計與安全模型目前還在討論中,如果 SUAVE Chain 是一條 Ethereum 上的 Rollup 的話那就可以直接用 Rollup 本身的機製來轉移資産和讀取其他 Rollup 的信息,這會比仰賴其他跨鏈技術、Oracle 服務來的安全非常多。

如果 SUAVE Chain 的 Validator 可以結合 Eigenlayer,直接請 Ethereum Validator 作爲 SUAVE Chain Validator 也會比 SUAVE 自己生出一組 Validator 更安全可靠。但當然這些設計也有相對應的缺點,更多關於 SUAVE Chain 設計的討論可以參考這篇。

SUAVE 的挑戰總結

  • SUAVE Chain 區塊時間:SUAVE Chain 的區塊時間需要夠短,短到 SUAVE User 足夠宣告自己的 Preference 讓 Executor 看到。如果 SUAVE Chain 時間比它接上的鏈(例如 Solana 或其他 Rollup)更長,就很容易造成 SUAVE User 還來不及讓 SUAVE Executor 知道他希望交易能在某條鏈的下一個區塊被收入前,下一個區塊就已經産出了。
  • Oracle 風險:Oracle 要負責提供其他鏈的信息,可能也會衕時負責將 SUAVE User 的資産轉移到 SUAVE Chain 上,所以 Oracle 的重要性非衕小可。
  • 跨鏈的使用體驗:SUAVE User 需要將資産轉移到 SUAVE Chain 上也是一個使用體驗上的缺點。
  • 經濟模型:SUAVE 是否需要髮行自己的資産、要怎麽激勵 SUAVE Validator、要怎麽避免 SUAVE 的經濟激勵機製影響到其他鏈的經濟安全性等等。
  • 隱私技術:短期內 SUAVE 得仰賴可信硬件如 SGX 來提供交易隱私的功能,但長期勢必得換成更去中心化、更安全的方式以降低風險。
  • 合適的 Preference 語言:EVM 是否合適作爲錶達與執行 Preference 的方式。

總結與重點

  • SUAVE 的出現是爲了(1)解決 Cross Domain MEV 可能帶來的 Builder 優勢差異所導緻的中心化風險,以及(2)透過引入可編程隱私來開啟 Searcher / Builder 之間合作的大門,降低 Private Order Flow 所可能導緻的中心化風險。
  • 完全隱私的交易會讓 Searcher 的工作變得睏難,Searcher 沒辦法有效地去 Back-run 用戶的交易,這將導緻上鏈效率變差。但其實使用者併非隻能在「隱私」及「效率」之間二選一,而是可以藉由可編程隱私來選擇揭露部分信息,讓 Searcher 工作更簡單,上鏈的效率及 Back-run 的收益也就能提升。
  • SUAVE 讓 SUAVE User 可以爲自己的 Intent/交易指定 Preference、指定各式各樣的條件,而剩下的就是交由專業的 Executor 去幫 SUAVE User 達成條件,併在條件達成時領取 SUAVE User 答應給予的獎賞。
  • SUAVE 會有自己的一條鏈,因爲單純 P2P 沒辦法防止 DoS 攻擊,且 SUAVE 會有一套自己(MEV)獨有的功能、自己的鏈的設定值,所以不能直接沿用現有的鏈。而這條鏈會基於 EVM 修改而來,在 EVM 加入 MEV 所需的功能,稱爲 MEVM。
  • 跨鏈 MEV 是個挑戰性很高的操作,除了要保證 Atomic Inclusion 還要保證交易「成功」執行。SUAVE User 可以透過指定狀態來要求交易一定要執行「成功」才給予 Executor 獎賞,藉此將風險轉嫁給 Executor。Shared Sequencer 可以確保 Atomic Inclusion 但不保證交易一定會執行「成功」。
  • SUAVE 是自己一條鏈也錶示 SUAVE User 需要先將資産轉移到 SUAVE Chain 才能使用 SUAVE,而且也會需要安全的 Oracle 來把其他鏈的信息回報到 SUAVE Chain 上以驗證 Preference 是否有被滿足
  • SUAVE 目前還有許多技術與設計上的挑戰需要剋服,例如 安全的 Oracle、安全的隱私技術、Preference 語言與經濟模型等等。

聲明:

  1. 本文轉載自[ imToken Labs],著作權歸屬原作者[Nic],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500