在 Celestia 上 Rollup 是如何被用作主權鏈的?

語言: CN / TW / HK

大多數使用 Celestia 作為其共識和資料可用性層的應用程式都將託管在 Rollup 上。作為一種新的第 2 層解決方案,最初提出以提高交易吞吐量, Rollup 可能是幾乎所有區塊鏈應用程式的未來家園,無論是使用 Celestia、 以太坊 還是其他平臺來實現共識和資料可用性。

在這篇文章中,我們將討論什麼是 Rollup,它們目前如何在以太坊上執行以及它們將如何在 Celestia 上執行。

在當前的以太坊 Rollup 中,以太坊鏈被奉為 Rollup 的結算層,使 Rollup 有效地成為以太坊的“嬰兒鏈”,其中 Rollup 鏈由以太坊上的智慧合約定義。這也可以與 Polkadot 平行鏈模型相媲美,其中中繼鏈被奉為平行鏈的結算層。

然而在 Celestia 中,我們設想了一種新型的 Rollup:主權 Rollup 鏈。這些是獨立的主權鏈,其中 Rollup 鏈由 Rollup 子網路本身定義,類似於獨立的 L1,並且可以選擇與其他鏈或結算層一起擁有受信任或信任最小化的橋樑。

目錄

  • 什麼是 Rollup?

  • 以太坊上的 Rollup(結算層)

  • Celestia(主權)上的 Rollup

  • 主權交叉 Rollup 通訊

  • 為什麼是主權的?

什麼是 Rollup?

Rollup 是將其區塊釋出到另一個區塊鏈的區塊鏈,並繼承該區塊鏈的共識和資料可用性(稱為一個“共識和資料可用性層”)。

典型的 Rollup 由三個主要方維護: 排序器(sequencers)、Rollup 完整節點、Rollup 輕客戶端 。所有 Rollup 都有一個狀態,例如,可能是 Rollup 使用者在某個時間點的所有帳戶地址和代幣餘額。

Sequencers是接收來自使用者的新 Rollup 交易的節點,將交易組合成一個區塊,並將該區塊釋出到共識和資料可用性層。一個區塊由兩部分組成:區塊頭和實際的交易資料。除其他外,區塊頭包含對鏈狀態的加密承諾——通常是 Merkle 根。

Rollup 完整節點是下載所有 Rollup 區塊頭和交易資料、處理和驗證所有交易的節點,以計算 Rollup 的狀態並檢查所有交易是否有效。如果全節點在彙總區塊中遇到無效事務,它會拒絕並忽略該區塊。因此,Sequencers 無法建立具有無效交易的有效區塊,因為節點會從他們的視野中拒絕它們。

Rollup 輕客戶端只下載 rollup 區塊頭,不下載和處理任何交易資料,因此無法計算最新狀態或驗證 rollup 本身的狀態有效性。相反,他們可以從最新的 Rollup 區塊頭中瞭解最新的狀態承諾,並向 Rollup 完整節點詢問部分狀態。他們還使用欺詐證明或有效性證明等技術間接檢查 Rollup 交易的有效性。

當 Rollup 節點同步 Rollup 鏈時,它們使用共識和資料可用性層對 Rollup 區塊施加的排序。如果它是 Rollup 中要在資料可用性層上釋出的第一個處於其高度的有效區塊,則它們將確認這個 Rollup 區塊的最總想 - 無論是直接檢查有效性(完整節點)還是間接檢查有效性(輕客戶端)。

有關 Rollup 的更詳細和技術性的解釋,我們建議讀者參閱 Celestia 論壇 上有關 Rollup 的文章。

以太坊上的 Rollup(enshrined 結算)

當前以太坊上的 Rollup 將其區塊直接釋出到基於 EVM 的智慧合約,也稱為橋合約。該合約有效地實現了一個用於 Rollup 的鏈上輕客戶端,該客戶端接收區塊頭並處理欺詐或有效性證明。在這個模型中,以太坊主鏈有一個神聖的、硬編碼的、信任最小化的橋。

使用橋合約,使用者可以在 Rollup 和橋合約所在的執行鏈之間以信任最小化的方式存取資產,因為由於欺詐或有效性證明,合約不會接受來自 Sequencers 的無效區塊。

以太坊鏈作為共識和資料可用性層,僅記錄和最終確定根據橋合約有效的區塊。因此,Rollup 完整節點和輕客戶端(智慧合約之外)將以太坊鏈上輕客戶端視為關於什麼是規範(正確)Rollup 鏈的真相的根本來源。在這個模型中,我們認為以太坊被奉為 Rollup 的耦合結算層,其中 Rollup 是以太坊的“嬰兒鏈”,而不是一種擁有自己權利的獨立鏈。

Celestia上的 Rollup(主權)

Celestia 上的主權 Rollup 不會將他們的區塊釋出到智慧合約中,而是直接作為原始資料釋出到鏈上。Celestia 共識和資料可用性層不解釋或對 Rollup 區塊執行任何計算,也不為 Rollup 執行鏈上輕客戶端。

相反,Rollup 像第 1 層區塊鏈一樣有效地執行:完整節點和輕客戶端直接從 Rollup 自己的點對點網路下載 Rollup 的區塊。主要區別在於,他們還通過 Merkle 證明驗證了 Rollup 區塊資料是否包含在 Celestia 資料可用性層上並對其進行排序。因此,與第 1 層區塊鏈類似,這個規範鏈由本地驗證分叉選擇規則和 Rollup 交易的節點確定,而不是由鏈上輕客戶端確定。

欺詐和有效性證明的工作方式也類似於它們在第 1 層區塊鏈中的工作方式。欺詐證明通過點對點網路直接傳遞給客戶端,有效性證明簡單地包含在區塊頭中(例如,參見 Mina 協議)。因為點對點網路中的網路同步延遲很可能遠小於獲取包含在鏈上的欺詐證明的延遲,這意味著點對點欺詐證明的挑戰期可能要短得多,從而為輕客戶端帶來更快的最終確定性。

在這個模型中,Rollup 和任何結算層之間沒有橋,因為 rollup 區塊只是直接釋出到資料可用性層,而不是智慧合約。這與 Cosmos 的設計理念相一致,在 Cosmos zones 中,通往 Cosmos Hub 的橋不是內建確定的,而是可選的,可以新增,同時仍允許 zones 保留其主權。Rollups 仍然可以以信任最小化的方式連線到其他 Rollup——我們將在下一節討論這個問題。

如果一條 Rollup 鏈沒有規定一個結算層來確定規範鏈和 Rollup 的交易有效性規則,則它是主權的。相反,Rollup 的規範鏈是由 Rollup 的點對點網路中的節點確定的(前提是這些區塊在資料可用性層上可用)。這意味著結算層不能強制將交易包含在 Rollup 中。

“不設結算層”主要是社會區別,而不是技術區別,這意味著 Rollup 的社群之間存在社會合約,即 Rollup 的交易有效性規則由社群定義,而不是不可變的 L1 合約。在實踐中,這意味著到 Rollup 的橋(未被寫入)必須是可變的,以便有一條升級路徑來確認主權 Rollup 上的硬分叉(在下一節中討論)。

因此,這意味著 Rollup 社群可以通過硬分叉升級鏈,而無需對結算層或資料可用性層進行硬分叉,也無需嵌入破壞鏈的信任最小化性質的鏈上治理。如果有資產是在主權 Rollup 鏈上本地鑄造的,而不是所有資產都從其他鏈橋接,則這一點尤其重要。

主權 Rollups 也可以僅將以太坊用作資料可用性層,而無需將以太坊用於結算,但是與使用諸如 Celestia 之類的“純”資料可用性層相比,這會增加更多開銷,因為 Rollup 節點需要對資料的有效性感興趣以太坊結算層中的所有交易,以便為以太坊資料可用性層執行一個節點。

也可以在 Celestia 上構建一個“ 結算 Rollup ‌”,這是主權 Rollup 的一種。結算 Rollup 可以具有將其用作結算層的非主權 Rollup。然而,結算層是主權的,就像以太坊 L1 是主權一樣,因為它的社群經常通過社會共識用硬分叉升級它。

