多年來,應用鏈理論已經以各種方式實現。隨着時間的推移,對模塊化的需求不斷增加,因爲區塊鏈開發人員意識到,通過外包運行 dApp 所涉及的一些工作,可以更有效地擴展其平臺。

最初僅保留給主權鏈,通常使用 Interchain Stack 構建,應用程序鏈的演變現在包括從 Cosmos Hub 租賃安全性的消費者鏈,以及依賴第 1 層鏈來執行一些結算和橋接工作的彙總,如出色地。這些變化帶來了不同的安全假設和需要解決的問題。Celestia旨在解決一個稱爲數據可用性的特殊問題,但在我們解釋這一問題與您的項目有何關係之前,讓我們嘗試瞭解 Web3 中的最新流行詞:模塊化。

單一第 1 層鏈所做的工作,包括以太坊和主權 #Cosmos 鏈,可大致分爲 4 層:

  • 執行層處理交易,並負責更新鏈上的狀態。例如:當朋友向您發送代幣時更新您的錢包餘額。

  • 結算橋接層負責完成交易,或者更確切地說,毫無疑問地確認交易是有效的。這特別適用於彙總,我們稍後會介紹。最近,結算層更常被視爲橋接層,爲 Rollups 提供了一種與更廣泛的區塊鏈網絡進行通信的方式,而結算本身已成爲一個更有爭議的話題。在 Cosmos 應用鏈等常規網絡上,結算是免費的,因爲共識層在每筆交易到達執行層之前有效地對其進行驗證。

  • 共識層是多方就區塊包含的內容及其交易的排序方式達成一致的地方。

  • 數據可用性層負責保證每個人都可以訪問已提交到網絡的正確交易。正如我們稍後將解釋的,結算層需要訪問這些交易,以驗證執行層是否誠實。

在基於 Cosmos SDK 的鏈(擁有自己的驗證器集並作爲主權應用鏈運行)的背景下,共識層基本上負責數據可用性和交易的最終結算。然而,啓動主權鏈需要您擁有一組驗證器和一個權益證明代幣,除非您選擇像Interchain Security這樣的共享安全解決方案。除了使用代幣啓動鏈的法律和操作複雜性之外,還需要注意擴展性方面的考慮。

通過彙總有效擴展

隨着網絡的發展,可擴展性的三難困境變得更加明顯。乍一看,區塊鏈似乎必須在網絡安全性、去中心化程度或每秒可以處理的交易數量方面做出犧牲。對於整體鏈來說,改進一個鏈傳統上是以犧牲另一個鏈爲代價的。然而,通過模塊化協議所做的工作,我們可以看到這個三難困境中的一些組件特定於模塊化堆棧中的每個層。

例如:接受事務並將其處理爲狀態更改的執行層需要快速吞吐量。只要有足夠的去中心化和安全的結算、共識和數據可用性層來保證和驗證正確的交易正在執行,它是否去中心化和安全可以說是無關緊要的。執行層的一定程度的去中心化有助於網絡的活躍性,但對於防止任何形式的不當行爲並不重要。換句話說,它不會影響有關網絡的任何信任 假設。

通過模塊化區塊鏈堆棧,開發人員能夠外包操作區塊鏈所需的大量工作。應用程序開發人員完全負責執行層,這提高了擴展性並顯着縮短了開發時間。這本質上就是爲什麼彙總現在如此有效和流行的原因。Rollup通常被稱爲第2 層,它允許一臺或多臺服務器在鏈外執行交易,而無需等待緩慢的共識算法就塊的內容達成一致。這似乎不安全,但他們可以通過在所謂的零知識(ZK)彙總的情況下提供計算成本昂貴的有效性證明來做到這一點,而不會產生重大風險,或者通過提供一個時間窗口,節點操作員可以在其中提交故障證明作爲某人行爲不當的證據,就像樂觀彙總的情況一樣。然而,在這個框架內,出現了一個新的問題:數據可用性問題。

