相比其它的 Layer 2 方案,ZKSpeed 更注重實用性,通過零知識證明聚合證明,Plonk 算法並行處理,以及對鏈下數據的分類處理,提高 TPS 並大幅降低 Gas 成本。

撰文:ZKSwap

以太坊網絡作爲區塊鏈世界裏最活躍的開發平臺,日常的擁堵,越來越高的手續費,讓生態中的應用和用戶們都苦不堪言。最近以來,單筆轉賬的平均費用更是高達 24.7 美元。這種糟糕的體驗如果得不到改善,將對以太坊的發展將會造成不良的影響。

因此,近些年越來越多的區塊鏈研究者和開發人員致力於底層技術研究,想盡各種技術手段,來改善整個網絡狀態。有針對 Layer 1 的技術方案,例如 ETH 2.0 的分片技術,通過修改或優化區塊鏈的共識網絡,來提高網絡的出塊效率,從而加快區塊確認時間,達到交易快速上鍊的目的;也有針對 Layer 2 的技術方案,在保持 Layer 1 功能足夠簡單且強大穩定的前提下,把一些原本在 Layer 1 上的一些計算和操作,放在鏈下去做,然後通過密碼學的技術來保證這些鏈下操作的準確性。

Layer 2 的擴容技術方案更適合區塊鏈健康發展

區塊鏈的基礎架構已經比較清晰,穩定且易於維護,基於此強加複雜邏輯,就有可能使 Layer 1 變得越來越脆弱。所以,區塊鏈的結構發展方向應該是 Layer 1 儘量保持不動,除非有重大變故,比如密碼學技術的突破,導致底層使用的密碼學原語的修改。其他的複雜邏輯及創新應用放在 Layer 2 去做,Layer 1 和 Layer 2 相輔相成。

研究者也逐漸發現了這一點,因此,基於 Layer 2 的擴容技術方案層出不窮。然而,理想很豐滿,現實很骨感。當理論需要實踐的時候,開發人員才發現要想達到預期,有太多的地方需要權衡利弊,對於不同的應用場景,可能也要做出不同的妥協。

迄今爲止,Layer 2 擴容方案裏,被討論的最多的有 ZK Rollup、Optimistic Rollup、Validium 和 Plasma。在此借用 StarkWare 裏 Avihu Levy 的一張圖來區分它們:

以太坊 Layer 2 百家爭鳴,ZKSwap 提出的 ZKSpeed 有何特點?4 種以太坊擴容方案對比

這四個方案的特點如下:

ZK Rollup:由以太坊的研究員提出,特點是所有計算過程由鏈下計算,鏈上存儲,參與計算的明文數據通過 calldata 的形式發送到鏈上合約,降低存儲成本,同時,鏈下計算的正確性由零知識證明算法保證;由此也能看出,此方案確實能大幅提高 TPS,也能降低單次交易的費用。

Optimistic Rollup:從圖上可以看出,Optimistic Rollup 和 ZK Rollup 位於同一行,也就說明它們的共同點是:明文數據通過 calldata 的形式發送到鏈上合約;不同之處是 Optimistic Rollup 採用交互式錯誤證明來確保鏈下計算的準確性,如果被識別出故意作惡,那將會收到懲罰;相比於 ZK Rollup,Optimistic Rollup 的安全性假設弱一些。

Validium:此方案由 StarkWare 提出,獲得 V 神的認可,得此命名。特點是計算過程在鏈下完成,由零知識證明算法保證計算的正確性,鏈上完成驗證並存儲最終得世界狀態;還有一點需要注意得是,爲了獲得更好的可擴展性,此方案把交易數據也存儲在鏈下,同時由可信的「數據可用性」委員會提供數據可用性的證明,相比前兩個方案,這個方案損失了一定的數據可用性,但是確實提供了更好的數據可擴展性;因此,在實際的應用場景中,此方案可能會得到更多的青睞。

Plasma:由 V 神提出,相比於其他三個方案,這個方案被提出的時間最早。方案特點比較顯著,鏈下計算,鏈上存儲,交易數據也存到鏈下,簡單粗暴,用戶可以發起錯誤型證明來證明執行者的作惡行爲,由此獲得獎勵,懲罰作惡的執行者。

