以太坊Layer2:Rollup 戰爭

基本介紹

Layer2 是被設計為解決以太坊擴展性問題的關鍵方案之一,透過在以太坊主鏈之上建立額外的網路層,允許處理更多交易的同時保持主鏈的安全性和去中心化特性。

Rollup 是一種透過在鏈下處理交易然後將交易資料「打包」進入主鏈的Layer2 擴容方案,其安全性由Layer1 保證,是目前最主流的Layer2 擴容方案,相比於其他的鏈下交易方案,例如狀態通道、側鏈、Plasma 等,Rollup 有三個特點:

  1. Layer2 是與Layer1 相對獨立的平台,所有參與用戶也是獨立的Layer2 帳戶,用戶可以在Layer2 平台上與其他Layer2 用戶進行交易,但是Layer1 帳戶與Layer2 帳戶之間的交互需要透過Layer2 運營方部署在Layer1 及Layer2 上的智能合約,最常見的互動就是ETH 等代幣的轉移;
  2. 所有的交易資訊都需要被完整的記錄在主鏈上,也就是Calldata 或Blob 資料(EIP-4844),即使Layer2 狀態遺失,任何人都可以從主鏈上儲存的資訊中恢復出遺失的狀態,解決了在以往的鏈下交易方案中存在的數據可用性問題;
  3. 交易執行和狀態變更在Layer2 平台,但是狀態摘要會被發佈到Layer1 鏈上,因此Layer1 鏈能夠透過某種資料有效性驗證方式進行驗證,透過驗證後Layer2 的狀態將在Layer1 主鏈上鎖定;根據其資料有效性驗證方式的不同,Rollups 可以進一步細分為Optimistic Rollups 和ZK Rollups。

以太坊Layer2:Rollup 戰爭

Rollup 發展史

以太坊Layer2:Rollup 戰爭

側鏈是最早的Layer2 方案之一,顧名思義,側鏈是與主鏈(Layer1)掛鉤(peg)的獨立區塊鏈,有自己的共識模型和區塊參數。當我們將一個區塊鏈掛鉤到另一個區塊鏈時,這意味著我們可以在兩個區塊鏈之間移動資產。當想要更快交易時,可以將資產從主鏈轉移到側鏈並在側鏈上進行交易,完成後,再將資產轉移回主鏈。

Plasma 是2017 年由閃電網路的提出者之一的Joseph Poon 和以太坊創始人Vitalik Buterin 提出的一個Layer2 擴展解決方案,是側鏈的演變方案。

Plasma 鏈是在以太坊外建立的獨立區塊鏈,也稱為子鏈,就像一棵樹的樹枝,以太坊是主幹,也稱為根鏈。每個子鏈可以在以太坊上部署自訂的智慧合約,可用於處理不同的業務。 Plasma 鏈之上可以再建構一層子鏈,形成樹狀的Plasma 網路。 Plasma 的工作原理是將大的計算任務拆分成小任務,並將它們分配給各個子鏈進行處理,處理後的結果結果逐層匯總並提交至上層,從而實現了對大量複雜計算的快速和低成本處理。

Plasma 需要提交Plasma 鏈上發生的交易的Merkle 根,當用戶試圖將他們的資產從Plasma 鏈移回根鏈時,用戶可以提交將資產發送給Plasma 的最新交易的Merkle 分支。這開始了一個挑戰期,任何人都可以嘗試證明用戶的Merkle 分支是欺詐性的。如果Merkle 分支存在欺詐,則可以提交欺詐證明。由於根區塊鏈僅追蹤Merkle 根,因此與那些發生在主鏈上的交易相比,它必須處理的數據要少得多,提升了根鏈的擴展性。

Plasma 是一種無監管的以太坊側鏈技術,無監管是指即使Plasma 鏈受到惡意攻擊或驗證者串謀起來作惡,Plasma 鏈上的資產也可以安全退回根鏈。這也是Plasma 與需要依靠自己的安全模型來保護使用者的資產的側鏈最大的不同。 Plasma 的代表方案是Polygon 1.0(Matic)。

但Plasma 有三個致命的缺點:

  1. Plasma 鏈需要一個運營商將Merkle 根承諾發佈到根鏈,運營商可以執行“數據可用性攻擊”,即拒絕將某些交易發佈到鏈上。在這種情況下,由於缺乏建構詐欺證明的交易,阻止了用戶資產退出;
  2. 當用戶試圖從Plasma 鏈中退出資產時,他們必須提交退出交易請求,然後等待一段時間,即所謂的挑戰期。在挑戰期的任何時候,任何用戶都可以透過提供退出無效的證明來挑戰另一個用戶的退出;
  3. 使用者必須監控和驗證Plasma 鏈上的所有交易,以偵測惡意節點的行為並及時退出,然而交易驗證成本高昂,且這種監控需求為參與Plasma 鏈增加了大量開銷。

