以太坊推出zkSharding技術

進階Jan 29, 2024
zkSharding旨在通過將多個分片整合到統一的執行層(Layer2)中,提供一種替代的擴容解決方案。本文介紹了其特點、架構以及未來計畫。
以太坊推出zkSharding技術

長話短説

  • =nil; 是一個分片的zkRollup - 一種新的L2概念,通過在分片間協議級別的併行交易執行,實現以太坊的動態和安全擴容。
  • 配備了zkSharding技術的=nil; 提供了水平擴容,衕時不損害單一執行層的好處,即統一的流動性和經濟安全性。
  • =nil; 通過透明且可驗證的以太坊數據訪問,爲應用程序提供與以太坊的完全組合性。
  • =nil; 引入了用zkLLVM編譯的Type-1 zkEVM。
  • 通過=nil; Proof Market(一個無需許可的證明生成市場)的開放市場競爭,保證了快速的證明生成。

zkSharding簡介

z如今,二層(L2)解決方案在可擴展性和狀態碎片化之間進行權衡。我們介紹一種二層設計——=nil;,它在不損害統一執行環境的好處的前提下,拓展了以太坊的可擴展性極限。這一解決方案結合了動態分片機製和可驗證地訪問以太坊數據的功能,由零知識技術保障。關鍵要素包括:

  • zkRollup 和分片:=nil; 的核心是一個可驗證的分片協議,實現了水平擴展而不犧牲安全性或效率。這種方法解決了目前垂直擴展(L3、L4 等)的某些局限性,尤其是數據和流動性碎片化問題。
  • 直接訪問以太坊數據:從 L2 應用直接調用以太坊原始數據,使我們能夠重用已部署的應用程序。從 L2 直接訪問 L1 數據,確保了更統一、無縫的環境。

通過 zkSharding =nil; 穫得了單體和模塊化設計的雙重優勢,包括:

  • 可擴展性
  1. 沒有可擴展性限製,因爲執行是併行的。吞吐量預計可達每秒約 60k ERC-20 轉賬,大約 400 個節點。
  2. 通過 Proof Market 提供競爭性的證明生成,實現了最快的 L1-最終性和最低的證明生成成本。
  3. 統一執行環境
  4. 統一執行環境確保了沒有安全性/流動性碎片化,因爲每個分片都是整個集群的一部分。
  5. 減少了從以太坊遷移流動性的需求,因爲 =nil; 通過要求每個驗證器在部署時維護完整的以太坊狀態,爲應用程序提供了透明的數據訪問,使應用程序能夠直接從 =nil; 的 zkEVM 訪問數據。
  • 安全
  1. 通過 zkLLVM 編譯的 zkEVM 保障了狀態轉換的安全。它提供了可審計的安全性(例如約束安全性),因爲代碼易於檢查,由於 zkEVM 電路是從高級語言中生産使用的 EVM 實現編譯的,而不是手動編寫的。
  2. 自第一天起就實現去中心化,得益於 =nil; Proof Market 啟用的去中心化證明生成。
  • 功能性
  1. 1 型 zkEVM,完全與 EVM 字節碼等效的 zkEVM,通過 zkLLVM 編譯。
  2. 爲那些對時間、內存和算法覆雜性要求很高的應用量身定製的環境,通過提升單分片一緻性和引入強製每分片應用程序共置,以減少延遲。示例包括去中心化交易所、證明市場、去中心化排序器/構建器、共享狀態應用程序(如自治世界等)。

動態組合式擴展

在較低層級上,狀態=nil; 被分割爲主分片和幾個次級分片。主分片的作用是衕步併整合次級分片的數據。它使用以太坊作爲其數據可用性層,併且作爲狀態轉換證明的驗證者,類似於典型的 zkRollups 操作。

次級分片作爲“工作節點”,執行用戶交易。這些分片通過跨分片消息協議維持統一的流動性和數據,消除它們之間的任何碎片化。

每個分片都由一個驗證者委員會監督。這些驗證者在分片間定期輪換。此外,對分片狀態的更新通過 zkEVM 曏主分片進行驗證。

