什麼是 ZK?ZK與AI將會碰撞出怎樣的火花?

原文作者:dcbuilder.eth,  Worldcoin

原文編譯:深潮 TechFlow

Zero-Knowledge 機器學習(ZKML)是最近正在密碼學界引起轟動的一個研究和開發領域。但它是什麼,有什麼用處呢?首先,讓我們把這個術語分解成它的兩個組成部分,並解釋一下它們是什麼。

什麼是 ZK?

零知識證明是一種密碼協議,其中一方(證明者)可以向另一方(驗證者)證明一個給定的陳述是真實的,而不洩露除該陳述為真以外的任何附加資訊。這是一個正在各個方面取得巨大進展的研究領域,涵蓋了從研究到協議實施和應用的所有方面。

ZK 提供的兩個主要“原語”(或者說構建塊)是能夠為一組給定的計算建立具有計算完整性證明的能力,其中證明比執行計算本身要容易地多。(我們稱這種屬性為“簡潔性”)。ZK 證明也提供了隱藏計算中某些部分同時保持計算正確性的選項。(我們稱這種屬性為“零知識性”)。

生成零知識證明需要非常大的計算量,大約比原始計算貴 100 倍。這意味著,在某些情況下由於最佳硬體上生成它們所需的時間使其不切實際,因此不能計算零知識證明。

然而,在近年來密碼學、硬體和分散式系統領域的進步已經使零知識證明成為了越來越強大的計算可行的選擇。這些進展已經為可以使用計算密集型證明的協議的建立提供了可能,從而擴大了新應用程序的設計空間。

ZK 使用案例

零知識密碼學是 Web3 空間中最流行的技術之一,因為它允許開發人員構建可擴充套件和/或私有的應用程序。以下是一些實踐中如何使用它的示例(儘管請注意,這些專案中許多都還在進行中):

1.透過 ZK rollups 擴充套件以太坊

  • Starknet
  • Scroll
  • Polygon Zero,Polygon Miden,Polygon zkEVM
  • zkSync

2.構建保護隱私的應用程序

  • Semaphore
  • MACI
  • Penumbra
  • Aztec Network

3.身份原語和資料來源

  • WorldID
  • Sismo
  • Clique
  • Axiom

4.第一層協議

  • Zcash
  • Mina

隨著 ZK 技術的成熟,我們相信將會出現新的應用程序的爆發,因為構建這些應用程序所使用的工具將需要更少的領域專業知識,對於開發人員來說將會更加容易使用。

機器學習

機器學習是人工智慧(“AI”)領域的一個研究方向,使得計算機可以自動從經驗中學習和改進,無需明確地進行程式設計。它利用演算法和統計模型來分析和識別資料中的模式,然後基於這些模式進行預測或決策。機器學習的最終目標是開發出能夠自適應學習、不需要人類干預以及在醫療保健、金融和交通等各個領域解決複雜問題的智慧系統。

最近,您可能已經看到了大型語言模型(如 chatGPT 和 Bard)以及文字到影象的模型(如 DALL-E 2、Midjourney 或 Stable Diffusion)的進展。隨著這些模型變得越來越好,並且能夠執行更廣泛的任務,瞭解是哪個模型執行了這些操作就變得非常重要,還是操作由人類執行。在接下來的部分中,我們將探討這個思路。

ZKML 的動機和當前努力

我們生活在一個世界上,AI/ML 生成的內容越來越難以與人類生成的內容區分開來。零知識密碼學將使我們能夠做出這樣的宣告:“給定一段內容 C,它是由模型 M 應用於一些輸入 X 生成的。”我們將能夠驗證某個輸出是否是由大型語言模型(如 chatGPT)或文字到影象模型(如 DALL-E 2 )等任何其他我們為其建立了零知識電路表示的模型所生成的。這些證明的零知識屬性將使我們能夠根據需要也隱藏輸入或模型的某些部分。一個很好的例子是在一些敏感資料上應用機器學習模型,在不透露輸入到第三方的情況下,使用者可以知道他們的資料在模型推理後的結果(例如,在醫療行業)。

注:當我們談論 ZKML 時,我們是指建立 ML 模型推理步驟的零知識證明,而不是關於 ML 模型訓練(它本身已經非常計算密集)。目前,現有技術水平的零知識系統加上高效能硬體仍然相差幾個數量級,無法證明當前可用的大型語言模型(LLMs)等龐大的模型,但是在建立較小模型的證明方面已經取得了一些進展。

我們對零知識密碼學在為 ML 模型建立證明的上下文中的現有技術水平進行了一些研究,並建立了一個聚合相關研究、文章、應用程序和程式碼庫的文章集。ZKML 的資源可以在 GitHub 上的 ZKML 社羣的 awesome-zkml 儲存庫中找到。

