Layer2 的基本概念與主流專案分析

一. 什麼是Layer2

Layer 2(第二層)是指在區塊鏈技術和網路協定中用於擴展基礎區塊鏈(Layer 1)的解決方案。其目的是提高交易速度、降低交易費用,並增強網路的可擴展性和效率。 Layer 2 透過在主鏈之外處理大量交易,然後將結果批次提交到主鏈,從而減輕主鏈的負擔。以下是Layer 2 的一些關鍵特點和技術:

  • 擴充性:Layer 2 解決方案可以處理更多的交易量,從而緩解Layer 1(如以太坊和比特幣)上的擁塞問題。

  • 成本降低:透過在鏈下處理交易,Layer 2 可以大幅降低用戶的交易費用。

  • 提高速度:由於交易不需要在主鏈上逐一確認,Layer 2 可以大幅提高交易處理速度。

  • 安全性:儘管交易在鏈下處理,但Layer 2 解決方案仍依賴主鏈的安全性來保證最終的交易結果是可信且不可篡改的。

二. 常見的Layer 2 解

狀態通道(State Channels)

  1. 這種方法允許兩方或多方在鏈下進行多次交易,只在交易結束時將最終狀態提交到區塊鏈。一個典型的例子是閃電網路(Lightning Network),主要用於比特幣。

側鏈(Sidechains)

  1. 側鏈是一條獨立的區塊鏈,使用其自身的共識機制,但透過雙向錨定與主鏈(母鏈)連接。側鏈可以自由地實現不同的功能和最佳化,同時主鏈依舊保持其主要的安全和穩定性。

Rollups

Rollups 透過將大量交易打包到單一交易中,並將其提交到主鏈。這種方法可以分為兩種類型:樂觀Rollups(Optimistic Rollups)和零知識Rollups(zk-Rollups)。

  • Op Rollups:假設交易是有效的,只有在有爭議時才進行驗證

  • Zk Rollups:透過零知識證明技術,在提交交易資料的同時,確保其正確性。

Plasma

  1. Plasma 是一種框架,允許創建多層的子鏈結構,每層都可以處理大量的交易。儘管其理論基礎較強,但在實際應用上面臨一定的挑戰。

但在l2beat 網站上,除了rollups 之外,其他的解決方案都全部定義為側鏈

三. Layer2 相關的術語解釋

模組化

目前的L2 區塊鏈專案中,模組化已然成為標配;我們都知道,模組化這個詞源於Mustafa Albasan 和Vitalik 在2018 年共同撰寫的,題為《數據可用性採樣和欺詐證明》,後經Celestia 發揚光大。模組化,可組合落到Layer2 上是非常合適的,但是在Layer3 上又是怎樣表現的呢,我們如何理解模組化可組合的Layer3 呢?模組化能行得通主要源自於區塊鏈公鏈架構的可組合特性,一個成熟的公鏈包括:

  • 結算層(Settlement layer)負責資產的交易狀態轉移與決定;

  • DA層(Data Availability)負責交易資料的狀態變資料可用性,以供交易驗證:

  • 執行層(Execution layer)負責處理交易的執行邏輯,包括智慧合約的呼叫和執行;

  • 共識層(Consensus Layer)負責所有節點就某一版本的交易歷史達成一致性;

  • 跨鏈通訊層(Interoperability Layer)負責不同區塊鏈網路的訊息通訊和狀態管理。

以上各個區塊鏈組件分工明確,各司其職構成了區塊鏈的可信與去中心化特性

資料可用層(DA)

資料可用層(Data Availability Layer)是指處理和保證資料可用性的一層。資料可用性是指資料在需要時可以被存取、驗證和使用,這對於區塊鏈系統中的資料完整性和安全性至關重要。數據可用層的設計目標是確保所有參與者能夠存取和驗證區塊鏈上發布的數據,從而確保整個系統的透明度和可靠性。

資料可用層的關鍵功能

  • 資料儲存和分發:資料可用層負責儲存區塊鏈產生的數據,並確保這些資料可以被所有節點存取。它提供一種分散式資料儲存機制,以確保資料的持久性和冗餘性。

  • 資料驗證:此層還提供驗證機制,讓節點快速驗證資料的完整性和正確性。資料驗證是確保資料沒有被篡改或損壞的關鍵步驟。

  • 資料檢索:資料可用層需要確保資料在需要時可以有效地檢索和存取。無論是進行交易驗證、智慧合約執行,或是資料分析,都依賴快速的資料檢索能力。

  • 冗餘和容錯:為了防止資料遺失或損壞,資料可用層通常會實現資料冗餘和容錯機制,例如透過分散式雜湊表(DHT)或複製資料到多個節點。

資料可用層在區塊鏈架構中的位置

在分層的區塊鏈架構中,資料可用層通常與其他層(如結算層和執行層)相互配合,以確保整個系統的高效運作。具體來說,資料可用層為結算層和執行層提供了可靠的資料儲存和存取服務。

資料可用層的實作方式

  • 鏈上資料可用性:在傳統區塊鏈系統中,所有資料都儲存在鏈上(如比特幣和以太坊),這確保了資料的可用性。然而,這種方式可能導致區塊鏈膨脹和效能問題。

  • 鏈下資料可用性:一些現代區塊鏈系統採用鏈下資料儲存來解決鏈上資料膨脹的問題。例如,Rollup技術將大部分交易資料儲存在鏈下,並僅在鏈上儲存資料的摘要或證明。

  • 分片技術:分片技術將區塊鏈分割成多個小片,每個小片儲存一部分資料。這種方法提高了系統的可擴展性和資料處理能力,但需要有效的資料可用性方案來確保每個小片的資料可存取性和完整性。

資料可用層的挑戰

  • 資料可用性攻擊:資料可用性攻擊是指惡意節點在不提供全部資料的情況下發佈區塊,使其他節點無法驗證資料的完整性。解決這個問題需要設計有效的數據可用性證明機制。

  • 儲存和頻​​寬限制:隨著區塊鏈資料量的增加,儲存和頻寬需求也會顯著增加。資料可用層需要高效率的儲存和分發機制,以應對不斷增長的資料需求。

  • 隱私和安全:確保資料的隱私和安全也是資料可用層的重要挑戰之一。需要設計加密和存取控制機制來保護敏感資料。

數據可用到的演算法

數據可用性證明(Data Availability Proofs )

數據可用性證明是一種方法,用於驗證發布的數據是否實際存在且可存取。這些證明對於防止資料可用性攻擊(例如,區塊發布者聲稱發布了資料但實際上沒有)非常重要。

  • Kate Commitments:

    • 一種基於多項式承諾的方案,可以有效率地驗證大數據集的可用性。它使用KZG(Kate-Zaverucha-Goldberg)承諾來證明特定資料區塊已正確發布。

  • Data Availability Sampling:

    • 一種隨機抽樣技術,節點透過隨機抽取和驗證少量資料片段來確定整個資料集的可用性。此方法降低了驗證成本,使得即使資源有限的輕節點也能參與驗證。

糾刪碼(Erasure Coding)

糾刪碼是一種資料編碼技術,用於提高資料儲存的冗餘性和可靠性。透過將資料分成多個片段並添加冗餘訊息,即使部分片段遺失或損壞,資料仍然可以恢復。

  • Reed-Solomon Codes:

    • 一種廣泛使用的糾刪碼,能夠從任意k 個有效片段中恢復出原始數據,其中k 是編碼參數。這種編碼在儲存和分散式系統中被廣泛應用。

  • LDPC Codes(Low-Density Parity-Check Codes):

    • 一種高效率的糾刪碼,使用稀疏矩陣進行編碼和解碼,適用於需要高冗餘和低延遲的系統。

分散式哈希表(DHT)

DHT是一種分散式儲存系統,節點透過雜湊函數確定資料的位置,並在網路中儲存和檢索資料。

  • Kademlia:

    • 一種常見的DHT實現,使用XOR距離度量來確定節點之間的距離並有效率地路由資料請求。 Kademlia的分散特性使其適用於去中心化網路中的資料儲存和檢索。

**密碼學技術**

