模塊化區塊鏈範式

在物理學中,耦合是兩種運動形式通過相互作用相互影響的現象。另一方面,解耦是通過數學分離兩種形式的運動來處理該問題。

在編程領域,模塊化的想法非常相似:一種稱爲模塊化編程的軟件設計技術,強調將程序的功能分離爲獨立的、可互換的模塊,這樣每個模塊都包含僅執行所需功能的一個方面所需的一切。

區塊鏈也是計算機程序。從根本上講,當將模塊化的思想應用於公共區塊鏈時,我們可以將其分解爲三個核心組件:

  1. 執行——這是更新鏈所需的計算,包括獲取當前狀態、添加一堆新交易並轉換到新狀態。

  2. 共識、結算或安全——爲交易及其排序提供安全性和一致性。

  3. 數據可用性(DA)——這是爲了確保塊頭後面的交易數據是發佈且可用的,以便任何人都可以輕鬆計算狀態並檢查狀態轉換。

我們可以將這三個部分拆分成專門的鏈或層,每個鏈或層充當一個模塊,而不是像當前主流區塊鏈那樣將這三個部分整合成一條單片鏈,這樣可以更高效地實現區塊鏈的功能,這就是模塊化區塊鏈的範式。

模塊化區塊鏈的好處

如前所述,模塊化區塊鏈是將單個區塊鏈的核心組件分離並在不同的層上運行的結果。那麼,與非模塊化區塊鏈相比,模塊化區塊鏈有哪些優勢?以下列出了其優點。

可擴展性

專注於一對核心功能的層將允許更大的可擴展性,而不受單片區塊鏈帶來的權衡限制。例如,具有 DA 採樣的模塊化數據可用性層可以隨着用戶數量線性擴展。

互操作性

區塊鏈可以採用模塊化共享安全層,以實現同一集羣中區塊鏈之間的信任最小化橋接。這既提高了安全性,也提高了多個區塊鏈相互通信的水平。

引導

可以以最少的成本和時間創建新的區塊鏈。Rollup 軟件開發工具包等工具不僅有助於實現這一點,而且還提供了一種無需共識機制、驗證器或代幣分發機制即可啓動的方法。

實驗

區塊鏈可以輕鬆創建並用於測試新的創新技術,從而爲整個區塊鏈堆棧帶來進一步的可擴展性和優化。這樣做可以讓新鏈直接專注於他們想要創新的元素,然後可以將其傳播到其他鏈。

Rollups 中的 DA 層

Rollup 是以太坊的第 2 層解決方案,旨在有效擴展,從根本上來說也是一種模塊化方法。Rollup 將執行層從以太坊第 1 層中分離出來,形成一個執行專屬的第二層,專注於盡快處理交易。另一方面,以太坊第 1 層仍然負責安全性和數據可用性的艱鉅工作。

所以,這裏有兩個問題。首先,爲什麼數據可用性如此重要?其次,我們能否再次使用模塊化的思想將 DA 從第 1 層分離出來?請允許我花點時間解釋一下。

對於第一個問題,我需要分開討論。在 Optimistic Rollup 的情況下,當排序器作惡並結算不正確的賬戶餘額狀態時,任何人都可以從 Layer 1 中檢索原始交易數據並重建正確的賬戶狀態以執行挑戰。所以,DA 的作用就像一個檔案局,在發生挑戰時提供原始證據,確保挑戰是正確有效的。

而對於 Zero Knowledge (ZK) Rollup,由於零知識證明的密碼學原理,排序器無法作惡。但在極端情況下,排序器宕機或因故無法使用,用戶需要逃離 Layer 2 鏈,將錢拿回 Layer 1,這時 DA 就必不可少,確保任何人都可以根據數據重建最終狀態。因此,DA 的作用就像一道安全門,保證用戶在極端情況下可以順利逃生。

對於第二個問題,簡短的回答是肯定的。儘管 DA 至關重要,以至於存儲它的最佳位置是以太坊第 1 層,但最安全的鏈也是最昂貴的鏈——結算交易和數據存儲的 gas 成本遠高於任何其他鏈。這就是爲什麼 Matter Labs 和 Starkware 都爲用戶提供了 ZK Rollup 的廉價版本,即 ZK-Porter 和 Validium,妥協於不將 DA 存儲在第 1 層。

因此,專業化、模塊化的 DA 層開始出現。

專門的 DA 層項目

塞拉斯蒂亞

Celestia 原名爲 LazyLedger,是一個模塊化共識和數據網絡,旨在讓任何人都能以最小的開銷輕鬆部署自己的區塊鏈。通過將共識和 DA 層與應用程序執行分離,Celestia 模塊化了區塊鏈技術堆棧,併爲去中心化應用程序構建者開啓了新的可能性。

在 Celestia 模塊化架構下,開發者可以輕鬆定義自己的虛擬執行環境。每個應用程序都有自己的主權執行空間,無需主鏈硬分叉即可更新。

Celestia 的主要亮點在於解決區塊鏈擴展的基本限制之一——“數據可用性問題”。這個問題的本質是:節點如何確保在生成新塊時,該塊中的所有數據都已發佈到網絡?難題在於,如果排序器或塊生產者不發佈塊中的所有數據,則沒有人能夠檢測到該塊中是否隱藏了惡意交易。