什麼是數據可用性問題?

當用戶在彙總上提交交易時,消息會直接發送到定序器,通常來說,定序器只是一臺非常快的計算機,通過鏈下過程將這些交易批量組合在一起。將其壓縮爲較小的尺寸後,該批次會被提交到以太坊等結算層。由於這些網絡上對區塊空間的高需求,這是比將單個交易直接發佈到結算層便宜得多的解決方案。目前,大多數彙總都採用單個定序器(即執行排序的一個實體),儘管正在探索共享定序器。這通常是安全的,因爲用戶可以通過有效性證明來保證交易的執行是有效的或者可以在結算層檢查的故障證明。然而,彙總無法保證排序器是否誠實地瞭解提交的交易,以及是否向每個人發送相同的數據。

這就是數據可用性問題的本質。結算層或任何觀察網絡的全節點的任務是檢查彙總所做的工作,並且需要交易數據才能執行此操作。默認情況下,彙總無法輕鬆且廉價地證明定序器將所有傳入交易處理到一個塊中,或者已添加到該塊的所有交易都在公共域中。因此,排序器可以審查用戶提交的交易數據,或者更糟的是,阻止其被結算層驗證。

儘管從技術上講,這種類型的審查也可能發生在常規區塊鏈上,但由於權益證明網絡中驗證者數量衆多,而且只有其中一個需要誠實,因此實際上是不可能的。但更重要的是,結算層不需要數據進行驗證,因爲交易已經通過共識流程進行了結算。

#Celestia 如何解決這個問題?

#Celestia 是使用Cosmos SDK構建的第 1 層區塊鏈,提供數據可用性作爲彙總服務。最常見的是,Celestia 網絡從定序器接收所有傳入的用戶交易,儘管它也可能是這些交易進入彙總執行之前的第一個接收者,具體取決於彙總的配置。我們用一個例子從事務的角度來解釋一下。我們將假設一個名爲Roll Protocol的虛構網絡,它是作爲基於 Cosmos SDK 的樂觀彙總而構建的。

  • 假設您正在使用 Keplr通過Roll Protocol向您的朋友發送一些$ROLL代幣。一旦提交,發送交易首先傳輸到 Roll Protocol 的排序器。

  • 排序器是一臺運行Roll 協議的鏈外進程的計算機,它現在查看所有交易並根據Roll 協議的當前狀態測試它們,以查看它們是否確實有效。對於您發送的消息,它會檢查它是否包含有效的接收者地址,以及您是否有足夠的$ROLL代幣可以發送給您的朋友等等。

  • 然後,有效的交易被收集到一個塊中並由定序器執行,這意味着對其存儲進行更改。您和您朋友的錢包餘額將更新以反映正在交換的代幣。

  • 然後,這個包含交易的區塊由定序器共享給 Celestia,並置於“Roll Protocol”命名空間下,這實際上只是一個標籤,可以輕鬆分隔數據。然後,Celestia 網絡上的驗證者就區塊內容達成一致,並在網絡上最終確定,並分發到所有節點。

  • 與此同時,作爲區塊一部分的所有成功交易都會被排序器轉化爲一批,並提交到結算層,結算層通常只是像以太坊這樣的第 1 層鏈上的智能合約。結算層是區塊鏈,如果有人發現特定交易無效(例如,您實際上沒有資金向您的朋友發送一些代幣),則將故障證明發送到該區塊鏈。但從事這項工作的人是誰呢?

