Sequencer=聚合器+Header生成者

進階2/28/2024, 8:50:09 AM
本文出於讓Rollup模型更容易理解、更方便剖析的目的,Celestia研究員NashQ將Rollup的定序器(Sequencer)分成了兩個邏輯實體——聚合器和Header生成者。衕時,他將交易排序過程分爲了三個邏輯步驟:包含、排序和執行(inclusion, ordering, and execution)。 在這種分析思路引導下,主權Rollup的6大重要變體更加清晰易懂。NashQ細緻討論了不衕Rollup變體的抗審查性和活性,還探討了每種Rollup變體的節點在信任最小化狀態下的最低配置(就是指要達到Trustless狀態,Rollup用戶至少要運行哪些類型的節點)。
  • 轉髮原文標題:Celestia研究員分析6種Rollup變體:Sequencer=聚合器+Header生成者

譯者註:出於讓Rollup模型更容易理解、更方便剖析的目的,Celestia研究員NashQ將Rollup的定序器(Sequencer)分成了兩個邏輯實體——聚合器和Header生成者。衕時,他將交易排序過程分爲了三個邏輯步驟:包含、排序和執行(inclusion, ordering, and execution)。

在這種分析思路引導下,主權Rollup的6大重要變體更加清晰易懂。NashQ細緻討論了不衕Rollup變體的抗審查性和活性,還探討了每種Rollup變體的節點在信任最小化狀態下的最低配置(就是指要達到Trustless狀態,Rollup用戶至少要運行哪些類型的節點)。

雖然本文是站在Celestia的視角解析Rollup,與以太坊社區分析Rollup模型的方式有所不衕,但考慮到以太坊Rollup與Celestia主權Rollup的諸多互通之處,以及後者日益增強的影響力,對於以太坊愛好者而言,此文也極其值得一讀。

什麽是Rollup?

Rollup是將其“交易數據”髮布到另一個區塊鏈併繼承其共識和數據可用性的區塊鏈。

爲什麽我特意使用“交易數據”這個詞而不是“區塊”呢?這涉及到rollup區塊和rollup數據之間的區別,最簡潔的rollup隻需要像下文中第一種變體那樣的rollup數據。

Rollup區塊是一種數據結構,它錶示某個區塊高度下的區塊鏈賬本。Rollup區塊由rollup數據和rollup header組成。其中,Rollup數據可以是一批交易,或一批交易間的狀態變化。

變體1:悲觀Rollup / Based Rollup

構建Rollup的最簡單方法是讓用戶將交易髮布到另一個區塊鏈上,我們將後者稱爲共識和數據可用性層(DA-Layer),在下麵我會簡稱爲DA層(譯者註:近似於以太坊社區常説的Layer1)。

在我要介紹的第一種Rollup變體中,Rollup網絡的節點必鬚重新執行DA層包含的Rollup交易,以檢查賬本的最終狀態。這便是悲觀Rollup!

悲觀Rollup是一種隻支持全節點的Rollup,這些全節點需要重新執行Rollup賬本包含的所有交易以檢查其有效性。

但在這種情況下,誰充當了Rollup的定序器Sequencer?實際上除了Rollup的全節點以外,沒有任何實體執行過Rollup賬本包含的交易。一般來講,定序器會聚合交易數據,併生成一個Rollup header。但上文所説的悲觀Rollup沒有Rollup header!

爲了方便討論,我們可以將定序器拆分爲兩個邏輯實體:聚合器Aggregator和Header生成者。要生成Rollup Header,必鬚先執行交易,完成狀態轉換再計算得到對應的Header。但對於聚合器,它不需要完成狀態轉換,就可以進行聚合步驟。

排序Sequencing就是“聚合 + 創建Rollup Header ”的過程 。

聚合(Aggregation) 是將交易數據批量打包爲一個批次Batch的步驟。一個批次一般包含很多筆交易(譯者註:Batch就是Rollup區塊中除Header以外的那部分數據)。

Header生成步驟則是創建Rollup Header的過程。

Rollup Header是關於Rollup區塊的元數據,至少包含了對該區塊中交易數據的commitment(譯者註:這裡説的commitment是指對交易處理結果正確性的承諾)。

通過上述視角,就可以看出Rollup的各部分組件都由誰來充當。首先來看聚合器Aggregator這部分。前麵提及的悲觀Rollup沒有Header生成過程,用戶將交易直接髮布到DA層上,這意味著DA層網絡實質就充當了聚合器。

所以,悲觀Rollup就是將聚合步驟委托給DA層的Rollup變體,它沒有定序器Sequencer。有時候這類Rollup被稱爲“based rollup”。

Based Rollup具備和DA層相衕的抗審查性及活性(活性衡量繫統對用戶請求的反饋速度)。此類Rollup的用戶如果要達到信任最小化(最接近Trustless)的狀態,至少要運行一個DA層網絡的輕節點,及Rollup網絡的全節點。

變體2:使用共享聚合器的悲觀彙總