Celestia 如何解決這個問題?它使用擦除碼來創建數據可用性證明,以高概率保證所有數據都已發佈在鏈上。

具體來說,當序列器創建新塊時,Celestia 使用二維 Reed-Solomon 編碼方案對塊數據進行編碼。該方案確保僅需少量數據樣本就足以以統計確定性驗證整個塊是否已發佈。只需輕客戶端即可執行稱爲數據可用性採樣 (DAS) 的操作 - 從塊中隨機下載一小段數據以檢測序列器是否行爲不當並保留數據。從概率統計的角度來看,這種方法非常有效。事實上,當輕客戶端第七次嘗試隨機檢查一塊數據時,它無法檢測到序列器行爲不當的概率將小於 1%。一旦發現任何一小段數據被錯誤編碼,就會通過欺詐證明通知網絡。這確保了吞吐量不會像傳統區塊鏈那樣受到狀態執行的瓶頸,從而使 Celestia 的吞吐量能夠隨着涉及的用戶數量而擴展。

Celestia 最初專注於 EVM 和 Cosmos SDK,但並不排除融入以太坊和 Cosmos 生態系統。Celestia 發佈了一項名爲 Celestium 的計劃,允許任何以太坊 L2 鏈使用 Celestia 提供數據可用性,使用以太坊進行結算和爭議解決。Celestium 將爲以太坊 L2 提供高吞吐量數據可用性,其安全性比其他鏈下數據可用性技術更高。

此外,Celestia 正在與 Evmos 合作,爲 EVM 彙總構建一個名爲 Cevmos 的結算層。結算鏈將使用 Optimint 作爲 Celestia 彙總實現,並利用 Celestia 作爲 DA 層來提供完全與 EVM 等效的堆棧,該堆棧專門針對彙總進行了優化,從而降低費用並提高彙總的規模。

多邊形可用性

Avail 是 Polygon 工具包中的擴展解決方案之一,是一種通用、可擴展、以數據可用性爲重點的區塊鏈,針對獨立鏈、側鏈和鏈下擴展解決方案。

Avail 通過使用極其安全的數學原語(使用具有關鍵創新的擦除碼進行數據可用性檢查)提供了強大的數據可用性層 - 他們使用 Kate 多項式承諾來創建 2D 數據可用性方案,該方案避免了欺詐證明,不需要誠實的多數假設,並且不依賴誠實的全節點對等體來獲得數據可用的信心。

Avail 解決數據可用性問題的方法與 Celestia 的 DAS 類似,但僅在一些小方面有所不同。Avail 使用 KZG 多項式承諾而不是欺詐證明來避免排序器的不當行爲。KZG 承諾(也稱爲 Kate 承諾)由 Aniket Kate、Gregory M. Zaverucha 和 Ian Goldberg 於 2010 年提出,提供了一種以簡潔的方式承諾多項式的方法。

簡單來說,一個區塊中的所有數據都以二維矩陣的形式排列。通過對矩陣的每一列進行擦除編碼,將原始列的大小增加一倍,從而引入數據冗餘。Kate 承諾用於對每一行進行承諾,承諾包含在區塊頭中。該方案可以輕鬆發現數據隱藏企圖,因爲任何只能訪問區塊頭的輕客戶端都可以查詢矩陣的隨機單元並獲得可以與區塊頭進行覈對的簡短證明。數據冗餘迫使序列器隱藏大部分區塊,即使它只想隱藏單個交易,也使其容易在隨機抽樣時被發現。因此,避免了對欺詐證明的需求,因爲 Kate 承諾的約束性質使得序列器在計算上很難構建錯誤的承諾而不被發現。

概括

作爲模塊化區塊鏈的原型,專用數據可用性層旨在促進我們設計區塊鏈系統的方式的徹底改變,從而實現模塊化區塊鏈範式,其中各種執行環境都可以利用此專用層進行數據排序和可用性。雖然可能會出現一個小問題,即使用專用 DA 層的 rollups 可能不如以太坊主網的 rollups 安全,但這是一個必要的權衡,因爲模塊化區塊鏈可以帶來更靈活、可擴展、可定製和可互操作的網絡。從長遠來看,專用 DA 層將成爲模塊化區塊鏈範式的基石,引領區塊鏈擴展的最終發展。

免責聲明:本研究僅供參考。它不構成投資建議或買賣任何投資的建議,也不應用於評估任何投資決策的優點。

🐦@chestersigned

📅 2022 年 4 月 18 日

關聯:

https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f

https://polynya.medium.com/the-lay-of-the-modular-blockchain-land-d937f7df4884

https://rileygmi.substack.com/p/celestia?s=r&utm_campaign=post&utm_medium=web

https://coinyuppie.com/focus-on-the-data-availability-layer-to-understand-the-new-public-chain-celestia/

https://polygon.technology/blog/introducing-avail-by-polygon-a-robust-general-purpose-scalable-data-availability-layer-98bc9814c048

https://polygon.technology/solutions/polygon-avail/