從技術方案角度比較當前主要 Layer 2 去中心化交易所優缺點。

撰文:江小白

近期以太坊上的高手續費和低 TPS 使以太坊上的 Layer 2 擴容之爭變成了焦點。本篇文章將以市場上既有的產品爲基礎,從技術方案角度出發,比較當下 ZKSwap 方案和其他擴容方案的異同之處。在具體的展開描述之前,也將簡短的介紹下目前市場上的 Layer 2 擴容技術的基本狀況。

Layer 2 擴容技術概述

迄今爲止,Layer 2 市場上已經是一片繁榮,技術上不斷創新,各種產品也層出不窮。對於市場上的所有的產品,從技術角度上劃分,可以大體分爲三類:

  1. 狀態通道:通過促進鏈下交易來減輕以太坊的負擔,具有即時存取、高吞吐的特點,其弊端是設置通道浪費耗時,並且需要在通道中支付鎖定資金,同時定時監測通道狀態;
  2. 側鏈技術:具有獨立共識規則的獨立區塊鏈,與 Layer 1 的共識不同步,這是它的弊端;
  3. Rollup 技術:可以看作是一個高級的非託管側鏈技術,它將計算放在鏈下,交易數據以及最新世界狀態放在鏈上,保證了鏈上數據可用性。

與其他的兩種方案相比,Rollup 無需提前鎖定代幣,也不用設置自己的共識規則;而且它還可以保持和 Layer 1 同樣等級的安全性,同時方案本身具有通用性。隨着 Layer 2 技術的持續發展,Rollup 技術方案也變得多樣化,根據交易數據存儲的位置和使用的證明方法的不同,又可以將 Rollup 技術細分爲以下四類:

  1. ZK Rollup:Layer 1 + Validity proofs,數據存儲在鏈上,用零知識證明來保證狀態轉換的有效性;
  2. Optimistic Rollup:Layer 1 + Fraud proofs,數據存儲在鏈上,在挑戰期間,用欺詐證明來驗證狀態轉換的有效性;
  3. Validium: Layer 2 + Validity proofs,數據存在鏈下,用零知識證明來保證狀態轉換的有效性,並設立「數據可用性委員會」來保證鏈下數據的可用性;
  4. Plasma:Layer 2 + Fraud proofs,數據存儲在鏈下,用戶提供欺詐證明來驗證狀態轉換的有效性;

在實際的產品設計過程中,基於不同的業務場景,設計者往往需要在效率和安全性上做出權衡,要效率還是要絕對安全,每個產品設計時都有自己的側重面。因此,也就有了上述的四種 Rollup 方案。現在市面上的大部分產品,按技術分類的話,應該大都屬於上述四類,更準確的說,是屬於前三類,第四類方案提出的最早,安全性考慮的較少。

所以,ZKSwap 團隊推出的 Layer 2 擴容方案 Zkspeed 同樣也屬於上述範疇。然而,作爲 Layer 2 賽道上的一個新星,Zkspeed 方案與其他主流產品推出的 Layer 2 方案相比會有什麼樣的技術優勢呢?產品體驗又有何異同呢?接下來,我們將選取市場上具有代表性的幾個產品,從技術方案和實際體驗效果上做一些簡單的對比分析,來看看 Zkspeed 擴容方案是否優勝同時產品體驗是否更好。

Layer 2 技術對比分析

根據我們的市場調研,我們選取了三個市場上具有代表性和前沿性的的產品,分別是 StarkWare 的 StarkNet、Uniswap 的 unipig、Loopring 的 loopring。首先,我們先從技術方案的角度,來看一下 Zkspeed 和 starkNet、Unipig、Loopring 的區別,具體的如下表所示:

簡析主要 Layer 2 DEX 優劣勢 : StarkNet、Loopring、ZKSwap 與 Unipig表 1. Layer 2 擴容方案分析表。圖片說明:crs 對應需要多次可信設置的 zkp 算法;srs 對應只需要一次可信設置的 zkp 算法

根據上述表格可以看出:

Loopring

使用的 Layer 2 擴容方案是基於 ZK Rollup 方案設計的,同時也支持 Validium 方案,即鏈上數據可用性是可以選擇的。該方案使用的零知識證明算法是 zksnark 算法,需要第三方生成可信設置。

  • 優點是:這種算法的 proof 大小是常量大小的(比如 Groth16 算法);

  • 缺點是:可信設置是不通用的,針對不同的交易類型,都需要單獨進行可信設置。因此,爲了提高證明傲率,每個區塊裏的交易類型要求爲同一交易類型,導致瞭如果某種類型的交易較少,那它上鍊的速度就會很慢,因爲要等待足夠的交易纔打包區塊。不過,在 Loopring 發佈的協議 3.6 版本里可以看到,已經取消了了區塊裏是相同類型的交易的限制,相信會有更好的交易體驗。

StarkWare