雖然現在已經有了以上方案,但由於還沒有真正在 Layer 2 上跑起來的應用,所以孰優孰劣也很難下定論。目前在以太坊上最活躍的應用概念是 Defi,其中又以 DEX 佔用的網絡資源最多,Layer 2 的提出將明顯給 DEX 發展帶來更大空間。下面可以從一個具體案例來看 Layer 2 的落地。

目前市場上很熱的 ZKSwap 算是探索者之一,ZKSwap 提出的 Layer 2 擴容方案叫 ZKSpeed (A Pratical and Scalable ZK Rollup Solution 一個實用並且可拓展的 ZK Rollup 協議)。下面通過一張圖來展示 ZKSwap 設計的方案和上述方案的關係:

以太坊 Layer 2 百家爭鳴,ZKSwap 提出的 ZKSpeed 有何特點?

從圖上可以看到,ZKSwap 的第一版擴容方案 ZKSpeed 基礎架構結合了 ZK Rollup 和 Validium 和 Plasma 方案特點,在此基礎上又通過聚合證明、GPU 優化、證明電路優化三個方案,大幅提升了整個網絡的吞吐能力。

在做詳細介紹之前,需要說明一下爲何採用了交易數據鏈下存儲的方案。事實上,ZKSwap 的初衷是完全按照 ZK Rollup 的方案來實現,因此它不僅能提降低交易成本,同時也保證了鏈上數據可用性,有了這個,用戶隨時可以提供默克爾樹的有效性證明,從鏈上提取屬於自己的錢。遺憾的是,經過真實的測試,在這種方案下,上鍊的成本仍然很昂貴,每一筆 layer2 交易的 Gas Limit 爲 6000 左右 , 作爲對比 Layer1 上面以太坊的 Gas Limit 爲 21000, 普通 ERC20 的轉賬交易的 Gas Limit 爲 50000 左右。這離 Layer 2 的擴容目標高吞吐,低 Gas 相差甚遠;具有很快的上鍊速度,但是交易成本很高,相信也會降低用戶主動做交易的意願;因此,如果 Layer2 的平均每一筆交易成本太高,Layer2 主打的高 TPS 也很難實現。因此,要想把 Layer 2 的擴容方案用於真實場景,首先需要 Layer2 資金的絕對安全性 ; 第二需要 Layer2 的 TPS 夠快 (ZKSwap Layer2 的 TPS 在 100 以上,並可以繼續提升)第三 需要 Layer2 的每一筆交易的 Gas 成本只有主網交易成本的 5%, 或者 2% 。

ZKSpeed 方案中,對鏈下數據處理分爲 2 部分,所有和 Layer 1 交易相關的數據都會實時上鍊,保證資金的覺得安全性,並實時生成零知識證明和驗證證明,但是對於僅僅和 Layer2 相關的交易採用分佈式存儲的方案,實時披露原始交易數據,並把數據摘要實時上鍊,目前數據摘要由 Layer 2 運營方自己發佈,並且任何人可以實時驗證該摘要的準確性,長期來看,數據摘要的計算和發佈可以通過分佈式的形式進行,並引入社區驗證。ZKSpeed 方案對鏈下數據進行了分類,大幅度提高了數據的可拓展性,關於數據可用性這個方面,ZKSpeed 方案的可拓展性長期來看優於所有交易都上鍊的 Optimistic Rollup 方案,長期來看,受制於以太坊的 Layer 1 的每個 Block Gas Limit 的限制,如果所有數據都上鍊存儲,那麼在 Layer 2 系統的可拓展性方面存在明顯的天花板,考慮到巨大的上鍊 Gas 成本,這樣的 Layer 2 系統在實際應用中,其 TPS 很難到 20 以上,其實用性會大大降低。

