
對現在運行中的去中心化共識網絡的一個重大威脅是關於礦工可提取價值(miner extractable value) 的經濟學,即從選擇下一個區塊內容的能力中提取利潤的複雜技巧。一個簡單的MEV 例子是根據前一個區塊的價格變動在所有鏈上的去中心化交易所套利。儘管正常情況下PoS 的獎勵是合理的、平均的,即單個驗證者的回報率跟強大的質押池是一樣的,但現在找尋複雜的MEV 提取機會已經形成相當顯著的規模經濟了。 10 倍大的池子就有10 倍的機會提取MEV,但池子也需要能夠在專有的優化上投入更多,以在每個機會裡提取更多的價值。
除了這個問題以外,MEV 也讓去中心化的質押池變得更複雜,因為在去中心化質押池裡,打包交易和提議區塊仍然需要由一個實體來完成,他們可以輕易地秘密提取MEV,而不在池里分配這些收入。
最為人所知的是解決方案區塊提議者(proposer)/構建者(block builder)分離。不同於區塊提議者自己生成一個收入最大化的區塊,他們依賴一個市場,這個市場由外部的區塊構建者組成,他們生成包含完整區塊內容和給區塊提議者費用的交易捆,然後提議者選擇包含最高費用的交易捆。這樣,區塊提議者的選擇就被簡化為選擇費用最高的交易捆,這可以由一個簡單算法實現——在一個去中心化池裡,它甚至可以在MPC (多方計算) 裡完成,以防止作弊。
一級標題
一級標題
Optimised proposal commitment scheme 20
提議者/構建者分離的區塊提議設計的所需特性
我們會專注的五大所需特性:
無須信任提議者友好性:提議者欺負區塊構建者的風險幾乎是零,因此區塊構建者沒有動機偏向鏈下有聲譽的或與構建者有個人關係的提議者(因為這有可能偏向大型質押池)。
無須信任構建者友好性:構建者欺負提議者的風險幾乎是零,因此提議者沒有動機偏向鏈下有聲譽或與構建者有個人關係的構建者(因為這有可能導致新進入市場的構建者不被選擇)。
弱提議者友好性:這個機制不應該要求提議者有(i) 高帶寬或其他計算資源, 或(ii) 高技術水平
想法1
一級標題
想法1
區塊構建者構建交易捆並發布這些交易捆的捆頭(bundle head)。一個交易捆頭包含對交易捆主體(bundle body) 的承諾(預期的區塊內容),給提議者的付款信息,以及構建者的簽名。
提議者選擇提供最高費用的交易捆頭(僅需要考慮交易捆的構建者實際上是否有足夠的餘額可以支付)。他們對交易捆頭簽名並發布包含該交易捆頭的一個提議。
當看到有簽名的提議後,提供打包交易捆頭的區塊構建者發布完整的交易捆。
此時,分叉選擇規則能夠做出以下三個判斷中的一個(而不是平常的兩個,存在區塊vs. 不存在區塊):
不存在區塊提議
存在區塊提議但不存在交易捆主體
分析
分析
分析
五項特性中的三項是相當容易呈現的:
區塊提議者無條件接收承諾的付款,因此交易捆不能欺負提議者
三個步驟都非常自動化且低帶寬,因此這滿足弱提議者友好性
提議者不能看到他們要的簽名交易捆的信息,因此這滿足交易捆不可竊取性。
共識層特性和無須信任提議者友好性這兩點比較棘手。這個設計的確會改變分叉選擇機制,從兩個選項增加到三個,這意味著提議者將不再是這個機制裡的最後一個行動者。理論上,人們可以推斷如果分叉選擇是可以做出決定的,那麼這應該沒問題,但這仍然是一個具有潛在未知性的重大變更。
區塊提議者看不到交易捆的內容,並不能通過竊取交易捆欺負區塊構建者,但他們可以對區塊構建者發起一種更微妙的攻擊。他們可以在slot 末發布提議,確保證明者(大概) 能及時看到提議,但區塊構建者沒有足夠的時間發布交易捆主體,因此很有可能證明者來不及看到交易捆主體。這會給區塊構建者帶來風險,並等於鼓勵他們偏向值得信任的提議者。另外,這還給了惡意的大多數機會,重罰那些他們不喜歡的區塊構建者。
我覺得有兩套方法可以緩解這個問題。
證明者在他們接受提議的最長時間和他們接受交易捆主體的最長時間之間有2 秒的延遲。如果你信任證明者,這基本解決了問題,儘管區塊構建者丟失資金的這個風險仍然存在。另外,還不清楚讓證明者以這種方式投票是否有激勵作用(雖然可以想像到會有人通過要求他們對一個2 秒的可延遲驗證函數的提議做證明,強迫他們等待)
如果交易捆的主體沒有被打包,提議者只能獲得付款的一半(而區塊構建者只需支付一半)。這使得提議者的破壞行為成本很高,但它仍然確保區塊構建者破壞的成本也是高昂的(當兩種情況的成本都足夠高時,總的來說你就能信任即使是匿名行動者都不會想做破壞行為)。例如,如果一個交易捆的提議者費用是1,區塊構建者獲利1.05:
想法2
一級標題
想法2
區塊構建者構建並發布交易捆頭。交易捆頭包含對內容的承諾、給提議者的付款、以及構建者的簽名。
提議者對他們看到的交易捆頭進行選擇,形成列表,並對列表組成的聲明進行簽名。
在看到該聲明時,被選的區塊構建者會發布相應的交易捆主體。
提議者在他們之前承諾的一列交易捆頭中選出一個並用它發布提議。
分析
分析
分析
同樣地,五項特性中的三項式相當容易顯示的:
提議者不能竊取交易捆,因為當他們已經把自己限制在一個有限的現有交易捆頭集裡時,他們只能看到交易捆的主體。
當完整的交易捆沒有被打包前,構建者給提議者的付款是不可能成功的,因此提議者也無法在經濟上欺騙構建者。
共識特性保持不變,因為系統設定仍然是提議者作為機制的最後行動者,共識規則決定的內容沒有變更。
在這個情況裡,更棘手的兩個特性是弱提議者友好性和無須信任區塊構建者友好性。對於這個方案的憂慮是惡意區塊構建者可以通過製造大量高交易費的提議攻擊提議者,但永遠不發布這些交易捆的主體。如果提議者對接受的交易捆數有上限,這種攻擊可以把所有合法交易捆排除在外,使得提議者沒有合法交易捆可以提議打包到區塊。如果提議者對接受的交易捆數沒有上限,那麼可能會有無數個滿的交易捆主體(試想:每個500 kB) 發送給提議者,這將需要非常大量的帶寬。
解決這個難題的一個辦法是以某種方式對交易捆頭的提交進行速率限制,這不是一個硬性限制。
提交交易捆需要支付一定費用,通過類似EIP-1559 的機制來調整到某個速率(例如,每slot 8 個交易捆)
成為區塊提議者需要押金(無論如何都是必要的,以確保提議者得到報酬),同時還需要一條規則,如果你發布的交易捆沒有被打包,但一個更低價的交易捆被打包了,那麼你在接下來的N 個slot 都無法提交交易捆。
只有在這種情況也會被扣費:你的交易捆沒有被打包,但更低價的交易捆被打包了,因為這種特定情況可能是你作惡了(或提議者作惡、或是網絡狀態不好)。
這方面有先例;之前的ENS 競拍設有0.5% 失敗者費用,以阻止有人在明顯不會贏的情況下出價,以迫使贏家支付更多。
但是,這些技術可能會引入對提議者的信任要求,因此他們需要謹慎處理,對打包交易捆失敗的懲罰不能太高。
一個替代方案是允許自由和無限制地發布交易捆主體,但限制主體在在網絡層廣播。一個簡單算法是:
為交易捆得以傳播添加一個稍微延遲的最短時間限制:交易價格最高的交易捆是0 秒,第二高的交易是0.2 秒,第三高的是0.38 秒,一般來說對於第k 個最高交易價格的交易困是2∗[1−0.9^(k−1)] 秒。
結論
結論
結論
到目前為止,我不明確是否唯有上述兩種方法能解決這個問題,可能還有其他。在這兩種方法裡,想法(1) 在概念上更簡單,但它會給區塊構建者帶來風險,也會引入更複雜的分叉選擇規則要求。想法(2) 在分叉選擇和共識上更簡單,但在處理惡意區塊構建者帶來的DoS 攻擊上有困難,且任何解決這個問題的方法都可抗產生其他問題,儘管可以想到將其最小化的方法。到目前為止,我仍然不確定哪一個更好。