由單獨的 dApp(例如 DEX)運行的其他完整節點也將在排序器執行的同時執行交易。例如,這使他們能夠了解最新狀態併爲您提供有關餘額的更新。更重要的是,他們可以提前檢查是否有任何交易無效。如果是,則將故障證明提交給結算層。

  • 您可能還記得,樂觀彙總在交易結算之前有一個時間窗口。只要您信任運營全節點的實體,讓這些全節點提前檢查有效性可以幫助用戶在樂觀窗口關閉之前將交易視爲“最終”交易。我們將此係統稱爲“最小化信任”,因爲您只需要真正信任網絡包含許多誠實節點中的至少一個節點,即可跳過樂觀時間窗口。

  • 爲了測試定序器是否行爲不當,完整節點以及結算層將需要訪問發佈到 Celestia 的一些數據,因爲定序器可能執行了無效交易。幸運的是,Celestia 網絡發佈了一個區塊,其中包含之前包含在該批次中的所有Roll Protocol傳入交易,因此我們確信我們擁有在需要時證明排序器誠實性所需的信息。

值得注意的是,Celestia 並不關心每筆交易包含什麼。事實上,它甚至無法理解這些交易,因爲 Celestia 上沒有使用相同語言的執行環境。通過這個模塊化堆棧分離這些問題,排序器可以專注於快速執行交易,結算層可以專注於安全並提供橋接功能,而共識和數據可用性層可以專注於去中心化。通過確保負責網絡運行的每個子組件都是高度專業化的,這極大地提高了可擴展性和優化性。

儘管我們的示例使用基於 Cosmos SDK 的彙總,但不排除 EVM 兼容的彙總。Celestia 也可以作爲 EVM 生態系統的數據可用性層運行,可以說比以太坊上的EIP-4844(也稱爲Danksharding)等替代方案便宜得多。

彙總與主權鏈的比較

構建 Rollup 和使用 Celestia 網絡有很多好處。如果您已經在鏈間進行開發,則可以繼續使用您熟悉的工具和軟件,同時提高協議的吞吐量,消除網絡上對驗證器的需求,甚至可能在需要時無需令牌即可啓動。讓我們看一下構建彙總與主權應用鏈之間的一些區別:

  • 可擴展性和效率:與主權 Cosmos SDK 鏈相比,使用 Celestia 的彙總通常會提供更高的可擴展性和效率。這是因爲彙總將大部分交易處理轉移到第 2 層,從而可以更快地處理更多交易,而主權鏈則受到共識算法的瓶頸。如果您的應用程序需要大量交易,則彙總可能比主權鏈更合適。在這種情況下,您的應用程序將需要在結算層上花費代幣,這可能會很昂貴,具體取決於您選擇的鏈,儘管 Celestia 減少了要發佈的數據量。

  • 活躍性和去中心化:Rollups 通常使用單個定序器運行。正在研究建立有效的共享測序儀,但這項工作仍處於領先地位,並且可能會降低彙總的效率。目前,執行層的去中心化實際上還不存在。因此,如果定序器離線,則彙總的冗餘和活躍度受到影響的風險更大。可以設計冗餘機制,但彙總開發人員繼承了基礎設施的複雜性,這種複雜性通常由主權區塊鏈上的驗證者共享。

  • 安全性: Rollups利用底層結算層的安全性,而主權鏈則需要確保自身網絡的安全性。如果您選擇使用主權 Cosmos SDK 鏈,則需要確保擁有大量且多樣化的驗證器來保護您的網絡,以及足夠大的市值(以防您使用證明)質押代幣。通過彙總,您可以繼承結算層的安全性,如果您自己實現應用鏈的某些要求具有挑戰性,這可能會很有幫助。

  • 複雜性:與使用 Cosmos SDK 創建主權鏈相比,構建 Rollup 系統可能更復雜。這是因爲需要管理 rollup、Celestia 和結算層之間的交互。如果您的團隊沒有彙總經驗或不想處理增加的複雜性,那麼主權鏈可能是更好的選擇。然而,使用Rollkit框架使開發過程變得更加容易,使您可以相對輕鬆地構建彙總。

  • 互操作性: Cosmos SDK 鏈受益於區塊鏈間通信(IBC)協議,該協議允許不同的鏈進行互操作。雖然彙總可以與其他鏈交互,但細節將取決於具體的實現,並且可能會更加複雜。在大多數情況下,彙總使用結算層作爲橋接樞紐。