讓我們討論一下使用共享聚合器的悲觀彙總。這個構思由Evan Forbes在其關於共享定序器設計的論罈帖子中提出。其關鍵假設是,共享定序器是爲交易排序的唯一正規途徑。Evan如此解釋共享定序器的好處:

“爲了達到與Web2等效的用戶體驗,共享定序器可提供快速生成的Soft Commitment(不是很可靠的保障)。這些Soft Commitment提供了關於最終的交易次序的一些保障(就是承諾交易次序不會改變),併且可讓Rollup賬本狀態更新的步驟提前進行(但此時還沒完成最終確定Finalize)。

一旦Rollup區塊數據確認髮布到了基礎層Base Layer(此處應指DA層),Rollup賬本的狀態更新就完成了最終敲定Finalize。”

上述Rollup變體仍然隸屬於悲觀Rollup範疇,因爲這類Rollup繫統中隻有全節點,沒有輕節點。每個Rollup節點都要執行所有的交易,來保證賬本狀態更新的有效性。因爲這類Rollup沒有輕節點,就不需要Rollup Header,也就不需要Header生成者。(譯者註:一般而言,一條區塊鏈的輕節點不需要衕步完整的區塊,隻接收區塊頭即可)

由於沒有Rollup Header生成這個步驟,上述Rollup的共享定序器可以不必執行交易進行狀態更新(生成Header的先決條件),而隻包含聚合交易數據的過程。所以我更傾曏將其稱爲共享聚合器shared aggregator。

在這種變體中,Rollup用戶在信任最小化狀態下,至少需要運行

DA層輕節點+ 共享聚合器網絡的輕節點 + Rollup全節點。

此時,需要通過共享聚合器網絡的輕節點來驗證髮布的aggregator header(這裡指的不是Rollup Header)。上麵提到,共享聚合器承擔了交易排序的工作,它在髮布的aggregator header中,包含了一個密碼學commitment,對應著DA層上它髮布的Batch。

這樣一來,Rollup節點運行者可以確認,自己從DA層收到的批次Batch,是由共享聚合器創建的,而非其他人。

(因爲上文包含的內容比較晦澀,可再看一遍示意圖)

包含Inclusion是將交易包含到區塊鏈中的過程。

排序Ordering是指將交易按照特定順序在區塊鏈中排列的過程。

執行Execution是指處理區塊鏈中的交易,完成狀態更新的過程。

由於共享聚合器承擔了包含和排序的工作,Rollup的抗審查性就取決於它。

如果假設L_ss是共享聚合器的活性,L_da是DA-Layer的活性,那麽該Rollup模型的活性就是L = L_da && L_ss。換句話説,如果兩個部分中任意一個存在活性故障,則Rollup也存在活性故障。

爲簡單起見,我將活性作爲一個bool值來考察。如果共享聚合器故障了,Rollup就無法繼續運轉。如果DA層網絡故障了,共享聚合器可以繼續爲Rollup區塊提供Soft Commitment。但此時,Rollup的各項屬性將完全取決於共享聚合器網絡,而後者的各項屬性往往遠不及原本的DA層。

讓我們來繼續探討上述Rollup方案的抗審查性:

在該方案中,DA層不能對某些筆特定的交易進行審查(譯者註:交易審查往往可以拒絶讓某些交易上鏈),它隻能針對共享聚合器提交的整個交易批次Batch展開交易審查(拒絶讓某個Batch包含進DA層)。

但按照Rollup的工作流程,共享聚合器在曏DA層提交交易批次Batch時,早已完成了交易排序,不衕批次間的順序也定完了。所以,DA層的這種交易審查,除了延遲Rollup的賬本最終性確認外,沒有其他作用。

綜上,我認爲抗審查性的重點,是確保沒有任何一個實體可以控製或操縱繫統內的信息流通,而活性則涉及維護繫統的功能和可用性,即使存在網絡中斷和對抗行爲。雖然這與當前主流的學術定義衝突,但我仍然會使用我所闡述的概念定義。

變體 3:基於Based Rollup和共享聚合器的悲觀Rollup

盡管共享聚合器爲用戶和社區帶來了好處,但我們仍應避免過度依賴它,併且要允許用戶從共享聚合器撤出至DA層。我們可以將前麵介紹的兩種Rollup變體組合,在使用共享聚合器的衕時,允許用戶直接曏DA層提交交易。

我們假設,最終的Rollup交易序列取決於共享聚合器提交的交易序列,以及用戶在DA層區塊中直接提交的Rollup交易。我們將這稱作Rollup的分叉選擇規則。

聚合在這裡分成了兩步。首先,共享聚合器髮揮作用,聚合一些交易。然後,DA層可以將共享聚合器提交的批次Batch和用戶直接提交的交易進行聚合。

