跳至主要內容

超越以太坊協定:提案者與建構者分離

關於提案者與建構者分離 (PBS) 的簡報,這是一種將以太坊中區塊建構與區塊提案角色分離的設計模式。

Date published: 2024年2月5日

本簡報解釋了以太坊的區塊生產如何從一個簡單的模型演變成一個涉及驗證者、建構者、搜尋者和中繼的複雜供應鏈。來自以太坊基金會的 Barnabé Monnot 詳細說明了為什麼會存在提案者與建構者分離,MEV-Boost 中繼如何調解提案者與建構者之間的關係,以及目前正在探索哪些協定內解決方案來減少信任依賴並提高抗審查性、MEV 分配和驗證者去中心化。

本逐字稿是西貝爾論壇 (CBER Forum) 發布的原始影片逐字稿 (opens in a new tab)的無障礙副本。為了提高可讀性,已進行了輕微的編輯。

簡介 (0:00)

我的名字是 Barnabé Monnot。我將談談協定之外發生的事情,特別是提案者與建構者分離 (proposer-builder separation, PBS) 的概念,以及它如何與中繼和大量鏈下基礎設施一起運作。

我喜歡將協定視為一個具有某些權力的抽象物件。協定擁有的權力之一是它能夠賦予某些參與者權利。我們在之前的演講中看到,協定授權驗證者執行共識職責,但這不是他們唯一做的事情——我們還必須將交易打包進區塊中。我們稱之為執行職責,這也是我在本次演講中想要關注的重點。

為什麼驗證者使用建構者 (0:46)

有趣的是,儘管協定是這些權利的來源並將其賦予驗證者,但我們在實踐中觀察到,許多驗證者選擇不親自列使這項權利。他們選擇將權利交給其他人代為執行。而在以太坊中,我們將這些「其他人」稱為建構者。

因此,我們觀察到的是,儘管驗證者繼續親自執行這些共識職責,但他們決定將執行職責傳遞給建構者。這實際上是一個相當龐大的市場。如今,大約 90% 的區塊是由外部建構者建構的,自 2022 年 12 月(合併後三個月)以來一直如此。建構者支付給驗證者的中位數大約是每個區塊 120 美元。每天支付的金額高達一百萬美元,而且每 12 秒,這個市場就有可能在一名提案者和一名建構者之間達成某種協議。

今天我想討論為什麼驗證者使用建構者,這種關係從何而來——我將在過程中介紹一些關於 MEV 和搜尋者的內容——然後我會告訴你這種關係是如何調解的,我還會談談現今存在的中繼以及我們正在考慮的協定內解決方案。我也想稍微從宏觀的角度來看,因為很容易看到這些畫面就覺得「噢,這太可怕了,那去中心化怎麼辦?」我想讓大家了解,這些都是正在進行的權衡,但在我看來,這些權衡是朝著正確的方向發展的。

樸素模型與 MEV (3:04)

你可以想像一個樸素的區塊生產模型,其中驗證者是根據領導者選擇過程選出的,他們必須製作一個包含來自記憶體池的交易列表的區塊。在最樸素的模型中,實際上只有兩方——一個監聽記憶體池的驗證者,當輪到他們製作區塊時,他們會取出支付最多費用的交易並將其加入,通常使用的是不太複雜的打包演算法。

在過去五年中,我們非常顯著地觀察到,這賦予了生產者很大的權力——特別是最後查看的權力 (power of last look)。他們可以看到使用者想要做什麼,例如他們看到使用者想要兌換某些東西,他們就可以利用這些資訊為自己提取利潤。

在最好的情況下,這種利潤來自於自然的市場功能,例如套利。在最壞的情況下,它可以直接來自使用者的口袋,例如三明治攻擊。舉例來說,使用者在尤尼斯瓦普 (Uniswap) 等市場上發出將代幣 A 兌換為代幣 B 的訂單。該交易將與部署在同一條鏈上的另一個市場產生價格失衡。生產者可以看到待處理交易,並插入自己的交易,在不同的市場上進行反向兌換,從中賺取套利利潤。

這確實賦予了生產者很大的權力,並使得成為區塊生產者的位置變得極具價值。這種生產者特權就是我們現在所說的最大可提取價值 (maximal extractable value, MEV)

搜尋者的角色 (5:43)

在實踐中,生產者可能不知道價值在哪裡。你可能會有一些不太複雜的區塊生產者——如前所述,任何人只要有足夠的資金並能夠運行一個節點,就可以成為驗證者。實際上,我可能不知道如何進行套利,或者對金融市場一無所知。我想要的是有人告訴我這些機會在哪裡——一個由人們競爭來告訴我作為區塊生產者最好該做什麼的市場。

這些非常擅長尋找機會的實體,我們稱之為搜尋者。他們向區塊生產者展現機會。搜尋者可能會透過公共記憶體池、暗池或私人管道觀察到使用者正在進行兌換,然後與驗證者溝通:「正在發生一筆兌換——如果你將這筆兌換與這個套利打包成一個原子交易包 (bundle) 並包含這個交易包,那麼你就可以從套利中賺錢。」你將會有許多搜尋者競爭來試圖說服區塊生產者。

如果搜尋者信任生產者能保持交易包的原子性,這個模型在實踐中就能運作良好。你最近可能聽說過以太坊上發生了一次攻擊,讓一群三明治攻擊者損失了 2500 萬美元——根本原因是攻擊者成功破壞了交易包的原子性,接收了內容並試圖重新組織和修改它們。這是一個非常重要的屬性,只有在可以信任生產者不會破壞這種原子性的情況下才真正成立。

為什麼我們需要建構者 (8:16)

如果生產者不可信,你該怎麼辦?在以太坊合併後,我們有獨立質押者——大約佔網路的 6%——我們並不認識他們。搜尋者不會真的想將交易包發送給這些區塊提案者,因為這有點太危險了。

因此,最終得出的設計是:與其讓搜尋者傳遞交易包讓生產者包含在他們的區塊中,不如我們直接為你製作整個區塊。這樣你就可以盲簽這個區塊——你不需要知道裡面有什麼,你相信建構者給了你一個好的區塊。

現在你有了一條更深的鏈:一端是驗證者,另一端是使用者,而在這兩者之間是整個中介鏈,隨著時間的推移變得越來越密集。建構者負責執行部分,而驗證者負責共識。

MEV-Boost 中繼如何運作 (13:01)

假設你是一個提案者,你想進入這個市場。這個區塊生產服務是一個經典的公平交換問題——雙方試圖達成協議,但他們互不信任。經典文獻告訴你,沒有受信任的第三方,你就無法進行公平交換。

我們今天用作受信任第三方的是我們所謂的中繼 (relay)——MEV-Boost 中繼。MEV-Boost 是調解建構者和驗證者之間互動的協定名稱。中繼位於中間,以確保雙方都能達成協議。

中繼有幾個角色。首先,它需要驗證建構者的有效負載——中繼可以清楚地看到建構者正在製作的區塊,並可以檢查它是否有效且可以提案給網路。有一種變體稱為樂觀中繼 (optimistic relay),其中中繼不會立即檢查有效性,而是要求建構者提供抵押品,以防區塊最終無效。

其次,建構者正在出價,試圖競爭成為驗證者選擇的建構者。中繼充當出價轉發器,將出價發送給驗證者。然後在最後一步,一旦驗證者從中繼中選擇了一個出價——驗證者可以連接到任意數量的中繼——他們就會簽署它,仍然不知道區塊內容是什麼,並將簽署的出價發送回中繼。有了這個簽署的出價,中繼就可以將區塊發布到網路。

中繼的經濟學很複雜。有些是免費的,有點像公共財。其他則開發了收入模型——例如,Ultrasound 中繼有一個「出價調整」,他們將最高出價和次高出價之間的差額作為收入。

信任與中繼 (17:01)

中繼是系統中受信任的第三方。假設中繼提供了一個無效的區塊——人們會立即看到它,因為它已經被簽署了,而且他們會非常迅速地斷開與該中繼的連接。你甚至可以廣播某種錯誤證明。在五個區塊內,如果中繼表現不佳,人們就會停止信任它並直接斷開連接。

因此,它是基於信任的,但前提是它可以相當快地被替換。中繼不是驗證者——它們不一定有質押,也不必與以太坊有任何關係。今天可能是我們認識和喜愛的人,但明天可能是任何人。

將 PBS 納入協定中 (20:01)

我們正試圖消除中繼作為受信任第三方的地位。在以太坊中,我們有一個我們喜歡的受信任第三方——那就是以太坊本身。你可以設計協定內解決方案,試圖從根本上將中繼的角色納入其中,並使其成為可選的依賴項。

目前,以太坊協定看到了驗證者正在做的部分事情,但對建構者網路卻完全視而不見。我們正試圖推動以太坊協定成為提案者和建構者之間互動的受信任第三方——從這個意義上說,我們不再需要依賴中繼。

約束建構者,擴大去中心化 (22:05)

宏觀的視角很重要。在每一層似乎都有不同的遊戲在發生,不同的玩家互相賺取對方的錢——這又是傳統金融的翻版嗎?我想說的是,這些權衡並非出於惡意。它們試圖利用這些系統的特性,我們認為這些特性有助於擴展系統並使其更有用。

Vitalik 談到了區塊鏈可能提供的服務存在根本的不對稱性。共識需要一個非常龐大的去中心化的群體來進行檢查。但有些服務真的只需要一個人把工作做好,然後讓其他人驗證工作是否做得好。我們只需要一個建構者來製作一個區塊,然後每個人都可以驗證它是有效的。

今天顯然有三個佔主導地位的建構者:Beaver Build、Titan 和 rsync Builder。這是一個好的狀態嗎?不見得——我們可以做得更好。但是,想像我們會擁有與驗證者一樣多的建構者,這現實嗎?可能不現實。

我們真正想要的是這層薄薄的驗證者,他們能夠約束並利用中間存在的高能力參與者,這些參與者可以執行不需要誠實多數假設的任務。

一些約束建構者的想法:

  • 包含列表 (Inclusion lists) — 驗證者告訴建構者「你必須在你的區塊中包含這些交易」
  • 部分區塊建構 (Partial block building) — 打破完整的區塊,這樣建構者就不會壟斷所有的空間
  • 減少第三方依賴 — 將中繼角色納入協定中

為了擴大驗證者去中心化:

  • 證明者與提案者分離 (Attester-proposer separation) — 不再預設讓驗證者成為區塊生產者,而是選擇另一組人成為區塊生產者並將角色解綁
  • 改進的質押機制 — 如今以太坊中的質押還有點初步,可以進一步改進

問答與結語 (27:03)

來自觀眾的問題:在傳統金融世界中,結算時間正從兩天縮短到一天。將結算時間從 12 秒縮短到更短的間隔,是否能解決一些搶跑問題?

人們正在討論這個問題——他們稱之為預先確認 (pre-confirmations)。這個想法是,你發送你的交易,然後有人告訴你「你已經進去了,以這個價格,在這個狀態上。」問題是,你的結算速度不能快於協定的運行速度。你無法獲得比 12 分鐘更快的最終性結算。你的速度不能快於區塊時間。

縮短區塊時間很困難,因為我們希望保持驗證者層盡可能去中心化,而縮短它只會增加硬體要求。

這個頁面對您有幫助嗎?