前言
這個想法是對 FOCIL 設計方案的擴展。它最初是與 FOCIL 同時/獨立創建的,最初是為了彙集和排序交易而創建的,目的是從協議設計中完全移除構建器工作流。在與幾個人交談後,我們發現 FOCIL 正在取得進展,在仔細研究之後,該設計中提出的交易選擇時機比這個想法提出的要好得多(需要少 1 個插槽並使用更大的委員會)。
這個想法被縮減為建立在 FOCIL 之上,而不是成為競爭對手,因為它們實現了相同的目標。這裡包含的一些想法可能可以與 FOCIL 集成,但它是單獨提供的,以促進有針對性的討論,並且不會混淆正在進行的設計。
特別感謝 Phil Ngo、Nico Flaig、Cayman Nava、Guillaume Ballet、Greg Markou、Gajinder Singh、Navie Chan 以及其他許多人花時間幫助完善這個想法。
抽象的
本提案的重點是交易的排序。它還解決了獎勵和懲罰問題,以配合新的納入委員會和更新的提議者職責。
對於建設者來說,提案流程中有兩項主要職責需要解決,以便通過加密經濟手段排除中心化力量。
- 選擇要納入的交易
- 交易排序
FOCIL 是解決這兩個主題中第一個問題的核心的絕佳解決方案,但它可以通過將區塊中包含的交易限制為僅包含列表中的交易來進一步完善。通過失去代理權,這將消除將交易添加到區塊的經濟動機,這些交易會對獲取 MEV 的排序產生負面影響。
排序將成為一個確定性過程,使用通過 FOCIL 提出的聚合包含列表和包含種子。包含種子是按槽位生成的熵,專門用於防止交易排序期間的串通和提取行為。
因為區塊構建期間的大部分工作(在當前頭部提議的區塊中包含和排序交易)已從提議者身上移除,所以獎勵機制應該按比例更新,以補償為協議提供價值的各方。
設計
要提供確定性、不可玩弄的排序,需要考慮三件事。特別是從概率上不可預測的排序,這樣夾層攻擊和多塊 mev 在經濟上就不受激勵了。
- 交易不再被納入 slot N 區塊的截止時間
- 為 slot N 選擇包含種子的時間
- slot N 內交易隨機化的可驗證性
排序啟發式的關鍵在於前兩項按該順序發生。如果直到納入窗口關閉後才知道種子,則可以構建啟發式,使得“挖掘有序交易”(在交易列表中的某個位置執行)是不可行的。
第三項確保一旦知道種子,網絡上的任何節點都可以計算相同的交易順序,以證明遵守協議。它還允許對(不)遵守協議的行為進行獎勵和懲罰。
時間考慮
插槽 N-1
t0:槽位 N 的提議者選擇一個隨機數,準備並傳播該數供納入委員會使用
t9:FOCIL IL 委員會從本地內存池中選擇 IL 的截止點,並根據 slot N-1 的共識頭八卦單個 IL,IL 包括 slot N 中的生產者生成的哈希隨機數
插槽 N
t0:在 N-1 中傳播的 Inclusion nonce 被揭盲並用於創建 Inclusion Seed。Inclusion Seed 被髮送到 EL 用作冪等排序函數的參數。生成一個有序列表,該列表代表一個完整區塊的 gas 值,並執行該交易列表。區塊由 EL/CL 聯合生成,CL 在將區塊發佈到網絡之前將揭盲的 nonce 添加到區塊中。
t4:在區塊有效性檢查期間,證明者必須驗證盲化/披露的隨機數、包含種子和交易排序。證明者在時隙 N 對有效區塊進行投票。
包容種子
納入種子的目的是為交易順序提供熵。它應該類似於 RANDAO,以便使用可證明且可由所有關注鏈的人知曉的鏈上數據。然而,RANDAO 的更新頻率太低,因為它是基於時代而不是基於時隙的。對於時隙順序,熵也需要是時隙順序。最小化提取行為的關鍵是需要在時隙 N-1 中交易納入窗口關閉之後但在時隙 N-1 結束之前選擇種子,以便時隙 N 的提議者可以使用它。
當使用該提案建立在 FOCIL 之上的假設時,熵選擇的理想來源將是聚合的包含列表,這將很難進行挖掘。
基於時間的種子攻擊解決方案
不過,這種方案的一個可能的攻擊媒介是等待最後一位委員會成員提交 IL,這將為包含影響種子的內容提供機會,從而影響最終排序。它還會激勵計時遊戲,產生連鎖反應,削弱未彙總列表的網絡傳播。
一種解決方法是讓 IL 聚合過程在最終列表中包含一些額外的熵,例如簽名或隨機數。
聚合器合謀種子攻擊解決方案
然而,簽署列表或使用簡單的隨機數是不夠的,因為它會為最終委員會成員與下一位提議者勾結打開攻擊面。為了使勾結起作用,勾結的委員會成員可以訪問下一位提議者的密鑰,或者只是與下一位提議者協調,為 slot N 挖掘交易(以及包含該交易的 IL)。
為了防止這種攻擊,應該使用揭露流程。提議者要做的第一件事是在提議之前在時隙中傳播簽名哈希。傳播的消息需要在很早的時候公佈,在時隙開始後的 0-2 秒內,最好是在發佈The Block之前(實際上只需要在未聚合的包含列表傳播之前,因為它們需要在 IL 中包含隨機數以進行驗證)。
在未彙總列表的八卦之前宣佈盲隨機數,之後再透露,除非整個納入委員會參與該計劃,否則不可能串通挖掘交易。
Nonce 生成與揭示機制
為了確保足夠的熵,提議者會選擇一些隨機字節,可能在 8-32 字節範圍內,以防止在分配的時間內進行暴力猜測,然後混入來自 RANDAO 的一些有狀態隨機性。然後對隨機性進行哈希處理以隱藏真實值,哈希將由時隙的提議者簽名,但關鍵的是,它會在時隙 N-1 中進行閒聊,以便可以將其附加到 IL 中以證明它是在 IL 創建之前收到的。
在時隙 N 中,提議者(迄今為止唯一應該知道真實未盲值的參與者)將把隨機數傳遞給 EL,以便 EL 可以按照協議規範對交易進行排序。未盲值將附加到The Block中,以便可以向證明者透露區塊驗證和投票。
種子驗證
然後,證明者可以通過檢查包含列表中的散列隨機數是否與混入狀態隨機數(來自 RANDAO)後包含在The Block中的非盲隨機數的哈希值相匹配來驗證用於混洗交易的包含種子。
確定性和可驗證的排序
要使排序既具有確定性又可驗證,只需要兩個部分:已知輸入和眾所周知的冪等排序函數,如下所示:
Torderd,Tremaining = f(ILagg,IS)
在哪裡:
ILagg - 彙總包含列表
IS——包容種子
Tordered - 交易的有序列表
Tremaining-剩餘交易將滾動到下一個區塊
排序算法
通過將交易哈希乘以包含種子,讓溢出的值迴繞,然後按數字順序排列交易,可以輕鬆實現排序。這過於簡單,可能無法抵禦可能欺騙系統的挖礦交易。
另一種選擇是按哈希值對聚合包含列表中的交易進行數字排序,然後使用包含種子而不是 RANDAO 對集合運行類似於交換或不交換的算法。這可能更耗費 CPU,但對於較小的集合(1000± 筆交易)來說,它應該是相對高效的。
發送方地址可以替代交易哈希作為排序的根值,但目前優先選擇交易哈希。
啟發式排序
在實現確定性、不可操縱的排序時,需要考慮一些用戶因素。需要在優先費用的加密經濟激勵與防止夾層攻擊的嚴格性以及通過交易副本監控內存池以提取價值之間取得平衡。
偽隨機排序
每個人都有同等公平的機會獲得區塊內的訂單。雖然這是最平等的解決方案,但這忽略了支付更高優先費的加密經濟學。忽略這一點最有意義的情況是減少有人監控交易池的可能性,因為這些交易可以通過搶先交易獲利。非法參與者只需提交具有更高優先費的交易即可。
隨機排序消除了複製交易的大部分經濟動機,但並沒有解決多個條件執行交易的不良垃圾郵件問題,以增加在合法參與者之前執行的概率。
優先費用感知偽隨機排序
為了解決條件執行交易的垃圾信息,以確保首先隨機執行交易,可以使用一種啟發式方法,即製作按費用捆綁的交易部分,這樣更高的費用就會流向The Block的開頭。對於具有相對較高優先費用(可能是有利可圖的套利)的交易,匹配大量交易的費用將非常昂貴。在部分內保持偽隨機性將使這種賭博或單個交易的競標成本高昂,並且無法保證成功。還可以動態地製作部分,這樣如果存在費用異常的交易,則可以構建部分的界限以促進更公平的執行。
As an example for a given block, the transaction priority fees in gwei:`[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 4, 100 ]`The tranches could be crafted like:`[ 1, 1, 1, 1, 1, 1, 1, 1, 1 ]``[ 2, 2, 2, 2, 2, 2, 2 ]``[ 4, 100 ]`
基於優先費用的排序(非偽隨機)
一旦加密內存池完全實現,就有可能轉向完全基於優先級費用的排序啟發式方法。這將是完全依賴市場動態來設定執行訂單定價的理想情況。
獎勵與懲罰
在這個範例中,將交易添加到包含列表的搜索者將獲得大部分獎勵。The Block現在將嚴格遵守協議並減少代理。隨著職責的減少,大部分提案獎勵應該轉移到搜索者身上,以避免通貨膨脹。這還將帶來額外的好處,即從單個提議者到整個 IL 委員會的獎勵更加平滑。可以說,提議者在 N-1 生成和傳播包含隨機數現在是一個關鍵的失敗點,因為提議過程將取決於他們。因此,在插槽 N 中獲得的The Block獎勵應該是插槽 N-1 的隨機數傳播的必要條件。
FOCIL 的獎勵機制也需要擴展,以適應將部分區塊獎勵轉移給搜索者以納入新交易。FOCIL 團隊提到了這個想法,但尚未最終確定,因此需要在該提案取得進展後在此處進行更新。
由於 IL 委員會現在掌握著交易選擇的關鍵部分,因此這項任務現在變得非常重要。因此,委員會成員的含糊其辭應該像創建有衝突的證明或區塊一樣受到懲罰。
剩餘交易
擁有多個未聚合的包含列表,並將一個區塊的所有交易合併到一個列表中,這意味著提交的交易可能會多於單個區塊可以容納的交易。這意味著包含池(IL 委員會成員提交的交易)可能需要插入到後續區塊中。如何實現這一點仍是一個研究領域,但目前提出的一些建議如下:
- 不保證 IL 交易必須包含在內。更像是包含建議列表,並且將使用啟發式方法將可重現的交易包含在The Block中。所有未包含的交易可能會添加到後續的阻止列表中
- 限制 IL 大小以防止溢出
- 添加時間權重,使等待納入的交易在下一個區塊中獲得更高的優先級。例如,這可以添加到優先費用中。如果提交了大量高費用交易,導致無法納入,則可以增加後續區塊的時間權重,以幫助最終推動交易通過
- 設置排序Threshold。如果交易的優先級費用非常低,並且沒有進入多個區塊,它將被從溢出中移除
在所有建議中,第一個是最簡單、最實用的。唯一需要做的就是開發一種啟發式方法,用於將交易納入列表中。
與其他 EIP 和現有路線圖的互動
賬戶抽象
在生成列表時,EL 可以將 AA 生成的交易納入 IL。不過,這樣做的優先費用會有一些細微差別。
電子PBS
該提案將消除對 ePBS 的需求以及它給協議帶來的複雜性
提議者-證明者分離
執行票和其他時段拍賣式提案可能會進一步由構建者進行垂直整合,這確實令人擔憂。如果在協議中進行訂購,則可以大大降低這種風險。這將有利於所有將提議者職責與證明者職責分開的建議,這將大大提高允許非常輕量級的僅證明客戶端的協議開發的成功實施
討論
協議簡化
系統越複雜,在系統內規劃和實施協議時,博弈論就越困難。我認為,在小部件之上構建小部件來解決問題會在小部件旨在保護的系統中產生更多的攻擊面。在構建協議以抑制 MEV/建造者/中繼的情況下,如果不消除建造者流,就會產生更多的漏洞。我們必須解決現有的系統設計問題,並在沒有“協議之外”不透明解決方案的幫助下,攻擊交易的根本原因、選擇和排序。
在協議中保留密碼朋克和平等主義原則
讓以太坊再次成為密碼朋克。這是我們朝聖 MECA 的行動號召。為了保留將我們帶到這裡的精神。建設者和圍繞他們建立起來的生態系統不得篡奪 L1。允許參與者從誠實的參與者那裡獲取價值不僅與區塊鏈的理想背道而馳,而且還會阻礙傳統行業的採用。區塊鏈將法治帶入數字空間。單一參與者高於協議的理念。恢復和保留這一點將吸引人們嘗試使用區塊鏈作為系統間交互的信任根源。
分層結算
傳統金融系統建立在層層基礎架構之上。強調這一點很重要,因為該提案引入的權衡可能會遭到重大反對。對於某些參與者來說,結算時間可能會增加。某些交易可能會失敗,因為構建者提供了一定程度的交易協調(以犧牲 MEV 為代價)。交易費用可能會上漲。L1 不是、也不應該被設計為即時結算。達成共識需要時間,而這種速度的權衡是去中心化及其賦予的安全性。如果激勵措施得到正確調整,構建者會感到不安,因為價值提取將轉換為優先費用。交易量將轉移到 L2。但對於以 L2 為中心的擴展路線圖來說,這些都是有益的事情。
能夠促進流動性池價格發現,即跨 L2 和其他應用鏈(如UniswapRollup)的 LP 之間的超大買入/賣出,將受益於價格發現的保證和誠實拍賣。 權衡之下,小額交易在 L1 上運行成本過高。 這類似於我們現有的金融系統今天的運作方式。 股票由 DTCC 代表經紀商持有,以造福經紀商的客戶。 個人交易小額頭寸成本高昂且困難,因為該級別的訂單簿數量非常大。 經紀商通過提供本地流動性來促進這一點,並通過交易排序(在某些情況下是夾層交易)支付服務費用。 但是,最終消費者可以免費創建交易(經紀商引入的滑點除外)。
底線是達成共識需要時間,去中心化和吞吐量之間的權衡是真實存在的。為了協議的長期利益,不惜一切代價維護去中心化是讓以太坊在未來長久生存的秘訣。