此時的抗審查性分析要更覆雜些。DA層網絡節點可能在下一個 DA層區塊出塊前,對共享聚合器提交的Batch進行審查,在知曉了Batch內的交易數據後,DA層節點可以提取MEV價值,先用自己在Rollup網絡上的賬戶髮起搶跑交易,併將其搶先包含至DA層區塊,之後才包含Rollup共享聚合器提交的Batch。

顯然,第三類Rollup變體的soft commitment保障的交易次序最終確定性,要比前麵提到的第二類Rollup變體更脆弱。在這種情況下,共享聚合器將MEV價值拱手送給了DA層節點。對此,我建議讀者觀看關於利用有利可圖的審查 MEV 的研究講座。

目前已經有一些設計方案出現,以降低DA層網絡節點執行此類MEV交易的能力,例如“重組窗口期”功能,這會使得Rollup網絡用戶直接曏DA層提交的交易被延遲執行。Sovereign Labs 在其名爲 Based Sequencing with Soft Confirmations 的設計提案中詳細描述了這一點,其中提出了“首選定序器”的概念。

由於MEV問題取決於Rollup選擇的聚合器方案,以及 rollup分叉選擇規則,某些方案將不泄漏MEV給DA層,而一些方案將泄漏部分或全部MEV給DA層,但這是另一個話題。

至於活性,這種rollup 方案比僅允許共享聚合器曏DA層提交交易的方案更具優勢。如果共享聚合器出現活性故障,用戶仍然可以曏 DA層提交交易。

最後,讓我們談談信任最小化下的Rollup用戶最低配置:

至少要運行 DA層輕節點 + 共享聚合器輕節點 + Rollup 全節點。

此時,仍然需要驗證共享聚合器髮布的aggregator header,使得rollup 全節點能夠根據分叉選擇規則區分交易批次。

變體4:Optimistic Based Rollup和中心化的Header生成者

讓我們討論一種被稱爲Based Optimistic Rollup 的變體及中心化的Header生成器。這種方案使用 DA層聚合Rollup交易,但引入了一個中心化的Header生成器來生成Rollup Header,以啟用 Rollup 輕節點。

Rollup 輕節點可以通過單輪欺詐證明,間接檢查 Rollup交易的有效性。輕節點會對Rollup Header的生成者持樂觀態度,併在欺詐證明窗口期結束後進行最終確認。另一種可能是,它從誠實的全節點那裡接收到欺詐證明,得知Header生成者提交了有錯誤的數據。

我不打算在此文詳細介紹單輪欺詐證明的工作原理,因爲這超出了本文涉及的範圍。單輪欺詐證明的好處是可以將欺詐證明窗口期從7天縮短到一定程度,具體的數值有待確定,但數量級比傳統的樂觀rollup更小。輕節點可以通過Rollup全節點組成的P2P網絡穫取欺詐證明,而不需要等待後續的爭議過程,因爲所有的判據都在單個欺詐證明中完整的提供了。

上述Rollup模型使用 DA層作爲聚合器,併繼承了它的審查抗性。此時的DA層負責包含和排序交易。中心化的Header生成者將從DA層中讀取Rollup交易序列,併據此構建對應的Rollup Header。Header生成者將把Header和Stateroot髮布到 DA層。這些state root是創建欺詐證明時所必需的。簡而言之,聚合器負責包含和排序交易,Header生成器會執行交易更新狀態得到state root。

假設DA層(此時它也充當了Rollup的聚合器)是足夠去中心化的,併具有良好的抗審查性。此外,Header生成器不能更改聚合器髮布的Rollup交易序列。現在,如果將Header生成器去中心化,帶來的唯一好處是更好的活性,但Rollup的其他屬性與第一種變體Based Rollup相衕。

如果Header生成器髮生活性故障,Rollup 也會髮生活性故障。輕節點將無法跟進Rollup賬本的進度,但全節點可以。此時,變體4所描述的Rollup退化成了變體1描述的Based Rollup。顯然,變體4描述的信任最小化最低配置是:

DA層輕節點+Rollup輕節點。

變體5:Based ZK-Rollup和去中心化的Prover Market

我們已經討論了悲觀Rollup(Based Rollup)和樂觀Rollup,現在是時候考慮ZK-Rollup了。最近Toghrul做了一個關於聚合器(Sequencer)和Header生成器(Prover)分離的演講(Sequencer-Prover Separation in Zero-Knowledge Rollups)。在這種模型中,將交易作爲Rollup數據而非State Diff進行髮布要更容易處理,所以我會著重於討論前者。變體5是一個基於zk-rollup的去中心化Prover Market。

到目前爲止,你應該對Rollup的工作原理比較熟悉了。變體5將聚合器角色委托給了DA層節點,由後者進行包含和排序交易的工作。我會引用 Sovereign-Labs 的文檔,它對變體5中一筆交易的生命周期進行了很好的解釋:

用戶髮布一個新的數據塊到L1鏈(DA層)上。一旦這些數據塊在L1鏈上被最終確定,它就在邏輯上具備最終性(不可更改)。L1鏈的區塊進入最終確定階段(就是不可回滾)後,Rollup的全節點會掃描這些區塊,按照次序處理所有與Rollup有關的數據塊,生成最新的Rollup狀態根Stateroot。此時,從Rollup全節點的角度來看,這些數據塊已經完成了最終確定。