StarkWare 團隊研發的 Layer 2 擴容引擎 starkEx,支持 Validium 方案和 ZK Rollup 方案兩種模式可選。狀態更新的有效性由零知識證明來保證,其用到的零知識證明算法是 zkstark 算法。

  • 優點是:與常用的 zksnark 算法不同,zkstark 算法不需要第三方的可信設置,而且其算法本身不依賴數學難題假設,具有一定的抗量子性;

  • 缺點是:proof 的大小比其他的 zkp 算法要大的多,生成證明需要消耗大量的計算資源和存儲空間。同時,StarkWare 團隊研發的 Layer 2 擴容解決方案值得期待,一種以太坊上的基於 STARK 的去中心化無許可 L2 ZK-Rollup 產品,並且支持基於 Cairo 語言的通用計算;具體內容可參考鏈接 starkNet。

Uniswap

使用的 Unipig 擴容方案是基於 Optimistic Rollup 設計的,如前圖所示,改方案存在挑戰期,即在挑戰期間,用戶可以提供欺詐證明來驗證執行者的行爲是否作惡。

  • 優點是:該方案兼容 EVM,並且交易數據存在鏈上,保證了安全性;

  • 缺點是:由於存在潛在的欺詐性證明,鏈上事務處理的時機會延緩;挑戰成本昂貴,導致挑戰模式基本上算是形同虛設。

ZKSwap

推出的 Zkspeed 擴容方案兼顧了 ZK Rollup、Validium 和 Optimistic Rollup 方案的特點。即實現所有與 Layer 1 交互的交易數據全部上鍊(ZK Rollup),把單純 Layer 2 的交易數據存放在鏈下 (Validium),交易 hash 數據上鍊,同時 ZKSpeed 也會提供一個完全上鍊的版本,這樣可以實現更高的安全性,並提供零知識證明保證狀態轉換的有效性。

ZKSwap 採用自己研發的 Zkspeed 與其他三個擴容方案的差異:

  1. Zkspeed 方案採用 PLONK 零知識證明算法,所有交易類型共用一套可信設置,如此就無需按照交易類型進行區塊打包;
  2. Zkspeed 方案採用了 GPU 實現版的 PLONK 算法,相比於普通的 CPU 實現版本運行速度上提升了 3 倍以上,再加上頂尖的硬件設備,使得證明的生成時間大大縮短,大幅提高了系統的吞吐量;
  3. ZKSwap 團隊經過反覆研究論證,在 Zkspeed 方案上探索性的採用了聚合證明(Aggregation proof)方案,並首先應用到 AMM 的 DEX 領域(聚合證明方案最早由 Matter Labs 提出,並有一些簡單的應用),把多個區塊的證明聚合成一個證明,使得鏈上一次就可以完成多個區塊的驗證,大大的降低了交易的平均成本。

聚合證明(Aggregation proof)的技術原理如下圖所示:

簡析主要 Layer 2 DEX 優劣勢 : StarkNet、Loopring、ZKSwap 與 Unipig圖 2. Aggregation 方案

在 Rollup 方案裏,一個很明顯的技術特點就是交易的批量處理,即對區塊裏的所有交易的有效性產生一個證明,然後鏈上主合約完成證明的有效性驗證。如圖 2 左側所示,這和原始的單個交易處理力度相比,已經有了巨大的吞吐率的提升和交易成本的降低。然而,ZKSwap 團隊發現,受限於零知識證明算法橢圓曲線參數的選取,一個區塊內能批量處理的交易數量是有限的,再加上鍊上一次驗證計算的成本高達 50WGas,導致每筆交易的成本並沒有低到預期。因此,ZKSwap 技術團隊持續進行技術應用創新的突破,並最終關注到了聚合證明(Aggregation proof)方案。

如上圖右側所示,聚合證明的思想很簡單,可簡單表述爲:把每個區塊的 proof 當作輸入,把鏈上驗證的過程當作證明電路,證明鏈上的驗證過程是正確的,由於驗證的形式就是一個雙線性配對,因此,多個 proof 可以進行線性組合,然後利用一次雙線性配對完成所有 proof 的有效性驗證。這樣一來,多個證明的驗證過程由多次變成 1 次,驗證成本大幅降低,成本降低的幅度取決於區塊聚合度(即一次聚合的區塊數),目前 Zkspeed 方案支持聚合上鍊的交易筆數可根據實際情況進行調配,20、10、5 筆均支持。同時,爲了探索進一步降低交易成本的可能性,ZKSwap 團隊追求精益求精,繼續對上鍊數據進行聚合提交,即,多個區塊一次提交,節省了一些固定成本,進一步壓縮交易成本,最終實現一筆交易的成本消耗最低至 1400 Gas,遠低於行業其他產品。

展望

遺憾的是,目前 ZKSwap 的方案還不兼容 EVM,ZKSwap 團隊的願景是構建一個支持通用 EVM 的 Rollup 擴容解決方案,使得其他應用無需重新編寫智能合約就能實現快速遷移,目前 ZKSwap 團隊已經投入研究,並取得了一些進展。除此之外,starkWare 和 Matter Labs 分別開發了 starkNet 和 zinc 的 Layer 2 擴容解決方案,需要用對應新設計的 DSL 語言來編寫證明邏輯,雖然此方案不算完美,但也算是一個階段性的研發成果。未來 ZKSwap 團隊願和其他團隊一起,共同致力於以太坊的 Layer 2 擴容建設。