• APP內打開
    風險提示:防范以虛擬貨幣/區塊鏈名義進行的非法集資風險。 ——銀保監會等五部門

    zkSync Boojum 升級詳解:從SNARK過渡到STARK

    白話區塊鏈 2023-07-18 12:06:40
    微信分享

    掃碼分享

    zkSync Era 正在過渡到名為“Boojum”的新的基于 STARK 的證明系統。那么,Boojum是什么?

    作者: 0xe9E9…c31E2A / 來源:https://zksync.mirror.xyz/HJ2Pj45EJkRdt5Pau-ZXwkV2ctPx8qFL19

    火火/白話區塊鏈

     

    TLDR:

    1.升級: zkSync Era 正在過渡到新的 Boojum 證明系統,無需重新生成。

    2.性能: Boojum 展示了世界一流的證明性能,補充了 zkSync Era 定序器,該定序器已經可以處理超過 100 TPS。

    3.去中心化: Boojum 證明者僅需要 16 GB RAM,可實現未來大規模證明者去中心化。

    4.準備就緒:影子證明已經在主網上上線!

    zkSync 的使命是促進所有人的個人自由——通過構建一個無需信任、安全、無需許可、負擔得起、易于使用、有彈性和無限可擴展的區塊鏈網絡,使數字自我所有權變得普遍可用,正如我們在 ZK Credo 中闡述的那樣

    為了履行這一使命,zkSync Era 的 Alpha 版本于三個多月前向公眾開放,反響非常驚人。在此期間,我們在網絡上看到了重大活動。

    網絡亮點:

    1)鎖定總價值 5.77 億美元(來源:L2Beat

    2)過去 30 天內 2375 萬筆交易——大多數為 L2 交易(來源:L2Beat

    3)9735 個經過源代碼驗證的智能合約

    2023 年 3 月,我們推出了 zkSync Era,其中基于 SNARK 的系統支撐著我們的 zkEVM,利用了近三年來為主網上的 zkSync Lite 提供動力的經過實戰考驗的電路框架。然而,我們知道這并不是 zkSync Era 證明系統的最終定論,因此我們設計了該系統,以便我們可以對其進行根本性的更改,而無需執行重新生成。這意味著我們可以在不干擾開??發人員和用戶的情況下部署主要的加密升級。

    今天,我們很高興地宣布首次加密升級:zkSync Era 正在過渡到名為“Boojum”的新的基于 STARK 的證明系統。

    一、Boojum是什么?

    Boojum 是我們基于 Rust 的算術和約束庫的名稱,我們用它來實現 zkSync Era 和 ZK Stack 的 ZK 電路的升級版本。Boojum 這個名字的靈感來自于劉易斯·卡羅爾 (Lewis Carroll) 的詩《捕蛇者》,其中 Boojum 代表了最可怕的蛇類類型。

    我們設計的 Boojum 具有許多引人注目的特性:

    1.PLONK 式算術化:在零知識協議的背景下,算術化是將一般計算轉換為數學形式的過程。與當前的證明系統一樣,我們的升級系統繼續采用 PLONK 式算術。通過這種方法,ZK 電路相對于某些替代形式更易于編寫,從而使系統更易于開發、審計、維護和升級。

    2.強大的承諾方案: Boojum 的核心在于 FRI 承諾方案,它是一個關鍵組件,使我們能夠承諾有界多項式,并隨后有效地證明所聲稱的(多項式的)開放確實屬于低次多項式。

    3.系統“無聊”部分的效率:盡管當人們談論證明器性能時有時會忽略見證生成,但在當前版本的證明系統中,我們已經達到了優化 GPU 證明器非常高效的程度,以至于見證生成時間與證明生成時間相當。借助 Boojum,我們提供自動并行(如果依賴關系圖允許)見證生成,同時可以輕松定義見證生成函數,例如|(a, b)| a + b.

    4.易于擴展:基本約束系統抽象非常薄,但它允許用戶以各種方式添加自定義門類型,例如為其添加一些專用多項式,或重用所謂的“通用列”。用戶為其電路定義了簡單的幾何結構后,擴展接口使他們能夠自動生成證明器、驗證器和遞歸驗證器。這使得開發過程非常高效;如果用戶更改電路結構并選擇使用不同類型的門,他們只需再次調用該接口即可重新生成密鑰并確保他們使用正確的證明者和驗證者。

    5.單堆棧:使用 Boojum,上面列出的所有內容都可以僅使用標準、慣用的 Rust 來表達,并利用其類型系統的表達能力。GPU 證明器的計算量大的部分是用 CUDA C++ 編寫的,但我們提供了用于組合的 Rust 綁定。

    Boojum 默認情況下在大小的素數字段2^64 - 2^32 + 1上運行,并提供相應字段綁定原語的實現,例如 Poseidon2 哈希函數,以及基于查找表的更標準加密原語的實現,例如 SHA256、Keccak256 和 Blake2s。

    重要的是,在我們實施的最后一步,我們將用一個不透明的基于配對的 SNARK 來包裝 STARK 證明——本質上是當前證明系統的略微升級版本——并且這個 SNARK 將在以太坊上進行驗證。這個證明的規模要小得多,驗證起來也更便宜;這一步驟降低了證明系統的成本,從而降低了交易本身的成本。

    Boojum 受益于社區中許多不同人員的工作,全靠業內很多人士寶貴的貢獻共同幫助塑造了 Boojum 的設計。

    二、為什么是Boomjum?

    在設計 Boojum 時,我們的決策背后有兩個關鍵因素:(1) 世界一流的證明性能,(2) 降低去中心化的硬件要求。

    1.世界一流的性能

    我們當前基于 SNARK 的系統雖然目前有效,但無法擴展到ZK Stack (zkSync Era 作為超鏈運行)的大容量、近乎實時的交易,目標是在未來幾年支持 ZK Stack。我們對這些系統的未來設想是,證明的生成和驗證成本低廉且快速,從而實現超鏈之間的快速確定性和互操作性。

    證明系統的性能直接影響用戶為其交易支付的價格,并且隨著時間的推移,這些成本需要趨向于零。當前版本的證明系統的性能足以構建 zkEVM,并在短短幾個月內處理數百萬筆交易,但有了 Boojum,我們可以做得更好!

    為了測量網絡的證明生成時間(以及與性能相關的其他關鍵指標),我們與 Celer 合作,這是一個在基準測試和分析多個證明系統方面擁有豐富經驗的團隊。在下圖中,您可以看到 Boojum 的性能明顯優于大多數所分析的系統。結果不言而喻:我們的實施展示了世界一流的證明性能,據我們所知,這是生產中使用的最快的證明系統。

    為了進行同類比較,Celer 在基于 CPU 的證明器上執行這些基準測試練習,但我們的主網系統使用的是基于 GPU 的證明器,速度更快。

    轉向基于 STARK 的證明系統代表著性能的顯著提高,并將有助于確保最終確定的低延遲,并支持 zkSync Era 和其他基于 ZK Stack 的系統上增加的活動級別。

    2.降低去中心化的硬件要求

    當人們認為這不是我們優化的唯一指標時,這些性能結果尤其令人印象深刻——我們希望提高系統性能,同時降低運行它的硬件要求。

    當今流行的證明系統,包括我們現有的證明系統,都是硬件密集型的。我們當前的證明系統運行在 A100 GPU 集群上,每個 GPU 具有 80 GB RAM。這種對昂貴、強大機器的需求對我們的目標構成了重大障礙:用戶驅動的、去中心化的證明生成的未來為了實現這一目標,僅僅使證明生成無需許可是不夠的;用戶也不應該需要具有數百 GB RAM 的昂貴機器來參與。

    這是我們取得極其引人注目的進展的另一個領域!我們用于 Boojum 的 GPU 證明器僅需要 16 GB RAM,這種低進入門檻是朝著我們設想的未來邁出的重要一步。基于 CPU 的驗證也可以使用低至 64 GB 的 RAM(我們希望能低至 32 GB),并充分利用現代多核處理器。完成向新證明系統的遷移后,我們將發布有關其去中心化計劃的更多信息。

    最后,基于 zkSync Era Rust 的排序器已經可以每秒處理超過 100 個事務 (TPS)。新證明系統的引入不僅增強了性能,還降低了硬件要求,使其成為定序器的理想補充。Boojum 性能的提高還意味著系統可以更快地證明交易,并且硬件要求的降低改善了網絡對更便宜機器的訪問,從而提高了水平可擴展性。

    三、Boojum 的主網之旅

    該團隊幾個月來一直致力于此升級的開發,我們很高興能夠在主網上測試該系統。我們還想分享一些到目前為止的故事。

    1.升級zkSync時代

    首先,快速介紹一下我們如何執行這樣的升級。首先,zkSync Era 的設計方式是我們能夠隨著時間的推移升級每個組件,證明系統也不例外。

    與以太坊類似,我們使用 Merkle 樹數據結構來存儲有關網絡狀態的信息。鑒于我們正在證明有關系統狀態的陳述,證明系統需要此信息。為此 Merkle 樹(以及證明系統如何與其交互)做出的一個關鍵設計決策是使用非代數哈希函數,特別是 Blake2s。如果我們純粹為了簡化證明生成而進行優化,我們就會使用代數哈希函數(例如 Poseidon2),但這種選擇會將可觀察狀態與證明系統參數耦合起來 - 例如素數字段的選擇。對證明系統的任何升級都需要完全重新生成狀態,這對于 zkSync 時代的用戶來說將是一次巨大的破壞性體驗。

    2.Boojum:從設計到審核

    大約一個月前,我們開始集中精力實施新證明系統的完整端到端版本,考慮到這一變化的復雜性以及系統正確性的重要性,我們開始進行一系列內部和外部審計。

    當時 zkEVM 電路和 Boojum 算術庫仍在積極開發中,但我們與外部安全審計員合作,他們專注于及早識別與我們的主電路和 Boojum 組件的健全性相關的潛在問題。我們密切合作,在他們使用自動和手動測試審查和測試 zkEVM 電路和 Boojum 小工具時,為他們提供對源代碼和文檔的完全訪問權限。

    通過這種合作關系,我們能夠解決許多早期發現的問題,我們將在下一篇博文中分享有關此過程的更多詳細信息。

    3.Boojum:從審查到測試

    這就是我們今天分階段推出的下一步:主網影子模式我們很高興現在能夠將新的證明系統與我們現有的證明系統一起運行,盡管 Boojum 純粹處于測試階段。我們已經在為主網區塊生成并驗證“影子證明”。

    zkSync Era 的主網版本不需要影子證明——這將繼續由現有的證明系統提供支持。我們只是驗證這些影子證明,以進一步測試和優化系統,但使用來自 zkSync Era 用戶活動的真實生產數據。

    我們也很高興能夠公開進行此測試,在接下來的幾周內,您將看到有關這些影子證明的一些信息的鏈接以及區塊瀏覽器內的現有證明信息,并且我們正在開源一個CLI任何人都可以用來驗證任何新證據的工具。

    我們現在真正專注于測試新的證明系統,目前還不打算驗證以太坊上的影子證明。在測試階段,這將在鏈外完成,因為我們會尋找邊緣情況和錯誤,并繼續進一步審查實施情況。

    今天我們還開源了 Boojum 代碼庫。您可以在此處找到 Boojum 存儲庫的鏈接警告:代碼庫仍在進行中!隨著我們進一步進行測試,您可能會看到大量的調整、優化、修復和文檔改進。我們還將在未來幾周內開放一些更有趣的存儲庫,包括更新的電路和 GPU 證明器。

    4.Boojum:從測試到黃金時段

    正如我們所做的一切一樣,安全是第一位的。只有當我們對新系統的測試完全滿意時,才會考慮遷移,并且將在未來幾周和幾個月內分享更多相關細節。

    相信Boojum 加上我們對創新和用戶至上設計的承諾,將成為更安全、可擴展和高效的 zkEVM 的下一步當然,任何使用ZK Stack進行構建的人都可以使用這項工作!

    請繼續關注更多詳情。

     

    下載白話區塊鏈APP

    區塊鏈世界入口第一站,人人都能看懂的區塊鏈;24 小時熱點實時追蹤。

    毛片免费看