正因為Plasma 存在的缺點,從2019年開始Plasma 陷入了發展瓶頸,此時在ConsenSys 擔任Layer2 可擴展性研究員的John Adler 提出了Optimistic Rollup 方案,由於仍然採用欺詐證明,主要解決了Plasma 的數據可用性問題。

另一邊,Vitalik Buterin 於2018 年開創性引入了零知識證明技術證明區塊狀態變化的有效性,這也是ZK Rollup 的雛形。零知識證明(Zero—Knowledge Proof)最早是由S.Goldwasser、S.Micali 及C.Rackoff 在20世紀80年代初提出的。它指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論點是正確的。也就是說,證明者向驗證者證明並使其相信自己知道或擁有某一訊息,但證明過程不能向驗證者洩漏任何關於被證明訊息的資訊。

zk-SNARK(Zero-Knowledge Succinct Non-interactive Arguments of Knowledge,零知識簡明非互動式知識論證)是一類應用廣泛的通用零知識證明方案,透過將任意的計算過程轉化為若干門電路的形式,並利用多項式的一系列數學性質將閘電路轉化為多項式,進而產生非互動式的證明,可實現各類複雜的業務場景的應用。

但zk-SNARK 繞不開的一個點就是中心化的可信設置,可信設置是指在受信任的設置中,多方各自生成一個部分密鑰來啟動網絡,然後銷毀該密鑰。如果用於建立信任設定的金鑰的保密資訊沒有被銷毀,那麼這些保密資訊可能會被利用透過虛假驗證來偽造交易。

2019年由Aztec 研究團隊提出Plonk 演算法則解決了zk-SNARK 通用性問題,即可信設定與應用無關,僅需要一次可信任設定可以滿足所有應用,而且可信任設定可以任意更新,只要有一個可信參與者,即可確保可信設定的安全性,可以說Plonk 演算法的提出大大加速了ZK Rollup 的發展。

Rollup 賽道

縱覽Rollup 賽道,當下的競爭非常激烈,目前已經上線主網的Layer2 Rollup 中,仍然是Optimistic Rollups 佔據大部分TVL,主要原因是Optimistic Rollups 是最先落地的完全Rollup 方案,但是隨著ZK Rollups 技術的成熟,越來越多的人開始關注並參與ZK Rollups 生態。

Optimistic Rollups

以太坊Layer2:Rollup 戰爭

Optimistic Rollups 依賴於一種「樂觀」假設,即大部分交易都是有效的,並允許在發現詐欺行為時進行挑戰和回滾。 Rollup 的Layer1 合約不會直接對Layer2 提交的新狀態進行驗證,而是為每個被提交的新狀態準備一個挑戰期。由於Rollup 會將所有的交易資訊提交到主鏈並公開,因此任何人都可以對該狀態更新進行驗證(特別是當該狀態更新涉及到自己的錢包時)。如果新狀態是錯誤的,那麼驗證者可以針對該錯誤狀態產生一份詐欺證明,並在挑戰期內提交,從而使該錯誤的狀態更新被無效化。

Optimistic Rollups 代表方案是Arbitrum 和Optimism。

Arbitrum 2021年9月正式啟動主網,是目前TVL 最高的Layer2 協定。

目前,在Arbitrum 生態系統中主要有3 個網絡,包括Arbitrum One、Arbitrum Nova、Arbitrum Orbit。

  1. Arbitrum One 是目前Arbitrum 生態的核心Rollup 鏈,其所有交易資料存放在主網以太坊上,我們平常提到的L2、鏈上生態應用多運行在該主網上。
  2. Arbitrum Nova 是一個基於AnyTrust 技術構建的、專為遊戲、社交應用程式和高吞吐量的DApp 用例而設計的新網路。此網路的交易資料儲存在鏈下,由資料委員會管DAC 管理。
  3. Arbitrum Orbit 是用來建構Layer 3 網路的開源工具包,支援開發者部署和創建自己的鏈。開發者可以基於Orbit 工具包搭建自己的Rollup 和AnyTrust 鏈(Layer 3),選擇由Arbitrum One 或Arbitrum Nova 其中一條鏈作為結算層,來實現擴展。

