Web3 隱私專家帶您揭祕 zkTLS 及其應用

本文作者:Xavier, Co-founder@Primus Lab

密碼學博士,擁有 10 年以上 MPC/ZK/PPML 等隱私研究經驗

盡管以 zkSNARKs 爲代表的 ZK 技術在區塊鏈行業獲得了前所未有的發展,但與行業預期的終極 end game 仍然相距甚遠。一方面,zkRollup 對以太坊性能突破帶來了一定優勢,但是隨着鏈上應用的日漸匱乏,空有基建缺乏使用的窘境無法突破。另一方面 zk 技術本身仍然沒有孵化出高價值的 zk 應用——不管是隱私爲核心的鏈上交易和機密支付,還是各類 zk +XXX (zkEmail, zkLogin, zkPassport, …),仍然是需求不明確,或者強行蹭 zk, 技術貼金,沒有真正解決場景痛點。

什麼是 zkTLS?

一個通俗的例子是,你如何向另一個人證明你的銀行帳戶有很多錢?傳統的方法是讓銀行爲你出具資產證明。這類紙質證明帶有銀行的公章,帶有很明確的真實性 (authenticity)。

( 圖片來源於網路 )

那麼,如果問題轉變成,你如何向另一個人證明你的信用分、電商消費金額、遊戲時長呢?我們無法預期這些存有你個人數據的網站會爲你進行單獨背書,提供相關的證明服務。或者你直接通過屏幕截圖也許可以讓其他人信服,但是這個過程仍然會被人認爲僞造,以及帶來額外的敏感信息泄露的風險。

zkTLS 就是一種基於 TLS 協議的數據驗證技術,能在客觀上爲基於互聯網的任意數據提供真實性證明。

最早的 zkTLS 技術產品是 TLSNotary 項目在 2015 年發布的一款產品 PageSigner,基於 Chrome 瀏覽器。從它的名字不難發現,TLSNotary 的初衷就是爲了做一款能提供網頁數據真實性證明的工具。事實上,一直到 2020 年, ChainLink 團隊發表了論文 DECO,zkTLS 才逐漸進入行業視野,大家發現原來還有另一類預言機 (Oracle),可以獲得鏈下的私有數據。

客觀來說,2023 年之前,zkTLS 技術在對接實際業務需求時僅僅停留在“可用”階段,距離“好用”還相差甚遠,單次證明耗時通常需要若幹分鍾。2023 年,有鑑於此前 zkTLS 技術在使用了安全多方計算之後在通信方面開銷過高,reclaim 提出了基於代理模式 (proxy mode) 的 zkTLS 技術,通過傳統的 zkSNARKs 以及引入一個需要信任的代理節點,實現 TLS 數據的可驗證。2023 年年中,Primus 團隊 ( 此前名爲“PADO”) 通過 garble-then-prove 的技術,結合 quicksilver 算法將基於安全多方計算模式的 zkTLS 技術整體性能提升了 10 倍以上,並且在代理模式裏,通過用 quicksilver 算法代替傳統的 zkSNARKs,將整體性能也提升了 10 倍以上。目前來看,Primus 的 zkTLS 技術在性能上基本能滿足各類業務場景的需要。

讀者可以查閱相關的基準測評了解更多的 zkTLS 的性能情況

()

zkTLS 技術分類

通常來說, zkTLS 實現網頁數據的真實性驗證,依賴於一個第三方 Attestor。Attestor 類似觀察者,通過“閱讀” TLS 協議的執行過程中的請求和響應消息,來確保用戶的數據 ( 來自於服務器的響應消息 ) 確實來自於指定的數據源 ( 注:這裏的數據源指服務器域名以及相關的 API endpoint)。

TLS 協議一般分爲兩個階段:握手和會話。在握手階段,客戶端和服務端通過一系列的通訊交互,共同計算出會話密鑰用於下一階段的加密通訊。在會話階段,客戶端將請求消息發送給服務端,服務端隨之返回響應消息,所有的消息都由會話密鑰進行加密處理,確保沒有第三方可以竊取。

zkTLS 根據核心技術組件的不同,主要分爲兩大類,基於安全多方計算 (MPC) 的和基於代理的技術。

MPC 模式

MPC 模式主要依賴於安全多方計算的使用。在 MPC 方案中,Attestor 和 Client( 客戶端 ) 通過 兩方計算 (2PC) 協議 來模擬 TLS 握手中的客戶端部分。這意味着在握手階段結束後,客戶端不會直接獲得完整的會話密鑰。只有當 Attestor 收到 響應密文 後,它才會將 密鑰份額 發送給客戶端,使其能夠解密所有密文。

「小知識:MPC 即安全多方計算,一般爲兩方參與 ( 即 2PC) 或者三方及以上參與 ( 稱爲 MPC )。不管是 2PC,還是 MPC,都要求參與各方保證自己的計算輸入不被其他方獲得,同時能協作完成某一個指定的計算任務,例如多人一起計算出平均工資而不泄漏任何一人的薪資情況,或者多個數據提供者在不泄漏各自數據資源的條件下一起參與完成 AI 模型訓練。」

MPC 模式的直觀流程如下:

握手階段: Client 和 Attestor 運行 2PC 協議,共同計算會話密鑰。在此過程中,Client 和 Attestor 僅持有會話密鑰的各自份額,而非完整密鑰。

請求加密: Client 和 Attestor 再次運行 2PC 協議,計算加密後的請求數據。