ZKSpeed 擴容協議通過對鏈下數據進行分類,實現了數據可用性和數據可拓展性的權衡。數據可用性的問題得到解決,那麼下一步的目標就是提高零知識證明系統的可用性和處理速度。ZKSpeed 方案基於零知識證明算法,保證一個區塊內的所有交易導致的世界狀態的變化是正確的,多筆交易一次性處理,實現系統性能的第一次提升,帶來了較高的 TPS。但是,這種解決方案帶來的提升效果只能說是勉強可以接受,ZKSwap 團隊不滿於此,堅持尋找新的技術方案來實現更高的系統容量和更低的交易成本;經過不屑努力,終於找到了一個新的解決方案,即聚合證明 (Aggregative Proof)。

Aggregative Proof 聚合證明

聚合證明的邏輯其實很簡單。大家知道,基礎的 Layer 2 擴容方案裏,一個區塊對應一個有效性的證明,鏈上合約驗證證明的有效性。現在以太坊的出塊平均速度是 15s 一個區塊,如果鏈上一次能驗證多個區塊的有效性,那麼平攤在每個交易上的成本將大幅減少。基於這個思考,ZKSwap 採用了一種聚合證明方案。所謂的聚合證明方案就是,現在是一個區塊一個證明,把一段時間內,或者是固定數量的區塊產生的多個證明,再用零知識證明的方式去證明這些區塊的證明是有效的(把驗證的過程再當作是一種電路)。這樣鏈上只需要一次驗證,就可以實現多個區塊證明的有效性驗證。

經過實際測試,ZKSwap 在採用了聚合證明方案後,單筆交易的費用降低到了 1000 (Gas Limit),該成本是以太坊主網 ERC20 轉賬成本的 1/50 (以太坊主網轉賬的 Gas Limit 大概是 50000 左右),這個結果足夠讓人驚喜。試想一下,如果能在主網的出塊時間間隔內,能生成更多的零知識證明,那麼整個系統的 TPS 將會得到大幅改善,爲此,ZKSwap 同樣做出了大量的努力,實現了 GPU 版的 PLONK 算法,相比於 CPU 版本的 PLONK 算法,計算速度提升 3 倍有餘,同時,ZKSwap 通過大規模高性能機器,專門用於零知識證明的生成,對於規模爲 2^28 次冪的超大型電路,生成一個證明不到 2 分鐘。但同時,受算法採用的橢圓曲線參數限制,每個區塊裏可證明的最多交易數量和可證明的證明數量存在上限,導致系統的的性能上限收到了限制。雖然有此約束,但 ZKSwap 最終的實測 TPS 仍然遠超過了現有的其他產品,目前在最新的壓力測試中,採用 ZKSpeed 方案的 ZKSwap 項目的 TPS 可以到 100 以上。

ZKSpeed 已經把目光放在了不需要可信設置的遞歸 SNARK 上,相比於聚合證明,遞歸 SNARK 將不需要可信設置,並且一次性可驗證的區塊數量將不受限制,僅取決於出塊的速度和生成證明的速度。

系統實測結果

以下列舉出幾個常用的交易類型對應的費用,詳細見表格:

以太坊 Layer 2 百家爭鳴,ZKSwap 提出的 ZKSpeed 有何特點?

由於 Deposit 和 Withdraw 操作涉及到與 Layer 1 的交互,因此交易成本相對於 Layer2 轉賬和 Swap 交易操作較多。不過,無論是哪一種交易類型,其每筆交易的成本已經領先於行業內的其他產品,基於 ZKSpeed 方案的 ZKSwap 已經實現了 資金安全性和高 TPS 以及 低 Gas 成本的 全面權衡,並且具備很大的實用價值,在 Layer2 的實際應用中,具備很大的技術優勢。

展望

ZKSpeed Layer 2 擴容方案是一個兼具實用和工程優化的 ZK Rollup 方案,通過零知識證明的聚合證明,Plonk 算法的並行處理,以及對鏈下數據的分類處理,大大提高了 Layer2 系統的 TPS 並大幅降低了 Layer 2 交易的 Gas 成本。相比其他的 Layer2 方案(zk-Sync , optimistic rollup 以及 Plasma ),ZKSpeed 方案在實用性方面取得了更大的突破,並將率先支持 DeFi 的應用在 Layer2 大規模部署,關於 ZKSpeed 的方案細節,敬請關注即將發佈的技術白皮書和系統示例(zkspeed.org)