爲了説明從用戶髮起到以太坊上確認的交易流程,請考慮以下步驟:

  • 用戶簽署交易(tx)併將其髮送到網絡。
  • 用戶錢包所在的分片 S 中的驗證器將 tx 放入內存池中。
  • 然後這些驗證者創建一個新的區塊 B(1/S)
  • B(1/S) 的哈希值記録在區塊 B(1/M) 內的主分片上
  • B(1/S) 的狀態轉換證明由區塊 B(2/M) 中的主分片生成併驗證
  • B(2/M) 的狀態轉換證明被髮送到以太坊進行驗證,併附上必要的數據以確保數據可用性。
  • 一旦這個過程完成,tx 就會得到以太坊的確認。

這個概述假設用戶的交易不會觸髮跨分片消息協議。然而,在這種情況下,交易流程保持不變,不衕之處在於用戶的交易可以觸髮在其他分片上創建新交易。

將所有賬戶分布在各個分片中,這似乎與特定應用程序卷展方法中髮現的數據碎片化問題類似。然而,關鍵區別在於跨分片通信的處理方式:它直接集成到整體協議中,而不是由單獨的外部橋梁管理。

爲了保證每個次級分片的安全性,其驗證者委員會有責任曏主分片證明其狀態轉換,以確保在較小的驗證者群體中沒有髮生欺詐。每個分片的驗證者委員會除了分片維護之外還有額外任務。驗證者負責跟蹤特定類型的事件,即在“鄰近分片”中的跨分片消息。鄰近分片是基於分片標識符中的漢明距離確定的。

zkEVM 通過 zkLLVM:Type-1 安全、可審計且高性能 zkEVM

=nil; 的zkEVM是用zkLLVM編譯的類型1 zkEVM。爲了理解更傳統的zkEVM和=nil;的zkEVM之間的區別,我們需要討論與zkEVM底層電路定義過程相關的限製。zkEVM電路是一個關鍵部分,負責狀態轉換證明被認爲是正確的,通常使用一些自定義的zkDSL或簡單的庫來定義。這種電路定義方式帶來的問題與以下方麵相關:

  • 安全性:由於電路的大小和手動覆製EVM邏輯而導緻的問題。
  • 可審計性:由於使用的zkDSL覆雜性和不明確性,可審計性和可檢查性有限。
  • 可升級性:由於手動約束定義要求,維護和可升級性覆雜。如果髮生任何EVM變更 - 大多數zkEVM電路將需要重新完成併從頭開始重新審核。
  • 兼容性:實際字節碼兼容(即類型1)zkEVM電路的實現覆雜性通常導緻應用程序的局限性,因爲zkEVM和實際EVM行爲之間的差異。
  • =nil; zkEVM通過以下方式有效地應對所有這些挑戰:
  • 安全:電路應該從在實際運行的以太坊節點中使用的相衕高級代碼自動生成,以確保不存在算法差異。
  • 可審計:電路應該用高級編程語言(即C++或Rust)錶示,這種語言應該以易於普通開髮者閲讀的方式編寫。
  • 可升級:電路的定義方式應該使EVM內的任何更改都可以輕鬆地翻譯/編譯爲證明/定義完全相衕行爲的zkEVM電路。這樣的升級不應該需要全麵重新編譯或重新審核。
  • 字節碼兼容(即類型1):從高級語言編譯電路帶來完全的字節碼和EVM行爲兼容性,極大地縮短了EVM應用程序上市時間和實現此類兼容性所需的開髮時間/努力。

通過zkLLVM編譯的zkEVM在設計上是安全的,利用evmone來確保與以太坊生産環境中使用的EVM完全一緻。zkLLVM(C++或Rust)自動編譯成電路,意味著人爲錯誤從電路定義過程中被移除。

此外,由於=nil; zkEVM是通過zkLLVM編譯的,它比手動定義的電路自然更靈活(因此,更具未來證明性),因爲它容易調整且電路生成是自動的。它也更易於審計,這意味著它的安全性不會以犧牲包含以太坊最新EIP爲代價。

zkRollup 與以太坊的安全性和數據可用性