加密和雜湊演算法在確保資料的完整性和安全性方面發揮關鍵作用。

  • Merkle Trees:

    • Merkle樹是一種雜湊樹結構,用於高效和安全地驗證大資料集的完整性。透過根雜湊(Merkle Root),節點可以快速驗證任何資料片段是否屬於資料集的一部分。

  • 零知識證明(ZKP):

    • 零知識證明允許一方在不透露具體數據的情況下,證明其擁有某些數據的知識。 ZKP在資料可用性和隱私保護方面有廣泛應用,例如zk-SNARKs(零知識簡潔非互動知識論證)。

資料分片(Data Sharding)

資料分片將大資料集分割成更小的片段,並分佈在不同的節點上,以提高系統的可擴展性和資料可用性。

以太坊2.0 分片(Ethereum 2.0 Sharding):以太坊2.0採用分片技術,將區塊鏈狀態和交易負載分割成多個平行運行的分片鏈。每個分片鏈獨立處理交易和狀態,但透過信標鏈(Beacon Chain)實現統一的共識和數據可用性。

**資料可用層實例**

  • 以太坊2.0:在以太坊2.0 的分片設計中,信標鍊和分片鏈需要協同工作,資料可用層在確保每個分片鏈資料的可用性方面發揮重要作用。

  • Celestia:Celestia 專注於建立一個專門的資料可用層,透過分離共識和資料可用性來提高區塊鏈的可擴展性和效率。

  • EigenDa: 是一種新興的資料可用性(Data Availability, DA)解決方案,專注於透過創新的技術方法來確保區塊鏈和去中心化應用中的資料可用性。 EigenDA 結合了多種先進的密碼學和資料分發技術,以實現高效、可靠且可擴展的資料可用性。

**中心化儲存網路**

去中心化儲存網路利用分散式儲存技術來提高資料的可用性和抗審查性。

  • IPFS(InterPlanetary File System):IPFS是一種分散式檔案系統,使用內容尋址和DHT來儲存和檢索資料。透過分散式存儲,IPFS確保資料在網路中具有高可用性和冗餘性。

  • Filecoin:基於IPFS的去中心化儲存網絡,Filecoin透過經濟激勵機制確保資料儲存的可靠性和持久性。儲存節點透過提供儲存空間和檢索服務來獲得代幣獎勵。

跨鏈通訊層

跨鏈通訊層(Cross-Chain Communication Layer)是指在不同區塊鏈網路之間實現資訊和價值互通的技術和協定。由於各區塊鏈網路獨立運作且通常不相容,實現跨鏈通訊能夠打破區塊鏈之間的隔離,促進去中心化應用(dApps)的互通性和更廣泛的生態系統整合。

跨鏈通訊層的關鍵功能

  • 互通性:跨鏈通訊層允許不同區塊鏈之間的資料和資產互通。這可以包括轉移代幣、共享數據、調用跨鏈智能合約等。

  • 信任與安全:確保跨鏈通訊的安全性和信任性是關鍵。跨鏈通訊層需要防範各種攻擊,如雙花攻擊和中間人攻擊,確保跨鏈操作的安全和完整性。

  • 相容性:跨鏈通訊層需要支援不同區塊鏈的共識機制和資料結構,確保在異質區塊鏈之間的無縫通訊。

跨鏈通訊的實現方式

中繼(Relay):中繼是一種橋接機制,透過中繼鏈或中繼節點在不同區塊鏈之間傳遞訊息。中繼負責監控來源鏈上的事件,並將這些事件提交到目標鏈上進行處理。範例:Polkadot的中繼鏈(Relay Chain)連接了不同的平行鏈(Parachains),實現了跨鏈通訊和共享安全。

原子交換(Atomic Swaps):原子交換是一種去信任的跨鏈交易方式,利用哈希時間鎖定合約(HTLC)確保交易雙方在不同鏈上的資產交換同步完成。例:Bitcoin和Ethereum之間的原子交換可以透過HTLC實現,確保兩鏈之間的代幣交換。