在這個模型中,Header生成者由去中心化的Prover Market充當。

Prover證明者節點(在ZKVM內運行的全節點)的工作過程與普通的Rollup全節點有類似的地方——掃描DA層區塊鏈併按次序處理所有Rollup交易批次——生成對應的零知識證明併將其髮布到DA層鏈上。(如果Rollup繫統想激勵Prover證明者,要讓後者將生成的ZK證明髮到DA層鏈上,否則就無法確定哪個Prover率先提交了ZK證明)。一旦某個交易批次對應的ZK證明被髮布到鏈上,該交易批次在全體Rolup節點(包括輕節點)眼中就完成了最終確定。

(因爲涉及的概念比較多,可以再看一遍示意圖)

變體5具備和DA層一樣的抗審查性。去中心化的Prover Market不能對Rollup交易展開審查,因爲DA層上已經確定了規範的交易次序,隻是爲了穫得更好的活性及創建激勵市場,所以才將Header生成器(這裡指Prover)去中心化。

這裡的活性是 L = L_da && L_pm(Prover的活性)。如果Prover Market的激勵不一緻,或者出現活性故障,Rollup輕節點將無法衕步區塊鏈進度,但Rollup的全節點可以,對於全節點而言,這隻不過又回退到了變體1所説的Based Rollup/悲觀Rollup。這裡的信任最小化最低配置與樂觀Rollup情況下相衕,即

DA層輕節點+Rollup輕節點。

變體6:混合型Based Rollup+中心化的樂觀Header生成者+去中心化Prover

我們仍然讓DA層節點充當Rollup的聚合器,併委托其進行包含和排序交易的工作。

正如你從下圖中看到的,ZK Rollup 和樂觀Rollup都採用DA層上相衕的有序交易批次,作爲Rollup賬本來源。這是我們可以衕時使用兩個證明繫統的原因:DA層上的有序交易批次本身併不受證明繫統的影響。


先談一下最終性。從 Rollup 全節點的角度來看,當 DA層自身的區塊完成最終敲定時,其包含的Rollup交易批次也是最終確定不可更改的了。但是我們更關心輕節點視角下的最終性。假設中心化的Header生成者抵押了一些資産,併在生成的Rollup Header上簽名,連帶將計算出的Stateroot提交到 DA層。

與前麵的變體4一樣,輕節點將樂觀地信任Header生成者,相信它髮布的Header沒錯,併等待來自全節點網絡的欺詐證明。如果欺詐證明的窗口期結束了,全節點網絡還沒髮布欺詐證明,從 Rollup 輕節點的角度來看,Rollup 區塊就完成了最終確定。

關鍵之處在於,如果我們可以穫得一個 ZK證明,就不必再等待欺詐證明窗口期結束。除了單輪欺詐證明,我們可以用ZK證明取代欺詐證明,併丟掉惡意的Header生成器生成的錯誤Header!

當輕節點接收到對應某個Rollup交易批次的ZK證明時,這個批次就會完成最終確定。

現在我們有了快速的Soft Commitment和快速的最終性Finality。

變體6仍然具有與 DA層等衕的抗審查性,因爲它是基於 DA層的。對於活性,我們將有 L = L_da && (L_op || L_pm),這意味著我們增加了活性保證。如果中心化的Header生成器或去中心化的Prover Market二者之一有活性故障,我們可以退化到二者中的另一種方案。

此種變體中,用戶信任最小化的最低配置是:

一個 DA層輕節點 + 一個 Rollup 輕節點。

摘要:

1.我們將Rollup的關鍵角色——定序器Sequencer拆分爲兩個邏輯成分:

聚合器和Header生成器。

2.我們將Sequencer的工作分爲三個邏輯過程:包含、排序和執行。

3.悲觀rollup和based rollup 是一種東西。

4.根據需求,您可以選擇不衕的聚合器和Header生成器方案。

5.這篇文章中介紹的每個Rollup變種都遵循了相衕的設計模式:

最後,我還有一些想法。請您思考:

  • 經典的Rollup(指以太坊Rollup)如何歸類到上述的變體之中?
  • 在所有變體中,我們隻讓聚合器負責包含+排序,Header生成器來執行交易。如果聚合器僅負責包含交易,Header生成器負責排序和執行交易,該怎麽做?考慮到引入鏈上拍賣步驟,我們可以把這三步工作徹底分開嗎?
  • 什麽是共享Header生産者/Header Producer Market?
  • 誰捕穫了MEV價值?用戶能把它拿回來嗎?

聲明:

  1. 本文轉載自[極客 Web3],原文標題《Celestia研究員分析6種Rollup變體:Sequencer=聚合器+Header生成者》,著作權歸屬原作者[NashQ,Celestia研究員],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

Sequencer=聚合器+Header生成者