主權跨 Rollup 通訊

如上所述,Celestia Rollup 在 Rollup 和任何結算層之間沒有一座設定的橋樑。Rollup 的結算層和執行層因此被解耦和模組化。那麼 Celestia Rollups 如何連線到其他鏈呢?因為沒有結算層,這讓我們有更廣闊的跨鏈橋設計空間。我們在下面探索設計空間和各種選項。

讓我們假設某個主權 Rollup 鏈 A 想要與另一個鏈 B 橋接——我們將假設它也是一個 Rollup。

點對點 vs. 鏈上結算

鏈 A 和 B 可以直接在兩個鏈的輕客戶端中相互嵌入一個輕客戶端。例如,兩條鏈都將為鏈 A 和 B 執行一個輕客戶端。輕客戶端因此將通過點對點網路直接接收區塊頭和任何相關的欺詐或有效性證明。我們將此稱為點對點結算。

兩個鏈上都存在一個橋合約,這將允許資產被提取並存入任一鏈(例如通過 鎖定和鑄造機制 ‌),並由每個鏈的 sequencers 或驗證者監控(通過中繼器直接或間接實現)以執行轉移。

另一方面,輕客戶端也可以實現為鏈上智慧合約,將區塊頭和欺詐/ZK 證明提交給鏈上智慧合約。這就是以太坊 Rollup 的現狀。我們將此稱為鏈上結算。

中心輻射型 vs. 點對點橋接

目前,預計 Rollup 將連線到充當結算中心的單個結算層,例如以太坊(中心輻射橋接)。如果 Rollup 鏈 A 和 B 都連線到同一個中心(hub),那麼它們可以使用 hub 作為結算的中介來將資產相互連線起來。

但是,就像 IBC 一樣,Rollup 也可以選擇直接相互橋接,而不是使用中間 Hub 鏈(點對點橋接)。

動態與靜態橋接

根據 Rollup 鏈的執行環境,可能需要鏈升級或硬分叉來橋接新鏈。這是因為鏈 A 和 B 必須支援彼此的執行環境,才能支援彼此的欺詐或 ZK 證明。

讓我們假設 Optimistic Rollup 鏈 A 的狀態機是直接用 Golang 編寫的(例如使用 Cosmos SDK),而不是像 EVM 或 CosmWasm 這樣的智慧合約環境。為了與鏈 B 橋接,鏈 B 需要升級其節點軟體,以便將鏈 A 的狀態機作為庫,以驗證鏈 A 的欺詐證明。這是因為鏈 B 無法自動新增鏈 A 的狀態機程式碼,因為它可能是惡意的或不確定的,從而構成安全風險。因此,需要社會共識或治理來增加這樣的橋。在使用鏈 B 不理解的 ZK 證明結構的有效性 Rollup 的情況下,這也同樣需要。我們將其稱為靜態橋接,因為必須通過鏈升級顯式新增橋接。這樣的橋可以實現為 IBC 輕客戶端 ‌。

另一方面,如果 Optimistic Rollup 鏈 A 是在 EVM 或 CosmWasm 等沙盒智慧合約環境中編寫的,那麼鏈 B 可以允許將鏈 A 的狀態機程式碼直接新增到鏈 B 的狀態機中,而無需任何必要用於社會共識或治理,例如使用智慧合約。同樣,如果鏈 A 是 ZK 彙總,它可以動態橋接到鏈 B,只要鏈 B 能夠理解鏈 A 的 ZK 證明。我們將此稱為動態橋接。

非 enshrined 與 enshrined 結算層

如果 Rollup 鏈將其區塊和證明發布到充當結算中心(如以太坊)的結算層,則我們說如果規範鏈及其交易有效性規則由結算層確定,則結算層是 enshrined(神聖或完美)的。

另一方面,如果 Rollup 將其區塊和證明發布到結算層,但 Rollup 的規範鏈最終由 Rollup 網路本身決定,我們就說結算層是非 enshrined。為了使非 enshrined 的結算層有意義,它應該有一種不需要硬分叉結算層的方式來升級 Rollup。

基於委員會與基於證明的橋