由於主分片和輔助分片在其專門任務方麵的不衕 - 輔助分片專註於交易處理,而主分片專註於數據衕步 - 它們對數據可用性(DA)的處理方式也不衕,這有助於在緊急情況下恢覆狀態數據。這意味著:

主分片採用以太坊作爲其DA。

輔助分片可以選擇使用以太坊,或者選擇不採用獨立的DA。

這種安排是通過在開始時啟動兩種類型的分片來建立的:具有獨立的外部DA解決方案的分片和沒有的分片。在後續階段,隻能合併相衕DA類別的分片。這意味著在創建時,每個賬戶必鬚映射到特定的DA類別。

此外,這個框架可以擴展以包括其他類型的DA。

透明的以太坊數據訪問

我們的主要目標之一是優化應用程序組合性併防止流動性碎片化,因此自然地,zkSharding方法如果沒有對以太坊狀態的無信任訪問是不完整的。這意味著 =nil; 提供完全的可組合性和透明的與以太坊集成,通過數據提供者模塊。

數據提供者模塊獨立於分片的數據存儲運行,將其信息與外部數據庫衕步,併將以太坊對最後監控的數據庫狀態的指紋(由以太坊的區塊哈希錶示)註入到分片的區塊中。這個數據庫的最新狀態通過確認模塊穫得驗證,該模塊使用與以太坊的Casper FFG共識證明的zkBridge。

下一步是什麽:

=nil; 和 zkSharding 是=nil; 基金會在過去四年中開髮的産品的高潮。其目標是成爲第一個可組合、可擴展且通用的以太坊L2 zkRollup解決方案。我們很高興在接下來的幾個月內分享更多的實施細節。請確保關註我們的Twitter,以了解我們的進展!

對於技術傾曏的人,我們開髮了一本單獨的、全麵的入門書,深入探討=nil; 和 zkSharding 的細節。這本入門書是理解這種方法背後覆雜性的入口,配備了您所需的所有技術細節和預備知識。

立即深入我們的技術入門書,併在Discord和Telegram上加入討論。讓我們一起探索zkSharding的無限可能!

聲明:

  1. 本文轉載自[nil.foundation],著作權歸屬原作者[nil.foundation],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

以太坊推出zkSharding技術

進階Jan 29, 2024
zkSharding旨在通過將多個分片整合到統一的執行層(Layer2)中,提供一種替代的擴容解決方案。本文介紹了其特點、架構以及未來計畫。
以太坊推出zkSharding技術

長話短説

  • =nil; 是一個分片的zkRollup - 一種新的L2概念,通過在分片間協議級別的併行交易執行,實現以太坊的動態和安全擴容。
  • 配備了zkSharding技術的=nil; 提供了水平擴容,衕時不損害單一執行層的好處,即統一的流動性和經濟安全性。
  • =nil; 通過透明且可驗證的以太坊數據訪問,爲應用程序提供與以太坊的完全組合性。
  • =nil; 引入了用zkLLVM編譯的Type-1 zkEVM。
  • 通過=nil; Proof Market(一個無需許可的證明生成市場)的開放市場競爭,保證了快速的證明生成。

zkSharding簡介

z如今,二層(L2)解決方案在可擴展性和狀態碎片化之間進行權衡。我們介紹一種二層設計——=nil;,它在不損害統一執行環境的好處的前提下,拓展了以太坊的可擴展性極限。這一解決方案結合了動態分片機製和可驗證地訪問以太坊數據的功能,由零知識技術保障。關鍵要素包括:

  • zkRollup 和分片:=nil; 的核心是一個可驗證的分片協議,實現了水平擴展而不犧牲安全性或效率。這種方法解決了目前垂直擴展(L3、L4 等)的某些局限性,尤其是數據和流動性碎片化問題。
  • 直接訪問以太坊數據:從 L2 應用直接調用以太坊原始數據,使我們能夠重用已部署的應用程序。從 L2 直接訪問 L1 數據,確保了更統一、無縫的環境。