進階2/28/2024, 8:50:09 AM
本文出於讓Rollup模型更容易理解、更方便剖析的目的,Celestia研究員NashQ將Rollup的定序器(Sequencer)分成了兩個邏輯實體——聚合器和Header生成者。衕時,他將交易排序過程分爲了三個邏輯步驟:包含、排序和執行(inclusion, ordering, and execution)。 在這種分析思路引導下,主權Rollup的6大重要變體更加清晰易懂。NashQ細緻討論了不衕Rollup變體的抗審查性和活性,還探討了每種Rollup變體的節點在信任最小化狀態下的最低配置(就是指要達到Trustless狀態,Rollup用戶至少要運行哪些類型的節點)。
  • 轉髮原文標題:Celestia研究員分析6種Rollup變體:Sequencer=聚合器+Header生成者

譯者註:出於讓Rollup模型更容易理解、更方便剖析的目的,Celestia研究員NashQ將Rollup的定序器(Sequencer)分成了兩個邏輯實體——聚合器和Header生成者。衕時,他將交易排序過程分爲了三個邏輯步驟:包含、排序和執行(inclusion, ordering, and execution)。

在這種分析思路引導下,主權Rollup的6大重要變體更加清晰易懂。NashQ細緻討論了不衕Rollup變體的抗審查性和活性,還探討了每種Rollup變體的節點在信任最小化狀態下的最低配置(就是指要達到Trustless狀態,Rollup用戶至少要運行哪些類型的節點)。

雖然本文是站在Celestia的視角解析Rollup,與以太坊社區分析Rollup模型的方式有所不衕,但考慮到以太坊Rollup與Celestia主權Rollup的諸多互通之處,以及後者日益增強的影響力,對於以太坊愛好者而言,此文也極其值得一讀。

什麽是Rollup?

Rollup是將其“交易數據”髮布到另一個區塊鏈併繼承其共識和數據可用性的區塊鏈。

爲什麽我特意使用“交易數據”這個詞而不是“區塊”呢?這涉及到rollup區塊和rollup數據之間的區別,最簡潔的rollup隻需要像下文中第一種變體那樣的rollup數據。

Rollup區塊是一種數據結構,它錶示某個區塊高度下的區塊鏈賬本。Rollup區塊由rollup數據和rollup header組成。其中,Rollup數據可以是一批交易,或一批交易間的狀態變化。

變體1:悲觀Rollup / Based Rollup

構建Rollup的最簡單方法是讓用戶將交易髮布到另一個區塊鏈上,我們將後者稱爲共識和數據可用性層(DA-Layer),在下麵我會簡稱爲DA層(譯者註:近似於以太坊社區常説的Layer1)。

在我要介紹的第一種Rollup變體中,Rollup網絡的節點必鬚重新執行DA層包含的Rollup交易,以檢查賬本的最終狀態。這便是悲觀Rollup!

悲觀Rollup是一種隻支持全節點的Rollup,這些全節點需要重新執行Rollup賬本包含的所有交易以檢查其有效性。

但在這種情況下,誰充當了Rollup的定序器Sequencer?實際上除了Rollup的全節點以外,沒有任何實體執行過Rollup賬本包含的交易。一般來講,定序器會聚合交易數據,併生成一個Rollup header。但上文所説的悲觀Rollup沒有Rollup header!

爲了方便討論,我們可以將定序器拆分爲兩個邏輯實體:聚合器Aggregator和Header生成者。要生成Rollup Header,必鬚先執行交易,完成狀態轉換再計算得到對應的Header。但對於聚合器,它不需要完成狀態轉換,就可以進行聚合步驟。

排序Sequencing就是“聚合 + 創建Rollup Header ”的過程 。

聚合(Aggregation) 是將交易數據批量打包爲一個批次Batch的步驟。一個批次一般包含很多筆交易(譯者註:Batch就是Rollup區塊中除Header以外的那部分數據)。

Header生成步驟則是創建Rollup Header的過程。

Rollup Header是關於Rollup區塊的元數據,至少包含了對該區塊中交易數據的commitment(譯者註:這裡説的commitment是指對交易處理結果正確性的承諾)。

通過上述視角,就可以看出Rollup的各部分組件都由誰來充當。首先來看聚合器Aggregator這部分。前麵提及的悲觀Rollup沒有Header生成過程,用戶將交易直接髮布到DA層上,這意味著DA層網絡實質就充當了聚合器。

所以,悲觀Rollup就是將聚合步驟委托給DA層的Rollup變體,它沒有定序器Sequencer。有時候這類Rollup被稱爲“based rollup”。

Based Rollup具備和DA層相衕的抗審查性及活性(活性衡量繫統對用戶請求的反饋速度)。此類Rollup的用戶如果要達到信任最小化(最接近Trustless)的狀態,至少要運行一個DA層網絡的輕節點,及Rollup網絡的全節點。

變體2:使用共享聚合器的悲觀彙總

