作者:YBB Capital Researcher Ac_Core
前言
排序器(Sequencer)是目前以太坊擴容方案Rollup中的重要元件,它用於對交易進行排序並進行區塊創建、交易接受、交易排序、交易執行和交易資料提交等相關操作。隨著以太坊網絡Layer2 數量的增加及其生態的繁榮,Layer2 自身的盈利方式和中心化問題也逐漸受到大家的關注,如在Rollup中較為重要的排序器組件能否實現去中心化和排序器利潤是怎麼分配的。本文只做分析參考,不為專案宣發。
簡述Rollup經濟學
Rollup的角色:
根據以太坊基金會研究科學家@barnabemonnot的解釋說明,我們可在Rollup系統中分出三個主要角色:使用者、Rollup營運商和基礎層。他們運行的主要流程大致為:當用戶在L2 上進行交易,Rollup運營商充當用戶和基礎層之間的介面角色,並最終將數據發佈到基礎層,如下所示:
- 用戶:在Layer2網路上發送他們的交易,並將他們在Layer2上的資產部署在Rollup上進行合約交互,並將支付費用流向Rollup運營商;
- Rollup營運商:代表處理L2 網路上的交易所需的所有基礎設施,其中也包含許多其他角色,例如:發布交易批次的排序器( Sequencers)、發布聲明的執行者(Executors)、報告詐欺證明的挑戰者(Challengers)以及計算有效性證明的驗證者(Validator),其中最為重要的即為排序器;
- 基礎層:也可以理解為完整節點,其目的是保護Rollup的資料協議,用來處理和驗證所有交易,確保Rollup狀態正確並確保每筆交易的有效性,例如發現錯誤交易並將其刪除。
圖源:@barnabemonnot Rollup的成本:
Layer2營運商成本:為維護一個交易池、序列批次、計算狀態根/狀態差異/有效性證明等涉及大量交易處理的排序、交易驗證、區塊產生等問題而產生的費用。而由於Rollup運營商現在是中心化的,所以產生的成本由協議本身或合作方承擔,同時過程中的「交易壓縮」需要在基礎層上結算。
Layer1數據可用性成本:DA 是Rollup 等效於以太坊安全性的保證,Rollup為了在以太坊上發布數據,當運營商聚合了大量的交易集時,運營商就需要將交易集以“CallData”的形式釋出到基礎層,其中貢獻給以太坊L1 的DA 成本佔Rollup 總成本的絕大多數,且當時的數據市場價格由EIP-1559 進行管理。
Layer2的壅塞驗證成本:這是一個飽受爭議的影響成本,當Rollup總區塊空間的供應無法滿足現有市場需求時,就必須對稀缺資源進行分配,它也直觀的反映了Gas 價格與網絡流量的動態平衡。
Rollup的收入:
話題來到Rollup的收入,其收入主要有兩個來源:交易價值(Transaction Value)及發行(Issuance)。
交易價值
Rollup的本質是對以太坊進行擴容,提速和降低Layer1壓力,Rollup中是否會獲得MEV相關的收益問題,其實答案是否定的。因為Rollup本身是依靠排序器,依靠Gas支出高低進行交易排序,因它沒有區塊的概念所以本身不存在Mempool,但現今像OP Mainnet的私有Mempool卻帶來了MEV問題,因此Rollup本身在沒有“私有化Mempool」 的前提下不會獲得MEV利潤,從本質來講Rollup最大的利潤來自於交易Gas之間的價格差。
發行
第二個收入來源是發行。在基礎層,以網路原生加密資產的區塊生產者的新鑄造代幣形式獲得收入。一定程度上抵消了區塊生產者的基礎設施成本,一旦利潤產生就會吸引來更多的區塊生產者。我們在假設Rollup在能夠鑄造自己的Token的情況下,Rollup可能會透過發行新代幣來支付營運費用(但實際上這裡的模型會較為模糊,且有多種方式將收入來源用於Rollup成本)。
關於成本和收入平衡相關的問題,我們就不做展開敘述,上述僅做簡述,坎昆升級在一定程度上也會影響Rollup盈收情況,其核心EIP-4844(又被稱為Proto-DankSharding )如用一段話概括,便是緩解以太坊Layer1的高昂DA成本問題,出現了“blob”的臨時外部存儲,可將Layer2交易的數據內容移動到一個新的臨時“blob”中存儲。但它並沒有真正的把Layer2交易資料儲存到Layer1中,其好處在於Layer2會有更低的儲存成本和更快的速度,但目前Layer2的資料黑盒所帶來的不確定影響仍值得探究。
簡述Rollup工作原理:
- 匯總:卷積節點收集多個事務並建立一個壓縮摘要即卷積塊,其中包含事務驗證和狀態更新所需的基本資訊;
- 驗證:Rollup區塊會提交到主區塊鏈,由驗證器節點驗證區塊內交易的有效性,並確保它們符合預先定義的規則。
總的來講區塊一旦得到驗證,Rollup的狀態就會在鏈上更新並反映交易的結果。以此透過Rollup來減少Layer1上的運算負載和資料儲存需求,進而顯著提高可擴充性。其中的有效做法是將計算和狀態儲存都轉移到鏈外,但將部分資料保留在鏈上。
什麼是排序器
排序器是Rollup設計選擇上的核心組件,如同字面意思,它負責對接受的交易對,其支付的Gas價格進行排序,將交易打包捆綁到區塊中並提取費用,以此來提升交易的有序性和整個系統的處理效率。但現實是目前以太坊上所有的Rollup都以相互孤立且中心化的方式來運行,且均由各自的Rollup團隊進行管理,這帶來的直觀影響是Rollup提供商們通過維護自身中心化的排序器來讓整個網路達到更便宜和快速的目的,但這同時也在獨食著Rollup 的利潤。
圖表來源:Binance Research
如同上文中Rollup的成本和收入部分,其主要的利潤來自於對用戶的Gas差價的收入進行排序,而支出主要在於Layer2對於Layer1的數據可用性成本,以及中心化運營商的運營支出,所以排序器主要從用戶端收取交易費用,並向以太坊支付DA 費用,簡單理解:
排序器收入= 用戶交易Gas差價收入– L2 向L1 資料支出– 排序器營運支出
Op Rollups 與Zk Rollups 的不同排序方案
Op Rollups是將大量鏈外交易捆綁在一起,形成較大的批次然後再發佈到基礎層。這個過程有利於將固定費用分配給每批中的眾多交易,從而降低用戶的費用。在分批處理交易的同時,也採用了上述多種壓縮技術,以盡量減少發佈到基礎層的資料。兩者不同的是Zk Rollups利用密碼學來證明鏈外交易的有效性,Op Rollups依賴一種檢測詐欺活動的機制來識別交易計算不準確的情況。
提交批量Rollup後會出現一個挑戰時間段,在此期間任何人都可以透過產生詐欺證明來質疑卷積交易的結果。在詐欺證明成功後Rollup協議會重新執行交易,並相應調整捲積的狀態。此外,詐欺證明成功會導致排序者的賭注被削減,因為排序者將錯誤執行的交易納入一個區塊中。在這過程中,如排序者將錯誤執行的交易納入區塊詐欺證明,成功後會導致排序者的利益受損。挑戰期結束後,如果滾動批次仍未驗證(即所有交易均正確執行),則會被確認為有效並納入基礎層。在實作過程中的排序器問題上,OP是採用多鏈但單一的共用排序器。
ZK Rollups 將交易匯總成批次,在鏈外進行處理,從而減少了需要上傳到區塊鏈的資料量。其排序器將代表整批事務所需的變更合併為單個,而不是單獨傳輸每個事務,此流程為了驗證狀態變更是否正確,它們會產生有效性證明。所以Zk Rollups是依賴零知識的有效證明而不是欺詐證明,排序器從L2 收集交易數據,並負責向L1 提交(根據具體架構,也可能負責發布)零知識證明。如果定序者有惡意行為,他們的賭注會被削減,這就促使他們發布有效的區塊(或批次證明)。證明者(或排序者,如果合併為一個角色)憑藉生成交易執行的不可偽造證明,來證明這些新狀態和執行是正確的。
隨後,排序器將這些證明連同交易資料或至少是狀態差異提交給以太坊主網路上的驗證器合約。從技術上講,排序者和證明者的職責可以合而為一。但是由於證明產生和交易排序都需要高度專業化的技能才能充分完成,因此將這些職責分開來可以防止在卷積設計中出現不必要的集中化。
在許多情況下,排序器在進行零知識證明的同時,只向L1 提交L2 狀態的變化,並以可驗證哈希的形式將這些數據提供給以太坊主網上的驗證器智能合約。由於Zk Rollups 只需提供有效性證明即可完成交易,因此從Zk Rollups 轉出或轉入基礎層的資金不會產生任何延遲。一旦Zk Rollups 合約確認了有效性證明,退出交易就會執行。
排序器的中心化與去中心化
目前L2 中排序器都是中心化的,但去中心化排序器在未來也特別重要,從意識形態的角度來看,在存在信任假設的前提下,單一的中心化排序器並不可取。不過排序器並非必不可缺,它只是Rullup在設計上的選擇,因目前暫未有全新方案替且如今Rollup均採用中心化的排序方式來解決交易排序問題,當下Rollup的實際進展由下圖L2BEAT官方數據所示。
- 中心化排序器
優點:可以大幅提升交易確認速度和降低交易成本,友善的用戶交易體驗;
缺點:其最主要的缺陷來自於單點宕機風險與壟斷,單點宕機問題不用做過多闡述,如今Rollup宕機事件頻傳已不是什麼新鮮事,而壟斷帶來的風險也不言而喻,中心化排序器毋庸置疑獲得了交易的排序權,以此可輕鬆實現自身利益的最大化,其次也會帶來抗審查的相對薄弱風險。
- 去中心化排序器
優點:是否使用去中心化的排序器似乎已成為衡量Rollup能否真正去中心化的重要標準,其優點不言而喻,可以極強的增加去中心化程度,防止運營商作惡,以此極大程度上確保了用戶的資產安全,以及可有效防止Rollup出現種種宕機現象;
缺點:提升去中心化和安全的代價是降低交易速度或增加交易成本,從而導致在一定程度上弱化用戶的互動體驗。
圖源:L2BEAT
第二層的不同類型
Vitalik在近文《Different types of layer 2s》中提到第二層項目的異構化趨勢在未來會越來越明顯,並且這一趨勢會一直持續下去,比如傳統上以Arbitrum、Optimism和Scroll 為代表的公鏈,和近期以Kakarot和Taiko 為代表的EVM 生態系統的發展,其主要原因有以下幾點:
- 一些目前是獨立第1 層的項目正在尋求向以太坊生態系統靠攏,這些項目可能希望逐步過渡並有可能成為第2 層。但因為技術還沒準備好,所以暫時把所有東西都放在一個Rollup上;
- 一些中心化專案希望為其用戶提供更多安全保證,並正在探索基於區塊鏈的途徑。在許多情況下,這些項目會在上一個時代探索”許可資產鏈(Permissioned Consortium chains)”。實際上,它們可能只需要”中途之家”級別的去中心化。此外,這些項目的吞吐量往往很高,因此至少在短期內,它們甚至不適合滾動發展;
- 弱金融類應用如遊戲或社交類應用,他們也希望實現去中心化。就社交媒體而言,現實中需要對應用程式的不同部分區別對待:用戶名註冊和帳戶恢復等罕見且高價值的活動應採用滾動方式,而帖子和投票等頻繁且低價值的活動只需要較低的安全性。因鏈故障導致的貼文消失風險是可以承受的。而因鏈失效導致的帳戶遺失風險就比較難以承受。
儘管目前以太坊Layer1中的應用程式和用戶在短期內只需支付較小的Rollup費用,不過本章節我們想和大家強調的點是用戶是否能夠順利的將資產安全地從Layer2回撤至Layer1,即Rollup的「強制提款」與「逃生艙」 功能,請參閱Faust 解釋的相關擴充連結【1】。
圖源:Different types of layer 2s
假如你有一筆資產,它位於Layer1 上,但需要先存入Layer2,後才可轉入至其他錢包地址,我們能在多大程度上保證你能將這筆資產取回至Layer1?為此不妨隨著我們一起用一張簡單的圖表來將此釐清:
資料來源:Different types of layer 2s
值得一提的是,這是一個簡化模式,有很多中間選項。例如:
- 介於Rollup和Validium之間:在Validium中,任何人都可以進行鏈上支付,以支付交易費用,此時運營商將被迫向鏈上提供一些數據,否則就會損失押金。
- 在Plasma 和Validium 之間:Plasma 系統【2】提供類似卷積的安全保證和鏈外資料可用性,但它只支援有限數量的應用。一個系統可以提供完整的EVM,並為不使用這些更複雜應用程式的使用者提供Plasma 等級保證,為使用這些應用程式的使用者提供Validium 等級保證。
這些中間選項可以看作是介於卷積和有效值之間的頻譜。但是,是什麼促使應用程式選擇光譜上的某一點,而不是更左或更右的某一點呢?這裡有兩個主要因素:
- 以太坊原生資料可用性的成本,隨著技術的改進會逐漸降低。以太坊在下一個硬分叉Dencun 【3】裡引入了EIP-4844,提供每秒約32 KB 的鏈上資料可用性。在接下來的幾年內,隨著完整的”鏈上數據分片”【4】的推出,這一數據可用性預計將分階段提高,最終達到每秒約1.3 MB 的數據可用性。同時,資料壓縮技術的改進【5】將使我們能夠用相同數量的資料做更多的事情;
- 應用程式本身的需求:高昂的費用與應用程式出錯相比,用戶需要承擔多少損失?金融應用程式會因應用程式故障而遭受更大的損失;遊戲和社交媒體涉及每個用戶的大量活動,且活動價值相對較低。因此對它們來說,不同的安全權衡是有意義的。
去中心化排序器,一種是Rollup 專案方自己做,另一種是藉助第三方實作。借助第三方實作去中心化排序器,其實也可以稱為排序即服務( Sequencing-as-a-Service)。 Espresso、 SUAVE、Astria、Radius 等專案都專注於去中心化排序器方案,它們的實作路徑各不相同。
去中心化排序器解決方案
1)Espresso:由五個主要組件組成:1.基於HotStuff的共享機制【6】其過程需要經三分之二多數通過後才能確定且不可逆轉; 2. 其DA層提供兩種不同的數據檢索路徑。第一種路徑樂觀且快速,第二種路徑更可靠,但備份速度較慢,專為對抗條件設計;3.Rollup REST API:滾動程式使用此API 與Espresso Sequencer 無縫整合;4.排序器合約:排序器合約是一種驗證HotShot 共識的智能合約,它可以充當輕客戶端,管理交易訂單檢查點以及負責監督HotShot 協議的股權表;5.網絡層: 該層用於促進參與DA 層和HotShot共識的節點之間的通訊。整體如下圖所示,當使用者的交易被傳送到Rollup時,它會使用ZK 或樂觀方案進行交易驗證。
圖源:The tech: Sequencers (Espresso 排序流程概覽)
2)SUAVE是一個獨立的網路層與其他區塊網路可以共享記憶體池,它本身無法與以太坊或其他公鏈的智慧合約相通用,而是將記憶體池和區塊產生的部分從現有公鏈中單獨分離,以支援更多的Layer1或Layer2網絡,並成為Rollup鏈的共享排序器。所以它在跨鏈MEV和不同Rollup之間的交易排序也存在一定優勢, 不過其帶來的風險也同跨鏈橋所面對的那樣。
3)Astria 是建立一個共享排序器網路層以此避免中心化排序器的劣勢,它依靠基於Tendermint 的領導者輪換(Tendermint-based leader rotation)機制來解決交易排序的可擴展性和中心化單點故障的宕機風險,同時Astira的排序器架構設計用於聚合來自多個Rollup的交易,而不是為單一區塊生成不同的狀態根,形成的交易會按順序排列成有「內聚力」的區塊,然後統一發佈到Layer1的DA 層,以此有效地將交易排序與執行分離開,也正因採用了這種解耦方式,使得Astria 能夠容納各種具有不同狀態轉換功能的Rollup。
4)Radius 與其他方案的實作機制均不同的是它透過啟用加密Mempool和讓多個排序器同時運作來確保Rollup 交易被無需信任地排序,透過這種方式來消除MEV 帶來的相關風險。它採用可驗證延遲加密機制(PVDE)【7】來實現Mempool的加密,採用零知識證明加密方式來確保交易的無信任排序和防止中心化排序器相關風險。不過用零知識證明來提升安全性的代價是,雖然有MEV 保護但對用戶來說可能會出現交易延遲等問題。 Radius 的交易流程如下:
- 使用者向排序層發送事務
- 排序層對事務進行排序並產生一個區塊
- 組成的區塊隨後提交給Rollup相關程序
- Rollup依照排序層提供的順序執行交易
- Rollup將已執行的交易提交給結算層DA 來進行最終確認
圖源:The tech: Sequencers (Radius交易流程概況)
5)Madara是Layer2 網路StarkNet 中使用的排序器,它是一種較為靈活的排序方式,既可以中心化運行也可以去中心化運行,以此對不同的應用程序進行定制,目前Madara 是StarkNet 的現成排序器解決方案,與之相關的研究和開發工作仍在進行中。
展望
區塊鏈排序器的發展前景將是一段振奮人心的變革之旅,隨著區塊鏈生態系統的發展,排序器將經歷重大變革,從中心化設計轉向更為分散、高效和適應性更強的解決方案。排序技術的進步對於以太坊生態提高交易效率、可擴展性和安全性可謂至關重要。
去中心化是加密貨幣的哲學基礎,共享排序網絡透過經濟機制解決價值累積和收入分配問題,最後關於排序器日益成熟的模組化構建模組和開發框架生態系統在未來必將成為行業強大的催化劑。
解釋文獻:
【1】https://mp.weixin.qq.com/s/OEL4_-uocBy8WSU4jAeVgQ
【2】https://consensys.io/blog/ethereum-dencun-upgrade-explained-part-1
【3】https://hackmd.io/@vbuterin/sharding_proposal
【4】https://twitter.com/VitalikButerin/status/1554983955182809088
【5】https://arxiv.org/abs/1911.12095
【6】https://docs.google.com/document/d/1AeXoQXnEuc_HEHb8UfLQM_Inu6_u3nDS3S3Y3j7aNqg/edit#heading=h.tn00saza05ia
【7】https://ethresear.ch/t/mev-resistant-zk-rollups-with-practical-vde-pvde/12677
參考文章:
https://pansophicchad.substack.com/p/the-tech-sequencers