本文將深入探討兩種流行的二層擴容方案

作者:WHeart

$ARB 即將上線,L2(Rollup)也得到了更多重視,最近關於 OP 和 ZK 兩種解決方案孰優孰劣的爭論越來越多,有人說 OP 是正統,有人說 ZK 更安全,本文將深入探討兩種流行的二層擴容方案,以及最近備受矚目的 Arbitrum。這是一篇技術導向性的文章,我將重點闡述它們的工作原理和特點,並用通俗易懂的語言進行講解,以幫助大家更好地理解和評估這些擴容方案。

1. 擴容方案概述

隨著區塊鏈技術的快速發展,可擴展性問題成為了阻礙區塊鏈廣泛應用的主要障礙之一。為了提高網絡的吞吐量和降低交易費用,擴容就是一件必須要解決的事情。擴容方案通常分為兩大類:一類是鏈下擴容(Layer 2),通過在底層區塊鏈之上構建新的協議層來實現擴容;另一類是鏈上擴容(Layer 1),通過優化底層區塊鏈協議本身來提高吞吐量。

鏈上擴容方案可以分為分片、選擇更高效的共識算法和協議優化等。其中分片是將區塊鍊網絡分割成多個相互獨立的子鏈,每個子鏈可以並行處理交易。這樣,整個網絡的吞吐量會隨著子鏈數量的增加而線性增長,分片也是以太坊 2.0 路線圖中關鍵的一步,分片之後 TPS 和 Gas 才能得到真正的優化。最近這幾年共識算法的創新很少見了,像之前提出的 POS、DPOS、DAG 等都是相對於 POW 的創新,相比於 POW,它們可以減少網絡資源消耗,提高交易處理速度,同樣,以太坊也選擇了這條路。第三個方案是對底層區塊鏈協議進行優化,例如調整區塊大小、區塊產生時間等,可以在一定程度上提高網絡的吞吐量,比如比特幣的隔離見證(SegWit)升級。

鏈下擴容方案可以分為狀態通道、Plasma 和 Rollups。狀態通道(State Channels)允許用戶在鏈下進行交易,僅在通道開啟和關閉時與主鏈進行交互,這極大地減少了鏈上交易數量,從而提高了吞吐量,像 Raiden Network 和 Lightning Network 就是分別針對以太坊和比特幣的狀態通道擴容產品。Plasma 是一種子鏈(sidechain)方案,允許用戶將資產從主鏈遷移到子鏈,並在子鏈上進行交易,子鏈週期性地將其狀態更新提交給主鏈,以確保安全性,比如 OMG Network。Rollups 是將多筆交易打包成單個證明(zk-SNARKs 或 Optimistic Rollup 的欺詐證明),並提交到主鏈。這樣,主鏈僅需驗證證明而無需處理每筆交易,從而提高了吞吐量。典例是 zkSync(基於 zkRollup)和 Optimism(基於 Optimistic Rollup),Arbitrum 同樣也是基於 OP 的產品。

2. Optimistic Rollups 和 zk-Rollups

2.1 zk-Rollups

zk-Rollups 是一種基於零知識證明的二層擴容方案。首先由 Rollup Operator 組件將多個鏈下交易聚合成一個批次,之後使用零知識證明(例如 zk-SNARKs 或 zk-STARKs)生成一個簡潔的證明文件,這個證明可以驗證整個批次的交易的有效性,而不需要逐一檢查每筆交易;然後將證明及與該批次相關的數據提交到主鏈,主鏈通過驗證證明的正確性,確保交易是有效的;主鏈驗證通過後,鏈上合約會根據證明中的數據更新鏈上的狀態。這意味著,儘管交易是在鏈下進行的,但鏈上狀態仍然得到了更新,確保了數據的一致性。

注:零知識證明(Zero-Knowledge Proof,簡稱 ZKP)是一種密碼學概念,它允許一個證明者向驗證者證明某個陳述為真,而無需透露任何關於該陳述的其他信息。簡而言之,零知識證明可以讓一個人證明他擁有某種信息,而不需要透露這個信息本身。

2.2 Optimistic Rollups

Optimistic Rollups 是一種基於樂觀性驗證的二層擴容方案,即默認提交的區塊是正確的,除非有人提出質疑。它同樣需要 Rollup Operator 將許多鏈下交易聚合成一個批次,之後計算批次交易產生的新狀態(如餘額、合約狀態等)並生成一份鏈下狀態更新;然後將鏈下狀態更新、相關數據提交到主鏈,這個狀態默認是正確的,不需要額外驗證;但是在狀態更新提交後,會有一個固定的挑戰期,在此期間,任何人都可以通過提供欺詐證明來質疑提交的狀態更新的有效性,與被質疑狀態的相關的整個交易將通過 EVM 運行檢驗,如果證明狀態更新是錯誤的,提交者會被懲罰(扣除押金),同時鏈上狀態會回滾到正確的狀態;如果在挑戰期內沒有人質疑狀態更新,或者質疑被證明是錯誤的,那麼鏈上狀態會根據提交的狀態更新進行更新。