為了使兩條 Rollup 鏈之間的跨鏈橋的信任最小化,Rollup 鏈必須驗證彼此的欺詐或 ZK 證明,這意味著它們必須瞭解彼此的狀態機(基於證明的橋樑)。

但是,也存在基於委員會的橋(例如今天的 IBC 橋),該橋不依賴於狀態有效性的證明,而是依靠委員會來證明區塊的有效性。這樣的橋樑並沒有最小化信任,因為委員會可以竊取資金。然而,這樣的橋可能具有較低的複雜性,因為目標鏈不需要具有處理源鏈的欺詐或 ZK 證明的功能。

在當前的 IBC 橋中,委員會是源鏈的驗證者集。然而,人們可以設想這樣一個世界,委員會由證明多個鏈的專業跨鏈橋提供商運營。這可以被認為是僅用於橋的鏈間安全性,而不是區塊生產。在這樣的設定中,橋委員會與源鏈的驗證者集解耦。

可升級與不可升級的跨鏈橋

當前以太坊 Rollup 的最終目標是 Rollup 不應由多重簽名或委員會進行升級,因為如果可以,它們不會被信任最小化,因為資金可能會通過升級被盜。在這個模型中,Rollup 只能通過硬分叉 L1 來升級,因為規範鏈是由 L1 的結算層定義的,這意味著 Rollup 沒有主權。

然而,為了使主權 Rollup 變得實用,應該有一個升級路徑,承認 Rollup 是主權的而不是神聖的結算層的。有幾種方法可以考慮,這些方法會影響橋是否最小化信任。假設一條 Rollup 鏈 A 是硬分叉,而鏈 B 需要為鏈 A 升級其輕客戶端:

  • 對於靜態橋,鏈 B 也需要硬分叉。這樣的升級路徑將意味著橋的信任最小化,因為不涉及多重簽名或委員會。

  • 對於動態橋,由鏈 A 控制的委員會(例如 DAO)可以升級鏈 B 上的輕客戶端。這將是一個可信的橋。

  • 對於動態橋,由鏈 B 控制的委員會(例如 DAO)可以升級鏈 B 上的輕客戶端。如果鏈 B 是結算層,這使結算層有責任實施升級,這可能是可取的,如果結算層有專門的治理,或具有較高的經濟安全性。這也將是一個值得信賴的橋。

為什麼是主權?

“主權不僅僅是一個模因。 這是硬分叉的能力。 這是一種認識:區塊鏈和社會中最重要的一層是社會共識。

這是人>代幣的編碼。 人 > 驗證者。 人 > 治理。”

Rollup 的核心是簡單的區塊鏈,而 Rollup 橋只是這些區塊鏈的輕客戶端。以太坊推廣的 Rollup 的當前現狀旨在具有神聖的結算層的不可升級的彙總。這等效於為永遠無法升級的區塊鏈執行客戶端,其區塊只有在被輕客戶端的一個神聖的鏈上例項接受以進行 Rollup 時才有效。如上所示,這只是 Rollup 設計空間的一小部分。

在 Celestia Labs,我們對沒有固定結算層的主權 Rollup 感興趣,因為我們相信區塊鏈中最重要的層是社會共識。特別是,區塊鏈是一種允許社群以主權方式進行社會協調的工具,而不會受到現狀的負擔。這意味著將硬分叉視為一項功能,而不是錯誤,因為硬分叉賦予主權社群強制執行社會共識的能力。當出現問題時,這作為一種社會追索機制尤其重要,例如在 DAO 黑客攻擊後以太坊分叉時。

主權 Rollups 將成為主權社群擁有社群計算機來跟蹤和執行社會經濟價值和協議的有效方式,無需引導或維護自己的共識層和驗證者集的開銷,也無需服從於一個他們支援或不支援的神聖的結算層的社會共識。

主權 Rollups 還為開發人員在其執行環境中提供了更大的靈活性,因為他們不受必須為其 Rollup 處理欺詐或 ZK 證明的神聖結算層的限制,因為在許多情況下,某些結算層存在欺詐或 ZK 證明可能無法輕鬆或有效地處理。