響應處理: Client 接收 數據源 返回的響應密文,並將其轉發給 Attestor。

密鑰解封與驗證: Attestor 將 密鑰份額 發送給 Client,使其獲得完整的會話密鑰。Client 使用該密鑰解密響應,並向 Attestor 證明密文有效,且滿足協議設定的安全屬性。需要注意的是,Client 和 Attestor 並不會使用 2PC 協議來解密響應密文,解密由 Client 在獲得完整密鑰後獨立完成。

Proxy 模式

代理模式下,Attestor 作爲代理,在 Client( 客戶端 ) 和 Data Source( 數據源 ) 之間轉發所有 TLS 交互數據 ( 包括握手信息和加密通信數據 )。TLS 協議結束時,Client 需要向 Attestor 以零知識方式 (ZK) 證明 密文的有效性。

Proxy 模式的設計動機消除 MPC-TLS 中的 2PC 協議,因爲 2PC 是計算開銷最大的部分,通過減少計算復雜度,提高了協議的整體執行效率。

zkTLS 能給我們帶來什麼?

zkTLS 的核心價值主要是可驗證性。

在此之前,並沒有很好的方法在無需信任的條件下,支持用戶提供可信的個人數據。這種可驗證性有着廣泛的靈活度和實用性,包括:

  • 數據源無侵入: 數據源並不會感知到它正在與一套全新的 zkTLS 協議交互,而僅會遵循傳統 TLS 協議的運行邏輯。這意味着 zkTLS 在理論上可以廣泛接入所有底層基於 TLS 協議的數據源或者 API 服務,盡管異常頻次的交互仍可能觸發數據源端的風控策略。

  • 通用性: 所見皆可證,理論上任意的網頁數據,不管是公開的,還是私人的,敏感或者不敏感的,都可以通過 zkTLS 的方式由 Attestor 鑑證後獲得

  • 鏈無關: zkTLS 純粹是基於密碼學的鏈下行爲,其協議輸出通常是一段帶有 Attestor 籤名的數據,可以在鏈下驗證,也可以上鏈後在智能合約裏進行驗證。

  • 隱私友好: 基於零知識證明的特質,對於需要分享的敏感信息, zkTLS 可以支持最小化披露。簡單來說,對於 TLS 協議返回的響應消息,可以對其中的可計算數據 ( 數值類型 ) 定制相關的約束條件,例如年齡大於 18,餘額不低於 10000 等,並將相關的計算證明結果體現在輸出數據裏。

zkTLS 的應用案例

你可能會想,基於 zkTLS 的數據共享的可能使用案例是什麼?以下是我們認爲值得探索的一些想法:

低抵押貸款: 通過 zkTLS 提供鏈下的信用評分、銀行餘額、收入和其他財務數據的證明,可以允許借貸協議提供更優的資本利用效率。

鏈下身分驗證: 獲得傳統機構的用戶 KYC 信息,並在鏈上金融協議中使用。

P2P 交易: 我們可以創建一個點對點的數字化商品市場。一方面,買家可以通過 zkTLS 技術證明其完成了商品所有權的變更,這包括電子票,域名,遊戲道具,甚至法定貨幣;賣家可以通過智能合約控制代幣的轉讓。

AI Agent: 借助 zkTLS,我們可以確保 AI Agent 的行爲完全是可靠的。這包括驗證社交媒體上具有市場影響力的 agent 的言論,以及解鎖 AI 交易機器人和 AI 參與 DAO 治理,降低流程中的信任成本。

粉絲證明: 例如允許用戶提供粉絲身分的證明, 並從 KOL/ 藝術家那裏獲得相關的獎勵。

社交帳戶打賞 / 支付: 可以允許任何人將加密資產發送給一個或者多個社交帳戶,而無需知道對方的錢包地址。另一方面,用戶需要通過 zkTLS 提供相關的社交帳戶證明,來領取其名下的代幣。

社交登入: 通過 zkTLS 驗證用戶的社交平台帳號擁有權,開發一種全新的登入機制。用戶能夠使用任意網頁服務提供商的帳號完成登入,而無需依賴特定的 Google 或 Meta 帳戶。

價值數據驗證和計算新範式

zkTLS 代表的不僅是 Web2 數據在 Web3 生態中的可用性提升,更是數據所有權的轉變。過去受限於平台的數據,如今可以自由流動、受隱私保護,並具備可編程性。這一演進讓用戶不再只是被動接受者,而是數據的真正掌控者。

隨着 zkTLS 的採用加速,我們將見證數據的可驗證性帶來的組合效應——更多可驗證的數據支撐更強大的應用。另一方面,這些可驗證數據在應用間傳遞價值,將引發一個新的問題,如何對這些關鍵數據進行計算,並確保計算結果的正確性。

事實上,對鏈上敏感數據的計算通常借助於全同態加密 (FHE) 等更加復雜的密碼學技術。 Primus 通過對全同態加密算法結合零知識證明進行重新設計,提出了 zkFHE( 可驗證全同態加密 ) 協議,支持免信任的鏈上數據機密計算,正在將 zkTLS 這一橫跨不同賽博空間的數據驗證技術,進一步拓展到數據計算領域,爲解鎖更多的創新應用創造可能性。

免責說明:

本文由 Primus 團隊的 Xavier 撰寫,部分文字涉及利益相關,讀者可自行判斷。

查看原文
本頁面內容僅供參考,非招攬或要約,也不提供投資、稅務或法律諮詢。詳見聲明了解更多風險披露。
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)