Rollup排序器去中心化:技術趨勢與前沿方案解析
前言
排序器(Sequencer)是以太坊擴容方案 Rollup 中的核心組件之一,負責對交易進行排序,並執行區塊創建、交易接受、交易排序、交易執行以及交易數據提交等相關任務。隨着以太坊網絡 Layer 2 解決方案的不斷增加及其生態系統的蓬勃發展,Layer 2 的盈利模式和中心化問題日益受到關注。尤其是在 Rollup 中,如何實現排序器的去中心化以及排序器利潤的分配機制,成為大家關心的熱點話題。
什么是排序器?
排序器,顧名思義,是負責對交易進行排序的角色。在比特幣網絡中,交易排序的職責由礦工負責;在以太坊網絡中,這一職責由節點集合承擔。這些角色並非固定,而是通過共識機制來確定誰有權參與交易的順序執行。
目前,主流的 Rollup 方案大多運行中心化的單一排序器。用戶在 Layer 2 (L2)的交易首先進入 mem 池(此時交易是無序的)。排序器將這些交易進行排序、壓縮成一組有序的批次,然後發送到以太坊的數據可用性(DA)層。
中心化 VS 去中心化
去中心化排序器賽道概覽
去中心化排序器可以通過兩種方式實現:一種是由 Rollup 項目方自行开發,另一種是借助第三方服務。借助第三方實現去中心化排序器,通常被稱為 Sequencing-as-a-Service(排序即服務)。
目前,有多個項目專注於去中心化排序器方案,包括 Espresso、Astria、SUAVE、Radius 等。盡管它們的實現路徑各不相同,但目標都是為了提升排序器的去中心化程度和可靠性。
Espresso
在 Espresso 排序器的排序機制下,L2 交易大致經歷以下生命周期:
-
交易發送: 用戶在二層網絡上發生的交易通過 API 發送到 Rollup 服務器。
-
交易排序: 交易進入 mem 池後,排序器通過 HotShot 共識選舉對交易進行排序,並將其包含在一個區塊中。
-
交易廣播與確認: 排序器將排序後的交易廣播出去,其他節點通過 HotShot 共識達成共識後出塊,交易被執行。同時,軟承諾機制提供快速的交易確認。
-
區塊承諾: 排序器將包含交易的區塊承諾及其共識證書(QC:Quorum Certificate)發送並存儲在 L1 排序器合約中,證明該區塊通過共識達成軟最終性。
-
狀態更新: 已執行該區塊的 Rollup 節點將新的 Rollup 狀態發送到 L1。在 zkRU(零知識 Rollup)情況下,需要附帶有效性證明,而在 ORU(優化 Rollup)情況下則會進入挑战期。
-
狀態驗證: L1 Rollup 合約通過驗證排序器合約發送來的 QC,檢查狀態更新的有效性。
這個流程可以簡化理解為:
-
交易排序與區塊創建: 在一組排序器中,通過 HotShot 共識機制選出一個排序器,它負責對 Rollup 交易進行排序,並將這些交易包含在一個區塊中。
-
共識與區塊承諾: 該區塊必須由其他的 Rollup 節點籤署並達成共識(至少 2/3 的 HotShot 節點同意)才具有「最終性」。然後,相關的區塊承諾和新的 Rollup 狀態根提交給 L1 基礎層進行驗證。
-
快速確認與最終性: 「最終性」帶引號是為了讓 Rollup 交易更快地確認,減少延遲,提升用戶體驗。然而,Rollup 交易最終還是要由 L1 基礎層進行驗證(zkRU 需要驗證有效性證明,ORU 需要等待挑战期結束)。如果 L1 驗證交易沒有問題,此時 Rollup 的交易才具有真正的最終性。
-
潛在回滾: 如果 L1 驗證發現交易無效,相關的已出塊的 L2 區塊將面臨回滾。因此,「最終性」是為了讓交易快速確認,而最終性是為了繼承以太坊的安全性。
Astria
Astria 的定位是提供通用、無需許可的去中心化排序器,為不同的 Rollup 提供开箱即用的共享排序器服務。
運行機制
Astria 的去中心化排序器運行機制與 Espresso Sequencer 類似,目的是通過將交易排序的權利下放來減少排序者的特權。具體來說,Astria 提出了兩種針對排序器的輪換機制:
-
領導者輪換(Leader Rotation): 這是一種簡單的輪換機制,通過預定的規則或時間間隔在排序器之間輪換領導者,從而分散排序權力。
-
拜佔庭容錯(BFT)共識算法: 這是一種更加復雜和安全的機制,允許在存在惡意節點的情況下仍能達成共識。通過這種算法,多個排序器共同參與決策,確保系統在遭受一定數量的節點故障或攻擊時仍能正常運行。
領導者輪換
通過選舉產生的排序器組成一個集合,集合中的排序器輪流對 Rollup 交易進行排序。這種方式避免了單一排序器長時間壟斷交易排序權的問題,並在一定程度上解決了對用戶持續審查的隱憂。
SUAVE
SUAVE 是由 Flashbots 开發的去中心化、即插即用的共享排序器解決方案。作為一個通用平臺,SUAVE 能夠為各種 L1/L2 網絡提供內存池管理和去中心化的區塊構建功能。與傳統共享排序器設計不同,SUAVE Chain 是一條 EVM 兼容鏈,它通過區塊“競標”的機制實現交易排序。
SUAVE 架構
SUAVE 的架構由三個核心組件組成:通用偏好環境、最佳執行市場和去中心化區塊構建。
-
偏好環境
-
SUAVE 的偏好環境廣泛涵蓋了從簡單交易到復雜事件的各種需求。用戶的交易偏好會以交易形式反映在內存池中,偏好環境作為一個公共的內存池將這些偏好匯總起來。SUAVE 提供的通用偏好環境不僅使多鏈用戶的偏好變得公开透明,還有效減少了信息不對稱,並在一定程度上緩解了跨鏈 MEV 問題。
-
執行市場
-
執行市場由一群執行者組成,他們負責監聽 SUAVE 的內存池並相互競爭。競爭驅動這些執行者為用戶的偏好提供最佳執行方案。可以將這些執行者視為通過“競標”方式來實現用戶需求的參與者,他們力求將產生的 MEV 盡可能多地返還給用戶。
-
去中心化區塊構建
-
最後,基於收集到的偏好數據和最佳執行路徑,去中心化區塊構建網絡會將這些交易信息打包到區塊中,完成從交易發現、排序到區塊出塊的整個過程。
Radius
Radius 的定位是一個無需信任的共享排序層。與前述方案的實現機制不同,Radius 通過引入加密內存池(encrypted mempool)來確保 Rollup 交易的排序過程無需信任。這種方法有效消除了 MEV 和用戶交易審查的問題,從而保障了交易的公正性和透明性。
盡管像 Espresso 和 Astria 等基於共識機制的去中心化排序器在一定程度上減少了 MEV 和審查風險,但它們通常以犧牲網絡可擴展性和時間效率為代價,從而導致交易確認延遲(因為需要就交易排序達成共識)。此外,雖然這些排序器在去中心化環境中運行,由於內存池中的交易信息是公开透明的,排序器仍然可能存在惡意攫取 MEV 的風險。Radius 通過引入加密內存池(encrypted mempool),確保排序器無法看到相關交易信息,旨在從根本上解決排序器惡意攫取 MEV 和審查交易的問題。
技術架構
Radius 的技術架構分為四個主要功能層級:排序層(Radius)、執行層(Rollup)、結算層和數據可用性層。
-
排序層
-
用戶將加密交易及其證明提交給排序器。
-
排序器驗證這些證明及交易的有效性。
-
排序器在解密交易之前對交易進行排序。
-
排序器構建一個區塊。
-
排序器將構建好的區塊提交給 Rollup 執行層。
-
執行層
-
Rollup 接收排序器提交的區塊,並按照指定的順序執行交易。
-
Rollup 將交易狀態及狀態證明提交至結算層。
-
結算層
-
結算層負責接收和驗證來自 Rollup 的狀態和狀態證明,以確認交易的最終性。
-
結算層確保交易執行符合排序層指定的順序。
-
數據可用性層
-
數據可用性層負責存儲數據並確保這些數據的可用性。
mempool 的加密機制 - PVDE
Radius 採用基於零知識證明的加密方案“實用可驗證延遲加密”(PVDE)來實現加密內存池(mempool)。這一機制確保了交易在排序過程中保持加密狀態,增加了交易處理的安全性。
具體流程如下:
-
用戶提交交易
-
用戶生成一個時間鎖謎題和一個對稱密鑰。
-
用戶使用對稱密鑰對交易進行加密,加密後的交易進入內存池(mempool)。
-
排序器處理交易
-
排序器對加密交易進行排序,但在解鎖時間鎖謎題之前無法獲取解密密鑰。
-
排序器在解鎖時間鎖謎題前,計算訂單承諾,並將該承諾提交給結算層。這一承諾用於驗證排序器是否按照順序將交易提交給 Rollup 執行層。
Metis
Metis 是首批實踐去中心化 PoS 排序器的 Layer 2 網絡,為未來的發展提供了一個重要的範本。這個範本不僅實現了排序器的去中心化,還提供了基於 PoS(權益證明)的去中心化 Optimistic Rollup 解決方案。在該範本中,Metis 的去中心化 PoS 排序器包括三個主要角色:管理員、排序器和 PoS 共識層。
在傳統的 Rollup 模型中,單一的 Sequencer 雖然能有效處理交易和數據,但也集中權力,可能引發多種風險:
-
操作風險: 如果 Sequencer 發生故障或遭受攻擊,整個系統的交易處理將被阻斷。
-
審查風險: Sequencer 能夠選擇性處理或拒絕交易,這可能限制用戶訪問特定的去中心化金融(DeFi)協議或服務。
-
操縱風險 :Sequencer 在交易排序中可能優先處理自身交易,通過提高交易費用獲取不正當利益,即最大可提取價值(MEV)。
為了解決這些問題,Metis 設計了一個去中心化的 Sequencer 池,由多個 Sequencer 節點共同完成交易的聚合、排序和執行。這一設計確保了系統的公正性和透明度:
-
共識機制: 超過三分之二的 Sequencer 節點必須對每個新區塊的狀態達成共識,之後才能將交易批次提交到以太坊主網(L1)。
-
多方計算(MPC)籤名: 在交易批次提交到 L1 之前,通過 MPC 籤名驗證批次的真實性,確保數據的准確性。
去中心化 Sequencer 的優勢:
-
增強安全性: 通過多個節點共同決策,降低了單點故障的風險,提高了網絡的魯棒性和安全性。
-
降低審查和操控的可能性: 多個 Sequencer 的存在使得單一節點難以操控或審查交易,保護用戶的交易自由。
-
穩定性和冗余: 支持 Sequencer 的平滑輪換,最小化故障或中斷的影響,提高了整個網絡的穩定性。
在 Metis 的去中心化 Sequencer 模型中,每個節點由幾個關鍵組件組成:
-
L2 Geth(包括 OP-Node): 負責交易排序和區塊組裝。
-
適配器模塊: 作為與其他外部模塊(主要是 PoS 節點)交互的中介。
-
批次提交者(Proposer): 負責構建交易批次並在獲得多個 Sequencer 的認可後提交到 L1。
-
PoS 節點: 在以太坊、共識和 Metis 層之間進行協調,確保資產的安全鎖定並獎勵驗證者。
-
共識層: 由與以太坊主網並行運行的 Tendermint PoS 節點組成,確保操作效率而不妨礙主網的進程。
L2 Geth(包括 OP-Node)
主要代碼為https://github.com/MetisProtocol/mvm fork optimism
主要是修改了兩部分
-
區塊組裝:mvm\l2 geth 服務代碼,加入了 applyTransactionToTip 處理邏輯,以此判斷當前 sequencer 是否應組裝當前區塊。
-
交易排序:修改原 op-node 代碼,借助 MPC 共識層的適配器模塊,獲取輪換列表與區塊高度對應的當前排序器的位置,來檢查自己是否為當前有效排序器。
Sequencer 輪換
-
輪換信息存在L2 MetisSequencerSet 合約中,信息由共識層(PoS 節點)控制
-
每個 epoch,共識層更新 Sequencer 信息,經過 MPC 籤名,發起交易,更新合約 Sequencer 列表
-
每個 epoch,根據合約 Sequencer 列表信息,輪流當職
-
違規:未及時,或者產生錯誤交易(兩筆相同 L2 TxID),PoS 層會選擇新的 Sequencer,{構造 ReselectSeqencer 交易 + MPC 籤名},新的 Sequencer 會在L2上發起當前 TxID 的交易,同時新的 Sequencer 也會更新到 MetisSequencerSet 合約 {沒有懲罰機制}
-
觸發更新:收到常規交易,並且達輪換間隔,會暫停當前常規交易,執行 MetisSequencerSet.sol 合約更新交易,然後 PoS 層選擇將執行當前常規交易的新排序器。
-
加入:POS 合約,部署在L1,任何人,抵押 metis,申請成為 sequencer。當達到上限,進入等待隊列
-
獲得一個 NFT
-
禁止直接轉移,可通過 LockingPool 合約->updateSigner 更換籤名者,轉移 NFT
-
NFT 的 tokenId 對應 sequence id
-
替換:當 sequencer 長期處於不健康狀態,將被踢出,並由候補替換
-
退出:
-
銷毀 NFT
-
update:通過 LockingPool 合約->updateSigner 更換籤名者,轉移 NFT
-
選擇: 加權隨機選擇算法
MPC 模塊
負責管理多重籤名密鑰的整個生命周期
-
多重籤名生成
-
密鑰重新共享
-
應用籤名
-
刪除籤名
-
提供對多種多重籤名異步使用的支持
處理流程
第 1 階段:通知 MPC 節點做好准備
-
在本地生成一個隨機數 sessionID;
-
keyGenPrepare 使用p2p網絡將消息廣播到所有 MPC 節點;
-
每個 MPC 節點收到 keyGenPrepare 消息後,啓動各自的處理 goroutine;
-
根據 檢查本地數據(數據是指 TSS 模塊是否存儲了該 id 對應的 mpc 信息)keyId;
-
如果狀態中已有數據 READY,則直接從存儲中返回數據,無需繼續操作 keyGen;
-
如果已經存在具有 PENDING 狀態的數據,則返回錯誤,以避免由於並發執行不同的密鑰生成調用而導致密鑰生成不一致;
-
建立p2p通信通道;
-
將消息返回 keyGenReady 給發起節點;
第二階段:啓動 keyGen 流程
-
發起節點等待接收 keyGenReady 來自所有節點的消息;
-
一旦發起節點收到 keyGenReady 來自所有節點的消息,它就會 keyGenStart 使用 p2p 網絡將消息廣播到所有 MPC 節點;
-
收到 keyGenStart 消息後,每個 MPC 節點:
-
在本地構造一個 LocalParty 實例;
-
开始從其他節點接收信息
展望
區塊鏈排序器的發展前景充滿了激動人心的變革。隨着區塊鏈生態系統的不斷演進,排序器將經歷從中心化到更加分散、高效和適應性強的解決方案的重大轉變。這一變革對提高以太坊生態系統的交易效率、可擴展性和安全性至關重要。
去中心化是加密貨幣的核心哲學。通過共享排序網絡,經濟機制能夠有效地解決價值累積和收入分配的問題。隨着排序器模塊化構建和开發框架的日益成熟,未來這些技術將成為行業發展的強大催化劑,推動區塊鏈生態系統向更加創新和高效的方向邁進。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
融資4300萬美元的Sahara AI,能否構建真正的“AI Chain”?
@OdailyChina @wenser 2010 屬於加密貨幣的曲折而又壯闊的 2024 年即將...
LBank Research:數據分析Cardano快速增長背後的驅動力
前言 自 2017 年啓動以來,Cardano(ADA)已成長為一個旨在推動區塊鏈技術極限的 Po...
星球日報
文章數量
7711粉絲數
0