ZKSwap提出實用zkrollup協議ZKSpeed,可大幅提高TPS并降低Gas費用

以太坊網路作為區塊鏈世界里最活躍的開發平臺,日常的擁堵,越來越高的手續費,讓生態中的應用和用戶們都苦不堪言,最近以來,單筆轉賬的平均費用更是高達 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 擴容方案里,被討論的最多的有 zkRollup、Optimistic Rollup、Validium 和 Plasma。在此借用 StarkWare 里 Avihu Levy 的一張圖來區分它們:

(4種以太坊擴容方案對比)

這四個方案的特點如下:

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

Optimistic Rollup: 從圖上可以看出,Optimistic Rollup 和 zkRollup 位于同一行,也就說明它們的共同點是:明文數據通過 calldata 的形式發送到鏈上合約;不同之處是 Optimistic Rollup 采用交互式錯誤證明來確保鏈下計算的準確性,如果被識別出故意作惡,那將會收到懲罰;相比于 zkRollup,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 設計的方案和上述方案的關系:

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

在做詳細介紹之前,需要說明一下為何采用了交易數據鏈下存儲的方案。事實上,ZKSwap 的初衷是完全按照 zkRollup 的方案來實現,因此它不僅能提降低交易成本,同時也保證了鏈上數據可用性,有了這個,用戶隨時可以提供默克爾樹的有效性證明,從鏈上提取屬于自己的錢。遺憾的是,經過真實的測試,在這種方案下,上鏈的成本仍然很昂貴,每一筆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部分,所有和Layer1 交易相關的數據都會實時上鏈,保證資金的覺得安全性,并實時生成零知識證明和驗證證明,但是對于僅僅和Layer2相關的交易采用分布式存儲的方案,實時披露原始交易數據,并把數據摘要實時上鏈,目前數據摘要由Layer2 運營方自己發布,并且任何人可以實時驗證該摘要的準確性,長期來看,數據摘要的計算和發布可以通過分布式的形式進行,并引入社區驗證。ZKSpeed 方案對鏈下數據進行了分類,大幅度提高了數據的可拓展性,關于數據可用性這個方面,ZKSpeed 方案的可拓展性長期來看優于所有交易都上鏈的 Optimistic Rollup 方案,長期來看,受制于以太坊的layer1 的每個Block Gas Limit 的限制,如果所有數據都上鏈存儲,那么在Layer2系統的可拓展性方面存在明顯的天花板,考慮到巨大的上鏈Gas 成本,這樣的Layer2系統在實際應用中,其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 將不需要可信設置,并且一次性可驗證的區塊數量將不受限制,僅取決于出塊的速度和生成證明的速度,

系統實測結果

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

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

展望

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

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