2023年重要敘事,模塊化區塊鏈在做什麼?
本文轉譯自Thor Hartvigsen《The Modular Blockchain Thesis🪐》
前言
「區塊鏈模塊化」這個議題其實一直被拿出來討論,隨著區塊鏈發展越來越全面,越來越多人開始討論將區塊鏈模塊化設計後,到底能不能解決區塊鏈的「三角悖論」?
這篇文章剛好就來探討一下,區塊鏈模塊化會是 2023 年最重要的敘事嗎?隨著區塊鏈模塊化的發展越來越完整,真的能徹底改變發展空間和應用嗎?
聲明:本文已取得原文作者授權,作者為 Thor Hartvigsen(@ThorHartvigsen)
文章內容
第一部分
當前需要改進的問題:
- 無需信任的跨鏈溝通
- Rollups 的可擴展性(當交易數量增長到足夠一定量時)
- 提高吞吐量同時保持高水平的安全性和去中心化(區塊鏈三角悖論)
為了確保透徹理解這些概念,本文將分成幾個區塊進行討論,
區塊
區塊是區塊鏈的組成部分。單個塊由兩個部分組成:
- 區塊頭:包含前一個塊的哈希值、時間戳等數據。
- 區塊體:包含此塊中包含的所有交易。
目前最受歡迎的擴展策略是直接擁有更大的區塊(例如 Solana)。
「更大的區塊」代表「吞吐量增加」,但在去中心化方面是一個問題。
對於更大的區塊,節點必須下載更多的數據;畢竟很少人能夠負擔得起所需的更昂貴設備。
節點
- Full Nodes:
需要存儲整個區塊鏈以及自第一個區塊以來執行過的所有交易。確保共識並確保數據可用並且區塊有效以便在區塊鏈上執行交易。
- Light Nodes(又名 Light Clients):
用於匯總並將大部分工作外包給完整節點。
不驗證交易,但檢查每個區塊是否達成共識,區塊數據是否可用於網絡。大多數 Light Nodes 依賴於「誠實多數假設」,假設大多數參與者(例如驗證者)是誠實的。
由於 Light Nodes 不需要過多硬體設備。但需要更多節點,導致有時整體安全性較弱。
Rollups(以太坊)
Layer 2 是建立在以太坊之上的鏈,使用以太坊主網作為結算層。而Rollups 可以被認為是一個單獨的執行層,並將交易包發送回主網進行驗證。
目前常見的 Rollups 有兩種類型:
- Optimistic Rollups
- Zk Rollups
區塊鏈層
區塊鏈可以分為 4 個不同的層:
- 執⾏層 (Execution Layer):為 DApp 提供環境並處理交易。
- 數據可⽤性層 (Data Availability Layer):節點從區塊生產者那裡接收區塊並檢查數據(交易)是否公開可用。
- 共識層 (Consensus Layer):決定交易的順序性、有效性以及節點之間的⼀致性。
- 結算層 (Settlement Layer):決定區塊鏈的實際狀態(最終性)。
單體區塊鏈 (Monolithic) vs 模塊化區塊鏈 (Modular)
- 單體區塊鏈:是由四層組成的鏈,會處理區塊過程的所有部分。以太坊和目前所知道的大多數其他區塊鏈都是單體區塊鏈。
- 模塊化區塊鏈:是將這些層中的一個或多個外包給外部鏈的鏈。由於模塊化區塊鏈可以專注於特定元素,因此可以達到新的可擴展性水平。
以太坊上的當前 Rollups(例如 Arbitrum 和 Optimism)充當執行層,並使用以太坊主網實現數據可用性、共識和結算。
這些 Rollups 使用「鏈上數據可用性」,因為它們將數據發佈到指定的 Layer 1(以太坊)。
相比之下:具有「鏈下數據可用性」的 Rollups 在其指定的 Layer 1 以外的其他地方發布其數據。
Rollups 仍然可以使用以太坊作為結算層,但通過 Celestia 作為數據可用性層發布其數據(鏈下數據可用性)。
以下是以太坊上不同類型的 Rollups 結構。
- 基礎層:Ethereum 主網。
- Rollup:例如 Arbitrum & Optimism(作為執行層並使用 Ethereum 做其他事情)。
- Validium:類似採用「鏈下數據可用性」的 Rollup,例如 Celestia。
第二部分
Celestia 是一個模塊化的區塊鏈網絡。所有 VM(不僅僅是 EVM)的區塊鏈和 Rollup 可以使用 Celestia 作為數據可用性層和共識層。
讓我們仔細看看它是如何工作的。
如下圖所示,Celestia 為模塊化擴展提供了不同的解決方案,例如:「Sovereign Rollups」、「Celestium」等。
首先,讓我們快速了解一下 Celestia 的內部結構並深入了解「數據可用性層」。
數據可用性:
作為一個節點,從區塊生產者那裡收到一個區塊,並且需要驗證數據是否公開(已發布),以便可以將其添加為區塊鏈中的下一個鏈。
數據可用性問題:
數據被隱瞞時發生。 具體來說,區塊生產者不會洩露新區塊的數據(數據隱瞞攻擊)。節點突然無法批准該塊,因為它無法讀取數據。這是 Rollup 中的常見問題。
數據可用性採樣 (Data Availability Sampling, DAS)
Light Clients 無需下載所有數據即可驗證數據可用性。由於運行數據的小樣本,每次都會增加 50% 的數據實際發布的確定性。
Nick White 的討論串(詳參考資料2)以非常直接的方式強調了這一點的改進。
在許多情況下,Light Nodes 只需下載不到 1% 的數據,就可以 99% 地確定所有數據都已發布。 這是一個巨大的進步!
暫時回到 Light Client。之前說過,Light Nodes 在硬體設備要求方面要便宜得多,但由於它們依賴於「誠實多數假設」,因此安全性有所降低。
那麼,Light Client 的「誠實少數假設」呢?
Celestia 的 Light Nodes 通過下載一小部分數據來使用數據可用性採樣。他們依賴於「誠實少數假設」(假設少數區塊鏈參與者是誠實的並遵守協議規則),這顯著提高了安全性。
這是對不同 Nodes / Client 的深入比較:
現在讓我們看看 Celestia 的不同解決方案:
Sovereign Rollups
自己處理執行和結算,而不是使用以太坊作為結算層(如 Arbitrum 和 Optimism)。
Sovereign Rollups 的好處:
- 更多執行環境的自由度
- 不共享計算資源
- 如果出現問題,能夠進行硬分叉
Sovereign Rollups 與 Layer 1 更相似,並且可以「橋」接到其他 Sovereign Rollups 和結算層。
Cluster
區塊鏈 Cluster 是一組區塊鏈和 Rollups,它們可以以「信任最小化方式」進行相互溝通,信任最小化橋是兩個鏈之間的橋樑,不需要中間人或「誠實多數假設」來確保資金安全。
Cluster 的一個例子是以太坊及其 Rollups(Layer 2)或 Cosmos 生態系統中的不同鏈。
這些能夠進行 Cluster 溝通(信任最小化的橋而不是受信任的橋)。
以下是所有與 Celestia 結合的內容:
信任最小化溝通(Cluster 內部溝通)需要「誠實少數假設」。
這正是 Celestia 使用的,因為 Light Nodes 使用數據可用性採樣!
信任最小化橋要要安全得多,形成鏈的「Cluster」和「Cluster 內部溝通」,因此,Celestia 為 Rollup 提供了關鍵部分以形成 Cluster,並以無信任的方式進行溝通。
Celestia Quantum Gravity Bridge & Celestiums
Quantum Gravity Bridge 是以太坊和 Celestia 之間的數據可用性橋。
它允許以太坊上 Layer 2 的「鏈下數據可用性」(即使用 Celestia 作為數據可用性層的以太坊 Rollups。)
Celestium 是建立在以太坊之上的 Layer 2 Rollups,它使用 Celestia 而不是以太坊作為數據可用性層。但它仍然使用以太坊主網進行結算和共識。其他 Layer 2 也可以做同樣的事情以提高可擴展性。
結論
Celestia 作為一個獨立的數據可用性層,在某些情況下也可以是共識層,由於數據可用性採樣和「少數誠實」Light Nodes的固有技術,Rollups 可以使用 Celestia 來提高可擴展性。
第三部分
通過談論 Fuel Labs 來結束這一切,Fuel Labs 正在構建一個可與以太坊和 Celestia 實現的執行層,保持高安全性和去中心化的前提來擴展吞吐量。
Fuel Labs 的一款產品是他們為擴展以太坊而構建的 Optimistic Rollups。包括:
- Fuel 和 Ethereum 之間的信任最小化橋。
- FuelVM:通過使用「UTXO」(Unspent Transaction Output)運行智能合約進行並行驗證。
- Sway 程式語言。
簡單描述一下,FuelVM 可以同時運行多個處理程序(並行驗證)。
因為 Celestia 適用於所有 VM,Fuel 還可以使用 Celestia 作為數據可用性層和/或共識層來啟動 Rollups。
結論
如同前言所提到的,「區塊鏈模塊化」的議題一直被拿出來討論,那麼到底跟過往我們理解的區塊鏈架構差異在哪裡?這篇文章或許會是一個稍微好理解的內容。
模塊化將各自負責的功能分權出去,雖然是希望透過這樣的作法去解決三角悖論,但我看到現在,其實還沒有一個項目可以完全解決這個問題,幻想是美好的,但現實總是打臉我們;雖然短時間真的要看到吞吐量高,又兼顧安全性和去中心化的區塊鏈架構有點難,但看到不少項目都在研究這一塊,或許,一兩年之內真有機會看到完美解法。
我自己的看法則是「區塊鏈模塊化」長期發展下去,是可以幫助區塊鏈蓬勃發展。畢竟可以使開發者更容易地創建新應用,同時減少重複的開發工作。還可以提高區塊鏈系統的可擴展性和可維護性。因此,模塊化這一個趨勢對區塊鏈技術的發展會產生積極且正面的影響。