zkPass 如何運作?3P-TLS + 混合 ZK 打造零知識預言機

zkPass 如何運作

zkPass 是預言機協議,使私有互聯網數據能夠在鏈上進行驗證。zkPass 建立在由 3P-TLS 和混合 ZK 技術組成的 zkTLS 之上,提供工具和應用程式,用於安全、可驗證的數據共享,並保證來自任何 HTTPS 網站的隱私和完整性,而無需 OAuth API。

zkPass 如何運作?整體架構與核心概念

zkPass 整體結構

zkPass 如何運作?理解其架構需要先認識三個核心角色:P(證明者/個人)、V(驗證者/商業/zkPass 節點)、S(TLS 伺服器/數據源)。在傳統的數據驗證過程中,證明者將信息提交給驗證者,驗證器會擷取此數據,並與 DataSource 協作執行驗證檢查。這種模式存在三大問題:證明者面臨洩露過多個人資訊的風險;數據源雖然可信但無法提供個性化驗證服務;驗證者掌握所有客戶的私人數據,存在巨大的數據洩露潛在風險。

zkPass 提出了革命性的解決方案,將證明者定位在驗證器和數據源之間。與傳統方法不同,證明者使用他們的訪問令牌直接從數據源中定位和檢索數據,隨後生成零知識證明(ZKP)供驗證者檢查。此過程確保驗證者仍然不知道證明者的個人資訊。這種架構整合了 3P-TLS、MPC(多方計算)和混合 ZK(零知識)技術。

核心技術組件

3P-TLS:基於橢圓曲線 DH 協議的三方傳輸層安全性,結合 MPC 和 Oblivious Transfer(OT)防止作弊

混合 ZK:結合互動式 ZK(VOLE-ZK 23)和非互動式 ZK(SNARK/Circom)的雙層證明系統

zkSBT:基於 ERC998 可組合 NFT 標準的靈魂綁定代幣,儲存主要聲明和查詢聲明

3P-TLS 和 MPC:三方握手的技術突破

zkPass 3P-TLS 和 MPC

zkPass 如何運作的第一個關鍵在於 3P-TLS 協議。傳輸層安全性(TLS)是 HTTPS 的安全通訊協定,幾乎所有資料來源都支援。zkPass 基於橢圓曲線 DH 協議構建了 3P-TLS 協議,並將其與 MPC 和 Oblivious Transfer 相結合,實現三方安全通信。

第一階段:三方握手 P、V 和 S 共同產生會話金鑰,P 和 V 各自獲得這些密鑰的份額。這是使用 Paillier 加密演算法實現的,該演算法提供加法同態。預主鑰匙分為兩部分,P 和 V 各獲得一半,而 S 則保留完整的前主鑰匙。為了防止客戶端偽造虛假網站,客戶端會要求服務端歸還證書,確保對資料來源的信任。

第二階段:金鑰交換與 MPC P 和 V 進行 MPC 計算加密金鑰(enc_key)和消息驗證碼金鑰(mac_key)。關鍵設計在於 V 只擁有 mac_key 的一部分且沒有 enc_key,這確保 V 無法訪問用戶的私人信息。相反,P 持有 mac_key 的一部分,可以訪問特定身份信息但無法篡改,任何篡改都可以通過 mac_key 驗證消息真實性來檢測。

第三階段:標準 TLS 與 ZKP 準備 應用程式資料遵循標準 TLS 通訊協定程序,P 和 V 交換金鑰,為即將到來的涉及零知識證明的階段做準備。zkPass 的 MPC 演算法在通訊時間、雜湊函數和記憶體操作方面進行了重大優化,效率提高了三倍以上。採用新的 AES128 證明方法,將區塊數量減少了 300 倍,Garbler/Evaluator 執行時間提高了十倍。具體來說,zkPass 採用 Silent OT 進行 OT 操作,利用堆疊 GC 減小亂碼電路的大小,大大縮短了整個 MPC 進程的運行時間。

混合 ZK:互動式與非互動式的完美結合

zkPass 混合 ZK

zkPass 如何運作的第二個關鍵在於混合零知識方法。zkPass 協議的最後一步涉及客戶端生成零知識證明,區塊鏈上的智能合約對其進行驗證。這種混合方法結合了互動式和非互動式 ZK 協議的優勢。

互動式零知識(IZK):VOLE-ZK 23 zkPass 利用基於 VOLE 的交互式 ZK 協議進行身份驗證,確保資料來自精確的資料來源並保護其免受客戶端篡改。VOLE-ZK 23 協議是一個「提交和證明」框架,證明者(P)和驗證者(V)共同產生大量 VOLE 實例,每個實例都滿足線性公式「m = k + w * delta」。P 將該公式的某些組成部分作為承諾,V 包含其餘組件。

這種線性度是解決方案具有成本效益的關鍵原因,使其有別於 SNARK 等其他高次多項式解決方案。P 只需要將兩個欄位元素傳輸給驗證器,然後 V 使用其 VOLE 參數驗證相關性。此階段有五個主要限制,確保請求使用加密金鑰加密、必須使用使用者的存取權杖產生請求、用戶必須擁有加密金鑰才能解密回應、用戶無法改變響應、以及響應數據必須遵守範本中概述的特定條件。

優化技術 zkPass 進行了多項優化以增強協議的實用性。引入 SoftSpoken 降低約 50% 的網路開銷並加速 VOLE 生成。利用 VOLE 的加法同態特性,將 XOR 和 INV 門的承諾降至零。對於涉及相同操作的特定用例,可以重複使用 VOLE 參數,將乘法運算轉換為加法運算,這被稱為「多數據信號輸入」,類似於 CPU 架構中的 SIMD。

非互動式零知識(NIZK)隨後從 IZK 證明過渡到 NIZK 證明,目的是隱藏實際的模板模式,使用戶能夠有選擇地透露證明以供任何一方公開驗證。採用 SNARK 框架,特別是 Circom。一旦客戶端成功通過 IZK 驗證,節點就會為結果提供簽名,客戶端將結果及其相關簽名插入默克爾樹中,並更新 SBT 合約中的根。當客戶端需要證明結果時,只需提供零知識證明,證明結果是默克爾樹中的一片葉子,並且已經由節點簽名。

zkSBT:可組合的靈魂綁定代幣系統

zkPass 的 zkSBT 架構

zkPass 如何運作的第三個關鍵在於 zkSBT 架構。zkPass 堅持 ERC998 標準,一種可組合的 NFT 標準。tSBT 代表法律身分、社交網路和財務資訊等類別,dSBT 包含用戶聲稱的實際憑證。這些宣告有兩種類型:主要宣告和查詢宣告。

主要索賠涉及用戶在執行 MPC 後從數據源獲取其私人數據,例如國家/地區、年齡、性別和政府網站的其他信息。根據這些資料建構索賠樹,每個節點代表其子節點的雜湊值。使用 babyjub 簽名添加隨機數以阻止詳盡的攻擊,將主聲明樹的根哈希存儲在 dSBT 中,必須由智能合約生成並驗證樹正確性的零知識證明。

查詢宣告方面,例如判斷使用者的年齡是否大於 18,使用者只需要提供證明,證明代表其年齡的葉子包含在樹狀結構中,且此葉子的值大於 18。用戶可以直接將此證明傳輸給驗證者,驗證者可以執行鏈上函數來驗證證明。這確保用戶的實際私人數據對所有相關方保持隱藏,只有資料查詢的陳述式會選擇性地揭露給特定驗證者。

此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)