側鏈(Sidechain):側鍊是一種獨立的區塊鏈,與主鏈(主網)平行運行,透過雙向錨定(two-way peg)機制實現與主鏈之間的資產轉移和數據通信。例如:Liquid Network作為比特幣的側鏈,實現了更快的交易和更高的隱私性。

跨鏈橋(Cross-Chain Bridges):跨鏈橋是一種專門的協議或平台,透過橋接合約或中繼器在不同區塊鏈之間傳遞資產和資訊。範例:ChainBridge 和RenBridge 是實現不同區塊鏈之間資產跨鏈轉移的橋接工具。

去中心化中繼器(Decentralized Relayers):去中心化中繼器網路是一種無需信任的跨鏈解決方案,透過去中心化的節點網路來驗證和傳遞跨鏈交易。範例:Cosmos的IBC(Inter-Blockchain Communication)協定透過去中心化中繼器實現跨鏈通訊。

具體例子

  • Polkadot:Polkadot的中繼鍊和平行鏈架構實現了高效率的跨鏈通訊。中繼鏈負責管理和驗證平行鏈之間的跨鏈交易,確保跨鏈操作的安全和一致性。

  • Cosmos:Cosmos透過其IBC協定實現了跨鏈通訊。 IBC允許獨立的區塊鏈透過標準化協議互通,節點可以安全地傳遞訊息和資產。

  • DappLink 跨鏈互通協議:一個基於zkp 的資產,資料跨鏈互通協議

  • Chainlink:Chainlink提供了跨鏈資料和資產的互通性解決方案,透過去中心化預言機網路實現鏈上和鏈下資料的安全傳輸。

跨鏈通訊的挑戰

  • 安全性:跨鏈通訊需要解決各種安全問題,包括雙花攻擊、重播攻擊和中間人攻擊。需要設計強大的驗證機制和加密協定。

  • 效能和可擴展性:跨鏈操作可能增加延遲和複雜性,需要優化效能和可擴展性以支援大規模應用。

  • 標準化和互通性:不同區塊鏈的協定和資料結構各異,需要標準化協定和通用框架來實現互通性。

四. 主流的Layer2 專案分析

Ethereum 生態

以太坊主流的Layer2 解決方案包括Optimistic Rollups 和zk-Rollups。這兩種解決方案都旨在提高以太坊網路的吞吐量和降低交易成本,同時保持去中心化的特性和安全性。

Optimistic Rollups

Optimistic Rollups 是一種基於承諾鏈(commit chain)和執行鏈(execution chain)的Layer2 擴充方案。它將大量交易資料儲存在鏈外的執行鏈上,並定期將執行結果提交到鏈上的承諾鏈中。透過鏈外運算和鏈上爭議解決機制,Optimistic Rollups 實現了高效能的智慧合約執行,同時保留了以太坊的去中心化特性。

Optimistic Rollups 主流的項目

  • Arbitrum

  • Optimism

  • 基於OpStack 改造的Layer2

OP 舊版OVM 程式碼架構

ZK-Rollups

zk-Rollups 是一種基於零知識證明(Zero-Knowledge Proofs)的Layer2 擴展方案。它透過將大量交易資料壓縮成證明,並在鏈上發布摘要來實現高吞吐量和低成本的交易。 zk-Rollups 提供了更高的隱私權保護和交易驗證效率,但相對來說實現和部署的技術門檻較高。

  1. ZK-Rollups 主流的項目

  • PolygonZkEVM

  • Scroll

  • Starknet

  • ZksyncEra

  • Linea

  • 基於Polygon CDK, Scroll 和ZkSyncEra 等改造的項目

Bitcoin 生態(側鏈)

  • Stacks(之前稱為Blockstack)是一個建立去中心化應用程式(dApps)和數位資產的平台,旨在透過區塊鏈技術賦予用戶更大的資料控制權和隱私保護。 Stacks 提供了一個基於比特幣區塊鏈的智慧合約平台,使開發者能夠建立安全、私密的去中心化應用,並允許用戶擁有和控制自己的資料。

  • Nervos: 基於RGB++ 協定處理跨鏈互通的Layer2 網絡,目前上面無法運行智能合約,這也是Nervos 未來發展最大的挑戰。

Total
0
Shares
Related Posts