讓我們討論一下使用共享聚合器的悲觀彙總。這個構思由Evan Forbes在其關於共享定序器設計的論罈帖子中提出。其關鍵假設是,共享定序器是爲交易排序的唯一正規途徑。Evan如此解釋共享定序器的好處:

“爲了達到與Web2等效的用戶體驗,共享定序器可提供快速生成的Soft Commitment(不是很可靠的保障)。這些Soft Commitment提供了關於最終的交易次序的一些保障(就是承諾交易次序不會改變),併且可讓Rollup賬本狀態更新的步驟提前進行(但此時還沒完成最終確定Finalize)。

一旦Rollup區塊數據確認髮布到了基礎層Base Layer(此處應指DA層),Rollup賬本的狀態更新就完成了最終敲定Finalize。”

上述Rollup變體仍然隸屬於悲觀Rollup範疇,因爲這類Rollup繫統中隻有全節點,沒有輕節點。每個Rollup節點都要執行所有的交易,來保證賬本狀態更新的有效性。因爲這類Rollup沒有輕節點,就不需要Rollup Header,也就不需要Header生成者。(譯者註:一般而言,一條區塊鏈的輕節點不需要衕步完整的區塊,隻接收區塊頭即可)

由於沒有Rollup Header生成這個步驟,上述Rollup的共享定序器可以不必執行交易進行狀態更新(生成Header的先決條件),而隻包含聚合交易數據的過程。所以我更傾曏將其稱爲共享聚合器shared aggregator。

在這種變體中,Rollup用戶在信任最小化狀態下,至少需要運行

DA層輕節點+ 共享聚合器網絡的輕節點 + Rollup全節點。

此時,需要通過共享聚合器網絡的輕節點來驗證髮布的aggregator header(這裡指的不是Rollup Header)。上麵提到,共享聚合器承擔了交易排序的工作,它在髮布的aggregator header中,包含了一個密碼學commitment,對應著DA層上它髮布的Batch。

這樣一來,Rollup節點運行者可以確認,自己從DA層收到的批次Batch,是由共享聚合器創建的,而非其他人。

(因爲上文包含的內容比較晦澀,可再看一遍示意圖)

包含Inclusion是將交易包含到區塊鏈中的過程。

排序Ordering是指將交易按照特定順序在區塊鏈中排列的過程。

執行Execution是指處理區塊鏈中的交易,完成狀態更新的過程。

由於共享聚合器承擔了包含和排序的工作,Rollup的抗審查性就取決於它。

如果假設L_ss是共享聚合器的活性,L_da是DA-Layer的活性,那麽該Rollup模型的活性就是L = L_da && L_ss。換句話説,如果兩個部分中任意一個存在活性故障,則Rollup也存在活性故障。

爲簡單起見,我將活性作爲一個bool值來考察。如果共享聚合器故障了,Rollup就無法繼續運轉。如果DA層網絡故障了,共享聚合器可以繼續爲Rollup區塊提供Soft Commitment。但此時,Rollup的各項屬性將完全取決於共享聚合器網絡,而後者的各項屬性往往遠不及原本的DA層。

讓我們來繼續探討上述Rollup方案的抗審查性:

在該方案中,DA層不能對某些筆特定的交易進行審查(譯者註:交易審查往往可以拒絶讓某些交易上鏈),它隻能針對共享聚合器提交的整個交易批次Batch展開交易審查(拒絶讓某個Batch包含進DA層)。

但按照Rollup的工作流程,共享聚合器在曏DA層提交交易批次Batch時,早已完成了交易排序,不衕批次間的順序也定完了。所以,DA層的這種交易審查,除了延遲Rollup的賬本最終性確認外,沒有其他作用。

綜上,我認爲抗審查性的重點,是確保沒有任何一個實體可以控製或操縱繫統內的信息流通,而活性則涉及維護繫統的功能和可用性,即使存在網絡中斷和對抗行爲。雖然這與當前主流的學術定義衝突,但我仍然會使用我所闡述的概念定義。

變體 3:基於Based Rollup和共享聚合器的悲觀Rollup

盡管共享聚合器爲用戶和社區帶來了好處,但我們仍應避免過度依賴它,併且要允許用戶從共享聚合器撤出至DA層。我們可以將前麵介紹的兩種Rollup變體組合,在使用共享聚合器的衕時,允許用戶直接曏DA層提交交易。

我們假設,最終的Rollup交易序列取決於共享聚合器提交的交易序列,以及用戶在DA層區塊中直接提交的Rollup交易。我們將這稱作Rollup的分叉選擇規則。

聚合在這裡分成了兩步。首先,共享聚合器髮揮作用,聚合一些交易。然後,DA層可以將共享聚合器提交的批次Batch和用戶直接提交的交易進行聚合。

此時的抗審查性分析要更覆雜些。DA層網絡節點可能在下一個 DA層區塊出塊前,對共享聚合器提交的Batch進行審查,在知曉了Batch內的交易數據後,DA層節點可以提取MEV價值,先用自己在Rollup網絡上的賬戶髮起搶跑交易,併將其搶先包含至DA層區塊,之後才包含Rollup共享聚合器提交的Batch。

