menu-icon
anue logo
熱門時事鉅亨號鉅亨買幣
search icon

區塊鏈

Polygon眼中與zkSync的zkEVM對比

BlockBeats 律動財經 2023-04-05 12:30


隨著「zkEVM 戰爭」的升溫,公眾討論了許多關於不同 zkEVM 的優點。但也存在一些錯誤的資訊,因此我們想澄清一些關於 Polygon zkEVM 以及它與其他項目的比較的事實。

 

作為 Polygon 的一名員工,我有偏見,但我會盡力保持比較公正。我主要關注 Polygon 的 zkEVM 和 zkSync Era,因為它們已經投入生產使用,並且我不太了解其他 zkEVM 項目。

 


zkSync 的 zkEVM 和證明器由 100k 多行代碼組成。我盡力提供準確的摘要,如果有任何不準確之處,請告訴我,我會進行更正。

 

EVM 兼容性

 

Polygon zkEVM 直接執行 EVM 字節碼。根據 Vitalik 的分類,它是一種類型 3 的 zkEVM。很快它將成為類型 2;目前我們缺少四個預編譯。Scroll 也在努力向類型 2 zkEVM 發展。

 

相比之下,zkSync Era 使用不同的字節碼格式,通過提供編譯器來支持 Solidity。這使它成為一種類型 4 的 zkEVM:它支持 Solidity,但不支持 EVM 字節碼本身。例如 Hardhat 這樣的工具不能直接使用,儘管可以使用 zkSync 的插件。

 

zkSync 認為他們的 zkVM 更加具有未來性,即它可以更好地與 Solidity 以外的語言配合使用。但是,他們的 VM 似乎繼承了 EVM 的許多性能特徵,例如其 256 位字大小。像 Miden 這樣的 zkVM 可能更具有未來性,因為它是為通用計算而設計的,而不是專注於 Solidity。

 

性能

 

性能一直是 Polygon 的重點,我們的 zkEVM 非常高效。在 CPU 上運行我們的證明器的成本大約為每筆交易 0.000084 美元。

 

雖然我們沒有找到任何關於 zkSync 的 zkEVM 的工作基準,但我們懷疑由於我們非常不同的 ZK 技術選擇,存在著很大的性能差距。

 

域選擇

 

經過研究多個替代方案,我們選擇了所謂的 Goldilocks field,一個二階巨大素數域 2^64 - 2^32 + 1。它的小尺寸和美麗的二進制結構導致了極快的域操作,乘法僅需在現代 CPU 上花費不到兩個周期。

 

zkSync 採用了更傳統的方法,使用基於 alt-bn128 曲線的 SNARK。基礎域的大小約為 254 位,域乘法在 CPU 上需要大約 80 個周期。

 

為了感受到這種巨大差異的影響,我們可以看看 Celer 的 SHA2 基準測試。在那裡,我們的 STARK 證明器比基於橢圓曲線的證明器快了 5-50 倍。

 

alt-bn128 的優點在於 EVM 原生支持它,因此向 Ethereum 提交證明更簡單。在 Polygon,我們將最終的聚合證明用 alt-bn128 的 fflonk 證明「包裹」起來。雖然我們的方法需要更多的工作,但我們認為這對於不可思議的性能增益來說是值得的。

 

算術化

 

區別不止於此。我們的 zkEVM 基於 STARKs 構建,但具有現代化的變化。我們有一個主 STARK 用於 CPU(每個周期有一行),還有其他用於算術、哈希等的 STARK。這些表格可以連接,就像我們在 RapidUp 中描述的那樣。這類似於物理 CPU,它們經常有協處理器來加速渲染、Crypto 或 ML 推斷等密集操作。

 

以 Keccak 為例。由於它在 EVM 應用中被廣泛使用,我們設計了一個專門的 STARK 用於它,使用了一些我們在這裡記錄的新技巧。設計這樣的定製算術化需要大量的工作,但它帶來了回報,使我們能夠每秒證明數百個 Keccak 排列。

 

zkSync 採用了我稱之為更傳統的方法。他們使用基於 PLONK 的證明器,儘管它支持自定義門,但他們的 zkEVM 並沒有多少使用;大多數計算都是使用一個名為 SelectorOptimizedWidth4MainGateWithDNext 的通用門進行的。它似乎比 vanilla PLONK 門稍微強大一些,但仍然侷限於像 mul-adds 這樣的簡單操作。

 

值得讚揚的是,zkSync 使用了查找參數(像我們一樣),這是一種更現代的技術,可以幫助提高像 Keccak 這樣的效率。但是,沒有自定義算術化,256 位數學、Keccak 等等的效率都會大打折扣。

 

安全性

 

Polygon 非常重視安全性,我們的 zkEVM 經過了兩次獨立審計:一次是由 Spearbit 進行的,另一次是由 Hexens 進行的。兩份報告都可以在這裡公開查看。我們還發布了驗證部署的說明。

 

我們不知道 zkSync 的 zkEVM 是否經過任何公開審計。zkSync 的網站列出了橋接合約的審計,但沒有 zkEVM 本身的審計。

 

除了審計外,兩個項目都有各種「安全備胎」,以提供備用的安全層,但這是一個很深的話題,我在這裡不會詳細介紹。

L1 數據

 

Polygon zkEVM 將所有交易數據發布到 L1。在 Twitter 上存在一些關於此的混淆,有關此的 Gas 費用請參見 Edu 的文章。目前,平均交易大小約為 120 字節,因此每筆交易的 Gas 費用約為 120*16=1920Gas。

 

zkSync 則發布狀態差異。惡意的序列化器可能會隱瞞交易數據,但 zkSync 認為擁有當前狀態的 trie 足以確保安全。這似乎存在爭議,因為通常預期交易數據是可用的,並且某些應用程序依賴於此。

 

查看經過更正的數據後,我們可以發現我們的 zkEVM 和 zkSync 的每筆交易 Gas 費用基本相同。這些數字可能會隨著每個鏈上發生的交易類型的混合而隨時間變化,但截至今日,狀態差異並沒有節省任何 Gas 費用;兩個系統都向 L1 發送大約 120 字節的每筆交易數據。

 

我們計劃在這裡進行一些優化,但不使用狀態差異。交易本身可以進行壓縮,降低 Gas 費用,同時仍能保證交易數據的可用性。敬請期待!

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠

文章標籤


Empty