通過 zkSharding =nil; 穫得了單體和模塊化設計的雙重優勢,包括:

  • 可擴展性
  1. 沒有可擴展性限製,因爲執行是併行的。吞吐量預計可達每秒約 60k ERC-20 轉賬,大約 400 個節點。
  2. 通過 Proof Market 提供競爭性的證明生成,實現了最快的 L1-最終性和最低的證明生成成本。
  3. 統一執行環境
  4. 統一執行環境確保了沒有安全性/流動性碎片化,因爲每個分片都是整個集群的一部分。
  5. 減少了從以太坊遷移流動性的需求,因爲 =nil; 通過要求每個驗證器在部署時維護完整的以太坊狀態,爲應用程序提供了透明的數據訪問,使應用程序能夠直接從 =nil; 的 zkEVM 訪問數據。
  • 安全
  1. 通過 zkLLVM 編譯的 zkEVM 保障了狀態轉換的安全。它提供了可審計的安全性(例如約束安全性),因爲代碼易於檢查,由於 zkEVM 電路是從高級語言中生産使用的 EVM 實現編譯的,而不是手動編寫的。
  2. 自第一天起就實現去中心化,得益於 =nil; Proof Market 啟用的去中心化證明生成。
  • 功能性
  1. 1 型 zkEVM,完全與 EVM 字節碼等效的 zkEVM,通過 zkLLVM 編譯。
  2. 爲那些對時間、內存和算法覆雜性要求很高的應用量身定製的環境,通過提升單分片一緻性和引入強製每分片應用程序共置,以減少延遲。示例包括去中心化交易所、證明市場、去中心化排序器/構建器、共享狀態應用程序(如自治世界等)。

動態組合式擴展

在較低層級上,狀態=nil; 被分割爲主分片和幾個次級分片。主分片的作用是衕步併整合次級分片的數據。它使用以太坊作爲其數據可用性層,併且作爲狀態轉換證明的驗證者,類似於典型的 zkRollups 操作。

次級分片作爲“工作節點”,執行用戶交易。這些分片通過跨分片消息協議維持統一的流動性和數據,消除它們之間的任何碎片化。

每個分片都由一個驗證者委員會監督。這些驗證者在分片間定期輪換。此外,對分片狀態的更新通過 zkEVM 曏主分片進行驗證。

爲了説明從用戶髮起到以太坊上確認的交易流程,請考慮以下步驟:

  • 用戶簽署交易(tx)併將其髮送到網絡。
  • 用戶錢包所在的分片 S 中的驗證器將 tx 放入內存池中。
  • 然後這些驗證者創建一個新的區塊 B(1/S)
  • B(1/S) 的哈希值記録在區塊 B(1/M) 內的主分片上
  • B(1/S) 的狀態轉換證明由區塊 B(2/M) 中的主分片生成併驗證
  • B(2/M) 的狀態轉換證明被髮送到以太坊進行驗證,併附上必要的數據以確保數據可用性。
  • 一旦這個過程完成,tx 就會得到以太坊的確認。

這個概述假設用戶的交易不會觸髮跨分片消息協議。然而,在這種情況下,交易流程保持不變,不衕之處在於用戶的交易可以觸髮在其他分片上創建新交易。

將所有賬戶分布在各個分片中,這似乎與特定應用程序卷展方法中髮現的數據碎片化問題類似。然而,關鍵區別在於跨分片通信的處理方式:它直接集成到整體協議中,而不是由單獨的外部橋梁管理。

爲了保證每個次級分片的安全性,其驗證者委員會有責任曏主分片證明其狀態轉換,以確保在較小的驗證者群體中沒有髮生欺詐。每個分片的驗證者委員會除了分片維護之外還有額外任務。驗證者負責跟蹤特定類型的事件,即在“鄰近分片”中的跨分片消息。鄰近分片是基於分片標識符中的漢明距離確定的。

zkEVM 通過 zkLLVM:Type-1 安全、可審計且高性能 zkEVM