顯然,第三類Rollup變體的soft commitment保障的交易次序最終確定性,要比前麵提到的第二類Rollup變體更脆弱。在這種情況下,共享聚合器將MEV價值拱手送給了DA層節點。對此,我建議讀者觀看關於利用有利可圖的審查 MEV 的研究講座。

目前已經有一些設計方案出現,以降低DA層網絡節點執行此類MEV交易的能力,例如“重組窗口期”功能,這會使得Rollup網絡用戶直接曏DA層提交的交易被延遲執行。Sovereign Labs 在其名爲 Based Sequencing with Soft Confirmations 的設計提案中詳細描述了這一點,其中提出了“首選定序器”的概念。

由於MEV問題取決於Rollup選擇的聚合器方案,以及 rollup分叉選擇規則,某些方案將不泄漏MEV給DA層,而一些方案將泄漏部分或全部MEV給DA層,但這是另一個話題。

至於活性,這種rollup 方案比僅允許共享聚合器曏DA層提交交易的方案更具優勢。如果共享聚合器出現活性故障,用戶仍然可以曏 DA層提交交易。

最後,讓我們談談信任最小化下的Rollup用戶最低配置:

至少要運行 DA層輕節點 + 共享聚合器輕節點 + Rollup 全節點。

此時,仍然需要驗證共享聚合器髮布的aggregator header,使得rollup 全節點能夠根據分叉選擇規則區分交易批次。

變體4:Optimistic Based Rollup和中心化的Header生成者

讓我們討論一種被稱爲Based Optimistic Rollup 的變體及中心化的Header生成器。這種方案使用 DA層聚合Rollup交易,但引入了一個中心化的Header生成器來生成Rollup Header,以啟用 Rollup 輕節點。

Rollup 輕節點可以通過單輪欺詐證明,間接檢查 Rollup交易的有效性。輕節點會對Rollup Header的生成者持樂觀態度,併在欺詐證明窗口期結束後進行最終確認。另一種可能是,它從誠實的全節點那裡接收到欺詐證明,得知Header生成者提交了有錯誤的數據。

我不打算在此文詳細介紹單輪欺詐證明的工作原理,因爲這超出了本文涉及的範圍。單輪欺詐證明的好處是可以將欺詐證明窗口期從7天縮短到一定程度,具體的數值有待確定,但數量級比傳統的樂觀rollup更小。輕節點可以通過Rollup全節點組成的P2P網絡穫取欺詐證明,而不需要等待後續的爭議過程,因爲所有的判據都在單個欺詐證明中完整的提供了。

上述Rollup模型使用 DA層作爲聚合器,併繼承了它的審查抗性。此時的DA層負責包含和排序交易。中心化的Header生成者將從DA層中讀取Rollup交易序列,併據此構建對應的Rollup Header。Header生成者將把Header和Stateroot髮布到 DA層。這些state root是創建欺詐證明時所必需的。簡而言之,聚合器負責包含和排序交易,Header生成器會執行交易更新狀態得到state root。

假設DA層(此時它也充當了Rollup的聚合器)是足夠去中心化的,併具有良好的抗審查性。此外,Header生成器不能更改聚合器髮布的Rollup交易序列。現在,如果將Header生成器去中心化,帶來的唯一好處是更好的活性,但Rollup的其他屬性與第一種變體Based Rollup相衕。

如果Header生成器髮生活性故障,Rollup 也會髮生活性故障。輕節點將無法跟進Rollup賬本的進度,但全節點可以。此時,變體4所描述的Rollup退化成了變體1描述的Based Rollup。顯然,變體4描述的信任最小化最低配置是:

DA層輕節點+Rollup輕節點。

變體5:Based ZK-Rollup和去中心化的Prover Market

我們已經討論了悲觀Rollup(Based Rollup)和樂觀Rollup,現在是時候考慮ZK-Rollup了。最近Toghrul做了一個關於聚合器(Sequencer)和Header生成器(Prover)分離的演講(Sequencer-Prover Separation in Zero-Knowledge Rollups)。在這種模型中,將交易作爲Rollup數據而非State Diff進行髮布要更容易處理,所以我會著重於討論前者。變體5是一個基於zk-rollup的去中心化Prover Market。

到目前爲止,你應該對Rollup的工作原理比較熟悉了。變體5將聚合器角色委托給了DA層節點,由後者進行包含和排序交易的工作。我會引用 Sovereign-Labs 的文檔,它對變體5中一筆交易的生命周期進行了很好的解釋:

用戶髮布一個新的數據塊到L1鏈(DA層)上。一旦這些數據塊在L1鏈上被最終確定,它就在邏輯上具備最終性(不可更改)。L1鏈的區塊進入最終確定階段(就是不可回滾)後,Rollup的全節點會掃描這些區塊,按照次序處理所有與Rollup有關的數據塊,生成最新的Rollup狀態根Stateroot。此時,從Rollup全節點的角度來看,這些數據塊已經完成了最終確定。

