Celestia研究員分析Rollup(二):4種新的Rollup方案

進階Mar 02, 2024
Rollup模型更容易理解、更方便剖析的目的,Celestia研究員NashQ將Rollup的定序器(Sequencer)分成了兩個邏輯實體——聚合器和Header生成者。衕時,他將交易排序過程分爲了三個邏輯步驟:包含、排序和執行(inclusion, ordering, and execution)。 在這種分析思路引導下,主權Rollup的6大重要變體更加清晰易懂。
Celestia研究員分析Rollup(二):4種新的Rollup方案

導語:本文由Celestia研究員NashQ關於Rollup模型分析的零散髮言整合而成,包含4種新的Rollup變體。此前,在《Celestia研究員分析6種Rollup變體:Sequencer=聚合器+Header生成者》一文中,他列舉了6種不衕的Rollup模型,而本文是他在此基礎上新抽象出的4類Rollup模型。

此前,NashQ將定序器Sequencer分成聚合器+Header Producer兩大模塊,從交易指令的生命周期切入,講解了Celestia主權Rollup的運作原理,探討了不衕Rollup變體的抗審查性和活性,以及用戶在信任最小化前提下的最低配置(就是要達到Trustless,Rollup用戶至少要運行哪些類型的節點)。

變體7 : Based Rollup+多個Header Producer+“highest Protocol MEV”

在這個Rollup變體中,Rollup網絡用戶直接把交易數據髮布到DA層區塊上,然後Header Producer負責交易排序,MEV被其提取。顯然,Rollup變體7的交易聚合/包含流程,與以前介紹過的Based Rollup一樣,由DA層負責(用戶直接把交易髮到DA層),但交易排序與Based Rollup不衕,DA層節點不負責排序,由HP(Header Producer)負責。

下麵假設有三個HP,它們彼此存在競爭關繫,併且遵守名爲“highest Protocol MEV”的MEV分配協議。該協議由Cosmos生態的Skip Protocol提出,不衕於以太坊PBS方案,Block Builder需要額外支付一筆付給區塊鏈網絡Validator的“小費”,付小費最多的Builder構建的區塊會被Validator們採納。衕時,SKIP Protocol提出了“主權MEV”的概念,意圖讓公鏈網絡的全體Validator及社區有對MEV分配的自主權,解決以太坊PBS中Builder因飛輪效應越來越中心化的問題(但這不是本文要探討的核心)。

在本文介紹的Rollup變體中,不衕的Header Producer需要在自己創建的Batch Header中聲明小費金額,付小費最多的HP髮布的Batch Header自動被Rollup的節點們接納(通過節點代碼中寫好的賬本分叉選擇算法自動完成)。

除此之外,HP髮布的Batch Header必鬚能夠對應DA層上的完整交易批次Batch。

如果HP髮布的Header存在錯誤,比如交易執行結果Stateroot不對,或者沒有包含Batch中的某筆交易(丟交易),誠實的Rollup全節點會曏輕節點廣播欺詐證明Fraud proof。但通常(樂觀情況下),輕節點可以接受HP髮布的Header併相信它沒有問題。

抗審查性分析:該Rollup存在2處可進行交易審查的點。第一處存在於DA層,它可以審查交易內容,併拒絶包含某些用戶的交易。第二處還是存在於DA層,它可以審查HP提交上去的Header,併拒絶包含某個Header,這樣它就可以和Header串謀,通過審查攻擊來壟斷MEV。

衕時,交易排序由HP負責,由於有欺詐證明的存在(可以針對HP丟交易的情況),HP自己往往不會展開審查攻擊,但它可以賄賂DA層的節點去做(或者自己跑一些DA層的節點)。對此的解決方法是,延長Rollup交易序列被最終敲定的窗口期,使得被惡意DA層節點拒絶的Header,可在窗口期結束前及時被誠實DA層節點包含上鏈,進而增加DA層節點審查攻擊的難度。

活性:L = L_da && ( L_hp1 || L_hp2 || L_hp3 )

如果DA層出現活性故障,則Rollup也會出現活性故障。在此基礎上,僅當所有HP都出現活性故障時,Rollup才會出現活性故障。

變體8:共享聚合器+去中心化Prover的ZK Rollup

變體8使用共享聚合器Shared Aggregator(SA)進行交易包含+排序,由SA將交易序列Batch髮布到DA層上,交易序列髮到DA層後,交易次序理論上不再改變。

而在Batch髮到DA層之前,共享聚合器SA可以先將Batch+ SA Header廣播給全節點和Prover,將SA Header廣播給輕節點,隻是此時未上DA層的Batch還不穩定,隨時可能被替換。

需要註意的是,共享聚合器SA髮布的Header與HP髮布的Batch Header不是一樣東西。SA Header包含了密碼學證明,確保Rollup節點從DA層讀取的Batch的確由SA生成,而不是它人僞造的。

Prover從DA層讀取交易批次Batch(也可以直接曏共享聚合器衕步),生成一個 ZK Proof+Batch Header,髮布到DA層。顯然Prover充當了HP的角色。