2.3 ZK 與 OP 比較

 ZK 和 OP 各有各的特點,我從下面 5 個不同角度對他們進行了分析,以供各位根據自己的傾向去評判: 

1. 交易驗證方式:

OP:通過欺詐證明(fraud proofs)驗證交易。OP 假設交易默認是有效的,除非有人提交證據證明某筆交易無效。這需要鏈下用戶和節點持續監測,以確保 Rollup Operator 沒有作惡。

ZK:通過零知識證明(例如 zk-SNARKs 或 zk-STARKs)驗證交易。ZK 生成一個簡潔的證明來確保批次中的交易有效性,無需逐一檢查每筆交易。

2. 安全性:

OP:由於默認假設交易有效,可能存在一定的安全風險,需要鏈下用戶和節點積極監測交易以確保安全性。

ZK:基於零知識證明的驗證方式為 ZK 提供了較高的安全性,因為它需要生成一個證明來確保交易的有效性。

3. 吞吐量與性能:

OP:與 ZK 相比,OP 通常具有較快的鏈下交易處理速度,但鏈上驗證可能需要更長時間,因為需要等待欺詐證明的挑戰週期。

ZK:雖然生成零知識證明需要一定的計算資源,但 ZK 的鏈上驗證速度較快,因為一旦證明生成,主鏈就可以快速驗證。

4. 通用性:

OP:OP 完全兼容 EVM,眾多 DAPP 可以直接遷移,方案整體的計算複雜度低,更適用於通用的智能合約執行和復雜計算。

ZK:雖然零知識證明技術在發展中,但目前它在通用智能合約和復雜計算方面的應用受到一定限制。

5. 成本:

OP:通常具有較低的鏈下交易成本。

ZK:生成零知識證明需要一定的計算資源,可能導致較高的鏈下交易成本。

總的來說,Optimistic Rollups 和 zk-Rollups 分別具有各自的優缺點,Optimistic Rollups 更適合處理複雜的智能合約場景,具有較好的以太坊兼容性;而 zk-Rollups 在安全性和隱私保護方面具有優勢。

3. Arbitrum

Arbitrum 是一種基於 Optimistic Rollups 的二層擴容解決方案,它結合了 Optimistic Rollups 的優勢,並對仲裁過程進行了創新和優化,在處理質疑和仲裁時採用了二分查找(Binary Search)技術,降低了仲裁過程的複雜性和成本。

在上文提到在樂觀性驗證系統中,當有人對某個提交的區塊提出質疑時,就要啟動仲裁過程。質疑者需要指出區塊中存在的一個具體錯誤,例如交易執行的結果不正確、狀態更新錯誤等。

為了高效地找到錯誤的位置,二分查找將錯誤可能出現的範圍分為兩半,質疑者需要選擇錯誤出現在哪一半,並繼續向下查找。例如,如果質疑者認為錯誤出現在區塊的前半部分,那麼他們需要提供該部分的狀態更新證明;在每次迭代中,質疑者和驗證者將錯誤可能出現的範圍繼續分為兩半,質疑者需要在每次迭代中指出錯誤出現在哪一半,並提供相應的證明,驗證者則需要提供相應的反駁證據;通過不斷的二分查找迭代,質疑者和驗證者將錯誤可能出現的範圍逐漸縮小;最終,當範圍縮小到一個具體的交易或狀態更新時,質疑者需要提供詳細的證據來證明錯誤的存在,驗證者則需要提供相應的反駁證據;經過一系列的二分查找迭代和證據交換,如果質疑者能夠成功證明區塊中存在錯誤,那麼區塊將被認定為無效,如果驗證者能夠成功反駁質疑者的證據,那麼區塊將被認定為有效。在這個過程中,錯誤的一方將損失押金,而勝利的一方可能會獲得獎勵。

綜上所述,二分查找仲裁可以縮小錯誤範圍,這個過程在鏈下執行,而鏈上只需要驗證最後的爭議部分,從而減少了鏈上的交易處理成本,但是這個過程也延長了處理時間,所以在發生仲裁的情況下 Arbitrum 比 Optimistic 更便宜,但也更慢。

4. 總結

很多同一賽道的競爭對手都呈現一者重技術,一者重生態的格局,OP 和 ZK 有些像 Aptos 和 SUI,最後哪家勝利就看用戶的投票了。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。