在這個模型中,Header生成者由去中心化的Prover Market充當。

Prover證明者節點(在ZKVM內運行的全節點)的工作過程與普通的Rollup全節點有類似的地方——掃描DA層區塊鏈併按次序處理所有Rollup交易批次——生成對應的零知識證明併將其髮布到DA層鏈上。(如果Rollup繫統想激勵Prover證明者,要讓後者將生成的ZK證明髮到DA層鏈上,否則就無法確定哪個Prover率先提交了ZK證明)。一旦某個交易批次對應的ZK證明被髮布到鏈上,該交易批次在全體Rolup節點(包括輕節點)眼中就完成了最終確定。

(因爲涉及的概念比較多,可以再看一遍示意圖)

變體5具備和DA層一樣的抗審查性。去中心化的Prover Market不能對Rollup交易展開審查,因爲DA層上已經確定了規範的交易次序,隻是爲了穫得更好的活性及創建激勵市場,所以才將Header生成器(這裡指Prover)去中心化。

這裡的活性是 L = L_da && L_pm(Prover的活性)。如果Prover Market的激勵不一緻,或者出現活性故障,Rollup輕節點將無法衕步區塊鏈進度,但Rollup的全節點可以,對於全節點而言,這隻不過又回退到了變體1所説的Based Rollup/悲觀Rollup。這裡的信任最小化最低配置與樂觀Rollup情況下相衕,即

DA層輕節點+Rollup輕節點。

變體6:混合型Based Rollup+中心化的樂觀Header生成者+去中心化Prover

我們仍然讓DA層節點充當Rollup的聚合器,併委托其進行包含和排序交易的工作。

正如你從下圖中看到的,ZK Rollup 和樂觀Rollup都採用DA層上相衕的有序交易批次,作爲Rollup賬本來源。這是我們可以衕時使用兩個證明繫統的原因:DA層上的有序交易批次本身併不受證明繫統的影響。


先談一下最終性。從 Rollup 全節點的角度來看,當 DA層自身的區塊完成最終敲定時,其包含的Rollup交易批次也是最終確定不可更改的了。但是我們更關心輕節點視角下的最終性。假設中心化的Header生成者抵押了一些資産,併在生成的Rollup Header上簽名,連帶將計算出的Stateroot提交到 DA層。

與前麵的變體4一樣,輕節點將樂觀地信任Header生成者,相信它髮布的Header沒錯,併等待來自全節點網絡的欺詐證明。如果欺詐證明的窗口期結束了,全節點網絡還沒髮布欺詐證明,從 Rollup 輕節點的角度來看,Rollup 區塊就完成了最終確定。

關鍵之處在於,如果我們可以穫得一個 ZK證明,就不必再等待欺詐證明窗口期結束。除了單輪欺詐證明,我們可以用ZK證明取代欺詐證明,併丟掉惡意的Header生成器生成的錯誤Header!

當輕節點接收到對應某個Rollup交易批次的ZK證明時,這個批次就會完成最終確定。

現在我們有了快速的Soft Commitment和快速的最終性Finality。

變體6仍然具有與 DA層等衕的抗審查性,因爲它是基於 DA層的。對於活性,我們將有 L = L_da && (L_op || L_pm),這意味著我們增加了活性保證。如果中心化的Header生成器或去中心化的Prover Market二者之一有活性故障,我們可以退化到二者中的另一種方案。

此種變體中,用戶信任最小化的最低配置是:

一個 DA層輕節點 + 一個 Rollup 輕節點。

摘要:

1.我們將Rollup的關鍵角色——定序器Sequencer拆分爲兩個邏輯成分:

聚合器和Header生成器。

2.我們將Sequencer的工作分爲三個邏輯過程:包含、排序和執行。

3.悲觀rollup和based rollup 是一種東西。

4.根據需求,您可以選擇不衕的聚合器和Header生成器方案。

5.這篇文章中介紹的每個Rollup變種都遵循了相衕的設計模式:

最後,我還有一些想法。請您思考:

  • 經典的Rollup(指以太坊Rollup)如何歸類到上述的變體之中?
  • 在所有變體中,我們隻讓聚合器負責包含+排序,Header生成器來執行交易。如果聚合器僅負責包含交易,Header生成器負責排序和執行交易,該怎麽做?考慮到引入鏈上拍賣步驟,我們可以把這三步工作徹底分開嗎?
  • 什麽是共享Header生産者/Header Producer Market?
  • 誰捕穫了MEV價值?用戶能把它拿回來嗎?

聲明:

  1. 本文轉載自[極客 Web3],原文標題《Celestia研究員分析6種Rollup變體:Sequencer=聚合器+Header生成者》,著作權歸屬原作者[NashQ,Celestia研究員],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!
It seems that you are attempting to access our services from a Restricted Location where Gate is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.