Optimism 2021年8月上線主網,目前擁有Layer2 第二大TVL,上僅次於Arbitrum。

Optimism 實現了EVM 等效性,以太坊上的Solidity 智能合約可以在Optimism 的Layer2 上運行,且不需要建立額外的功能,開發者可以無縫轉接到Optimism 上開發應用。

OP Stack 是Optimism 推出的開源模組化工具包,涵蓋資料可用性層、執行層、結算層、治理層等。開發者可以根據自己的需求場景利用OP Stack 工具包組裝一個客製化的Layer2 網路。正因如此,OP Stack 為Optimism 引入了超級鏈的概念,超級鏈是指構建在OP Stack 上的一組Layer2 區塊鏈(也稱OP 鏈)統稱。目前,基於OP Stack 建構的Layer 網路已有數十條,包含Base,opBNB,Magi,Worldcoin 等重量級項目。

ZK Rollups

以太坊Layer2:Rollup 戰爭

ZK Rollups 則使用零知識證明技術來確保鏈外處理的交易是有效且正確的,提供更高的安全性和效率。 Rollup 的Layer2 平台在狀態變更後,要為狀態變更的正確性提供一份零知識證明,並隨著狀態變更一同提交到主鏈上。主鏈上的合約會對該證明進行驗證以確定狀態更新的正確性。相較於Optimistic Rollup 方案,ZK Rollup 不需要設定漫長的挑戰期來最終確定Layer2 交易,同時也不需要依賴錯誤的狀態更新會在挑戰期內被發現的假設。

代表方案是zkSync, StarkNet,Polygon zkEVM 和Scroll。

ZK Rollups 是第一個主線上線的zkEVM 項目,以零知識證明為基礎,允許交易在不透露基礎資料的情況下被驗證。 zkSync 的主要特點之一是使用”樂觀” 轉賬,允許用戶發送和接收交易,而無需等待它們在以太坊區塊鏈上被確認。這大大減少了交易時間,並允許更高的交易吞吐量。除了使用零知識證明和樂觀的轉移,zkSync 還利用其他一些技術來提高可擴展性和安全性。這些技術包括簽名聚合,允許將多個簽名壓縮成一個簽名,以及多鏈支持,這有助於zkSync 與其他區塊鏈網路互動。

StarkNet 使用了zkSTARK 的擴容解決方案,這是一個零知識證明系統,允許使用者證明計算的正確性而不透露底層資料。這使得網路上的隱私和安全性更高,並且能夠在不需要信任第三方的情況下進行複雜的計算。 StarkNet也利用了分片技術,這種技術允許將區塊鏈分割成多個較小的鏈,或稱”分片”,可以並行處理。這允許更大的吞吐量和更快的交易時間,因為每個”分片”可以獨立於其他”分片”進行處理。

Polygon 2.0 推出其ZK Rollups 技術,稱為Polygon zkEVM。這項技術透過使用零知識證明來解決以太坊區塊鏈的可擴展性問題,從而使以太坊網路上的交易更快、更便宜,而這種實現是在字節碼級別而不是語言層面上相容的.

Scroll 是一個與EVM相容的ZK Rollups,可以支援與以太坊相同的程式語言和智慧合約,讓開發人員可以輕鬆地將他們現有的應用程式遷移到Rollup 網絡,而不需要對他們的程式碼進行任何修改。

總結

區塊鏈由於自身的效能問題導致其難以滿足當下需求,基於Optimistic 和零知識的擴容方案將有望解決區塊鏈效能瓶頸,在不犧牲去中心化和安全性的前提下提高交易速度和交易吞吐量。 Rollups 透過將計算轉移到鏈下來提高區塊鏈的吞吐量,即將大量交易打包到一個Rollup 區塊內,並在鏈下為該區塊生成一個有效性證明,Layer1 上的智能合約只需驗證該證明即可直接應用新的狀態,可以實現更低的Gas 和更高的鏈上安全性。

短期內,Optimistic Rollups 很可能在通用的EVM 計算中勝出,而ZK Rollups 則可能在簡單的支付、交易和其他特定應用場景中勝出,主要原因還是Zk Rollups 雖然比Optimistic Rollups 更快、更高效,但並沒有為現有的智能合約提供一個簡單的方式來遷移到Layer2。

但由於近年來區塊鏈、隱私計算等新興技術應用的發展,零知識證明技術成為了構建信任的重要技術,從中長期來看,隨著ZK-SNARK 技術的改進,ZK Rollups 將在所有場景中勝出,成為以太坊擴容方案的最終答案。

Total
0
Shares
Related Posts