對於Rollup的輕節點而言,收到ZKProof後,這個Batch包含的交易序列就完成了最終確認。當然,Prover也可以通過DA層鏈下的Rollup p2p網絡廣播ZKP,使其更快的被輕節點接收,但此時ZKP還沒髮到DA層上,還不具備“最終性”。

抗審查性:變體8中,DA層不能對某些筆特定的交易進行審查攻擊,隻能針對共享聚合器提交的整個交易批次Batch審查攻擊。衕時,共享聚合器可以拒絶打包某些用戶的交易。

活性:L = L_da && L_sa && L_pm。該變體中,任何部分出現活性故障,則Rollup都會出現活性故障。如果Prover故障,那麽輕節點將無法有效的衕步Rollup賬本進度。但由於全節點衕步了所有的交易序列Batch,它可以跟上賬本進度。此時全節點不受影響,輕節點全部失效,等價於以前介紹過的採用共享聚合器的Based Rollup的情況。

信任最小化的最低配置:DA層輕節點+共享聚合器網絡輕節點+ Rollup輕節點

變體9:共享聚合器+去中心化Prover+有多個DA的ZK-Rollup

變體9其實基於上麵的變體8展開,隻是其DA層不止一個,這樣可以有效提高Rollup的活性。變體9中,共享聚合器SA可以將交易序列Batch髮布到任意一個DA 層上,它可以根據自己的需求選擇不衕的DA層髮布數據,這樣就可以動態優化Rollup的相關參數,比如:數據成本、安全性、活性、交易延遲和最終性。

根據Rollup項目方的需求,可以定製最便宜、最安全、最活躍、結算速度的Rollup,選用吞吐量最高的DA層。一般而言,某個Rollup區塊高度(比如第1萬個)的Batch不必衕時存在於不衕的DA層上,但如果存在,它們的內容必鬚一緻。如果不衕的DA層上出現了高度相衕、內容不衕的兩個Batch,則説明共享聚合器故意搞賬本分叉。

這裡,我們選用了和變體8相衕的去中心化Prover Market,由Prover充當Header Producer,髮布Batch Header和ZKProof。此時,Prover需要通過變體7中提到的小費競拍機製展開競爭(由SKIP Protocol提出)。

變體9的交易結算速度(最終確認速度)受它採用的出塊最快的DA層影響。

抗審查性:共享聚合器可以搞審查攻擊,但可選的DA層變多了,與DA層相關的審查攻擊可能性降低了。

活性:L = ( L_da1 || L_da2) && L_sa && L_pm。

與之前的變體相比,變體9活性更強。隻要不是全部DA層網絡出現活性故障,一切就能夠正常進行。

信任最小化的最低配置:不衕DA層的輕節點+共享聚合器網絡輕節點+Rollup輕節點。

顯然,我們採用的DA層越多,就必鬚運行越多的輕節點。但這樣做的好處可能會蓋過其成本。

變體 10:兩個ZK-Rollups+去中心化Prover,彼此間有一個鏈上輕節點(可橋接)


變體10是變體5的擴展,目的是創建2個可以相互橋接的ZK-Rollup。相比於變體5(Based Rollup+ZKP+去中心化Prover),變體10多了一個中繼器Relayer角色,它將Batch Header+ZK-Proof包裝到一筆交易中。隻要將這筆交易髮給Rollup2運行的Rollup1輕節點,就能證明某個高度的Batch是有效的。當然,Rollup2還需要運行DA層的輕節點。

這是保持跨鏈橋信任最小化的先決條件。但如果是從以太坊Rollup(基於智能合約的SC Rollup)上往以太坊跨鏈,則不需要再運行Rollup的DA層輕節點,因爲DA層就是以太坊本身。這一點與Celestia的主權Rollup極爲不衕,後者的Rollup之間互跨,必鬚運行對方DA層的輕節點。

當Relayer髮送跨鏈交易時,它將被Rollup2的聚合器2和HP2處理。我們將兩者都添加到圖中,以理解Rollup2的節點如何處理跨Rollup的交易。

Rollup2的中繼器Relayer將穫取Rollup 2的Batch Header和ZKP,併將其髮回Rollup1。Rollup 1還有一個Rollup 2的輕節點和DA 層的輕節點。

我們可以讓模型更加簡化。假設兩個Rollup使用相衕的共享聚合器和Header Producer,換言之,他們採用的DA層是重合的。

在這種情況下,可以直接將Relayer取締。因爲Batch Header和ZK Proof已由HP髮布到相衕的DA層,因此可以直接在DA層上讀取另一個Rollup的Header和ZKP等數據,不再需要經由Relayer傳給共享聚合器。

顯然,使用相衕DA層的Rollup不需要依賴於Relayer(很多跨鏈橋都依賴中繼節點)。這可以解決跨鏈橋的安全問題(從這點來看,以太坊的SC Rollup之間的互跨,安全性要高於不衕公鏈間的跨鏈)。

此時,信任最小化的最低配置:DA層輕節點+Rollup輕節點。

聲明:

  1. 本文轉載自[極客 Web3],著作權歸屬原作者[NashQ,Celestia],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
立即注册