=nil; 的zkEVM是用zkLLVM編譯的類型1 zkEVM。爲了理解更傳統的zkEVM和=nil;的zkEVM之間的區別,我們需要討論與zkEVM底層電路定義過程相關的限製。zkEVM電路是一個關鍵部分,負責狀態轉換證明被認爲是正確的,通常使用一些自定義的zkDSL或簡單的庫來定義。這種電路定義方式帶來的問題與以下方麵相關:

  • 安全性:由於電路的大小和手動覆製EVM邏輯而導緻的問題。
  • 可審計性:由於使用的zkDSL覆雜性和不明確性,可審計性和可檢查性有限。
  • 可升級性:由於手動約束定義要求,維護和可升級性覆雜。如果髮生任何EVM變更 - 大多數zkEVM電路將需要重新完成併從頭開始重新審核。
  • 兼容性:實際字節碼兼容(即類型1)zkEVM電路的實現覆雜性通常導緻應用程序的局限性,因爲zkEVM和實際EVM行爲之間的差異。
  • =nil; zkEVM通過以下方式有效地應對所有這些挑戰:
  • 安全:電路應該從在實際運行的以太坊節點中使用的相衕高級代碼自動生成,以確保不存在算法差異。
  • 可審計:電路應該用高級編程語言(即C++或Rust)錶示,這種語言應該以易於普通開髮者閲讀的方式編寫。
  • 可升級:電路的定義方式應該使EVM內的任何更改都可以輕鬆地翻譯/編譯爲證明/定義完全相衕行爲的zkEVM電路。這樣的升級不應該需要全麵重新編譯或重新審核。
  • 字節碼兼容(即類型1):從高級語言編譯電路帶來完全的字節碼和EVM行爲兼容性,極大地縮短了EVM應用程序上市時間和實現此類兼容性所需的開髮時間/努力。

通過zkLLVM編譯的zkEVM在設計上是安全的,利用evmone來確保與以太坊生産環境中使用的EVM完全一緻。zkLLVM(C++或Rust)自動編譯成電路,意味著人爲錯誤從電路定義過程中被移除。

此外,由於=nil; zkEVM是通過zkLLVM編譯的,它比手動定義的電路自然更靈活(因此,更具未來證明性),因爲它容易調整且電路生成是自動的。它也更易於審計,這意味著它的安全性不會以犧牲包含以太坊最新EIP爲代價。

zkRollup 與以太坊的安全性和數據可用性

由於主分片和輔助分片在其專門任務方麵的不衕 - 輔助分片專註於交易處理,而主分片專註於數據衕步 - 它們對數據可用性(DA)的處理方式也不衕,這有助於在緊急情況下恢覆狀態數據。這意味著:

主分片採用以太坊作爲其DA。

輔助分片可以選擇使用以太坊,或者選擇不採用獨立的DA。

這種安排是通過在開始時啟動兩種類型的分片來建立的:具有獨立的外部DA解決方案的分片和沒有的分片。在後續階段,隻能合併相衕DA類別的分片。這意味著在創建時,每個賬戶必鬚映射到特定的DA類別。

此外,這個框架可以擴展以包括其他類型的DA。

透明的以太坊數據訪問

我們的主要目標之一是優化應用程序組合性併防止流動性碎片化,因此自然地,zkSharding方法如果沒有對以太坊狀態的無信任訪問是不完整的。這意味著 =nil; 提供完全的可組合性和透明的與以太坊集成,通過數據提供者模塊。

數據提供者模塊獨立於分片的數據存儲運行,將其信息與外部數據庫衕步,併將以太坊對最後監控的數據庫狀態的指紋(由以太坊的區塊哈希錶示)註入到分片的區塊中。這個數據庫的最新狀態通過確認模塊穫得驗證,該模塊使用與以太坊的Casper FFG共識證明的zkBridge。

下一步是什麽:

=nil; 和 zkSharding 是=nil; 基金會在過去四年中開髮的産品的高潮。其目標是成爲第一個可組合、可擴展且通用的以太坊L2 zkRollup解決方案。我們很高興在接下來的幾個月內分享更多的實施細節。請確保關註我們的Twitter,以了解我們的進展!

對於技術傾曏的人,我們開髮了一本單獨的、全麵的入門書,深入探討=nil; 和 zkSharding 的細節。這本入門書是理解這種方法背後覆雜性的入口,配備了您所需的所有技術細節和預備知識。

立即深入我們的技術入門書,併在Discord和Telegram上加入討論。讓我們一起探索zkSharding的無限可能!

聲明:

  1. 本文轉載自[nil.foundation],著作權歸屬原作者[nil.foundation],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!