Modulus Labs 團隊最近釋出了一篇名為“智慧的成本”的論文,其中對現有的 ZK 證明系統進行了基準測試,並列舉了不同大小的多個模型。目前,使用像 plonky 2 這樣的證明系統,在強大的 AWS 機器上執行 50 秒左右,可以為約 1800 萬個引數的模型建立證明。以下是該論文中的一張圖表:

另一個旨在改進 ZKML 系統技術水平的倡議是 Zkonduit 的 ezkl 庫,它允許您建立對使用 ONNX 匯出的 ML 模型的 ZK 證明。這使得任何 ML 工程師都能夠為他們的模型的推理步驟建立 ZK 證明,並向任何正確實現的驗證器證明輸出。

有幾個團隊正在改進 ZK 技術,為 ZK 證明內部發生的操作建立最佳化硬體,並針對特定用例構建這些協議的最佳化實現。隨著技術的成熟,更大的模型將在較不強大的機器上短時間內進行 ZK 證明。我們希望這些進展將使新的 ZKML 應用程序和用例得以出現。

潛在的使用案例

為了確定 ZKML 是否適用於特定的應用,我們可以考慮 ZK 密碼學的特性將如何解決與機器學習相關的問題。這可以用一個 Venn 圖來說明:

定義:

1.Heuristic optimization—— 一種問題解決方法,它使用經驗法則或“啟發式”來找到艱難的問題的好解決方案,而不是使用傳統的最佳化方法。啟發式最佳化方法旨在在相對的重要性和最佳化難度下,在合理的時間內找到好的或“足夠好”的解決方案,而不是嘗試找到最優解決方案。

2.FHE ML —— 完全同態加密 ML 允許開發人員以保護隱私的方式訓練和評估模型;然而,與 ZK 證明不同,沒有辦法透過密碼學方式證明所執行的計算的正確性。

  • 像 Zama.ai 這樣的團隊正在從事這個領域的工作。

3.ZK vs Validity —— 在行業中,這些術語通常被互換使用,因為有效性證明是 ZK 證明,不會隱藏計算或其結果的某些部分。在 ZKML 的上下文中,大多數當前的應用程序都利用了 ZK 證明的有效性證明方面。

4.Validity ML —— ZK 證明 ML 模型,在其中沒有計算或結果被保密。它們證明計算的正確性。

以下是一些潛在的 ZKML 用例示例:

1.計算完整性(有效性 ML)

  • Modulus Labs
  • 基於鏈上可驗證的 ML 交易機器人 – RockyBot

自我改進視覺區塊鏈(示例):

  • 增強 Lyra 金融期權協議 AMM 的智慧特性
  • 為 Astraly 建立透明的基於 AI 的聲譽系統(ZK oracle)
  • 使用 ML for Aztec Protocol(具有隱私功能的 zk-rollup)致力於合同級合規工具所需的技術突破。

2.機器學習即服務(MLaaS) 透明;

3.ZK 異常/欺詐檢測:

  • 這種應用場景使得可建立針對可利用性/欺詐的 ZK 證明成為可能。異常檢測模型可以在智慧合約資料上進行訓練,並由 DAOs 同意作為有趣的度量標準,以便能夠自動化安全程序,如更主動、預防性地暫停合約。已有初創企業正在研究在智慧合約環境中使用 ML 模型進行安全目的的方法,因此 ZK 異常檢測證明似乎是自然的下一步。

4.ML 推理的通用有效性證明:能夠輕鬆證明和驗證輸出是給定模型和輸入對的乘積。

5.隱私 (ZKML)。

6.去中心化的 Kaggle:證明模型在某些測試資料上的準確率大於 x%,而不會顯示權重。

7.隱私保護推理:將對私人患者資料的醫療診斷輸入模型,並將敏感的推理(例如,癌症測試結果)傳送給患者。

8.Worldcoin:

  • IrisCode 的可升級性:World ID 使用者將能夠在他們的移動裝置的加密儲存中自我保管其生物特徵,下載用於生成 IrisCode 的 ML 模型並在本地建立零知識證明,以證明其 IrisCode 已成功建立。這個 IrisCode 可以被無需許可地插入註冊的 Worldcoin 使用者之一,因為接收的智慧合約可以驗證零知識證明,從而驗證 IrisCode 的建立。這意味著,如果 Worldcoin 將來升級機器學習模型以一種破壞與其之前版本相容性的方式建立 IrisCode,使用者就不必再次去 Orb,而可以在裝置上本地建立這個零知識證明。
  • Orb 安全性:目前,Orb 在其受信任的環境中執行幾個欺詐和篡改檢測機制。然而,我們可以建立一個零知識證明,表明這些機制在拍攝影象和生成 IrisCode 時是活動的,以便為 Worldcoin 協議提供更好的活體保證,因為我們可以完全確定這些機制在整個 IrisCode 生成過程中都將執行。

總之,ZKML 技術有著廣泛的應用前景,並且正在快速發展。隨著越來越多的團隊和個人加入到這個領域,我們相信 ZKML 的應用場景將會更加多樣化和廣泛化。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *