加密行業一直擁有改變世界的思想影響力、人才和資金,但往往缺乏實現這一目標的手段。迄今為止,大多數現實世界中的加密成功案例都是依賴於 Web2 巨頭的支持。我們只能寄希望於 Visa 和 Mastercard 繼續支持加密支付卡;Coinbase、PayPal 和 Stripe 繼續讓傳統支付系統與區塊鏈兼容;BlackRock 繼續代幣化國債;Walmart 繼續銷售 Pudgy Penguins。
如今,我們擁有了一種強大的新工具,使加密構建者有動力推動變革。無能與限制主導著傳統市場,而加密行業比以往任何時候都更有能力提供替代方案。
本文摘自 Delphi Digital 於 2024 年 9 月 27 日發佈的報告 The Inefficient Market Hypothesis。
以下是 zkTLS 工作原理的高級概述。
傳輸層安全性協議(Transport Layer Security,縮寫作 TLS)是一種用於加密客戶端與服務器之間通信的協議。TLS 構成了 HTTPS 中的“S”(HTTPS = HTTP + TLS),已成為 Web 的標準,保護著 95% 的網絡流量。
TLS 是一個受信任的中心化權威機構,負責頒發會話密鑰。當用戶訪問網站時,瀏覽器與目標服務器會進行 TLS 握手過程,以生成會話密鑰,並隨後使用對稱加密進行數據傳輸。由於客戶端與服務器之間交換的數據未經過簽名,因此無法在其他地方證明其真實性。
TLS 保證:
zkTLS 通過在 HTTPS 會話期間驗證客戶端和服務器之間的交互記錄,並將任意的隱私保護證明帶入鏈上,從而解決了可移植性問題。重要的是,這通常不會被服務器檢測到,也無法通過防火牆攔截。藉助 zkTLS,整個互聯網的數據庫成為了區塊鏈應用的可組合構建模塊,而 Web2 幾乎無能為力。
zkTLS 主要有三種實現方式:MPC、Proxy 和 TEE。
多方計算(Multi-Party Computation,縮寫作 MPC)允許多個參與方在不洩露各自私有輸入的情況下共同執行計算。MPC 具有較強的安全保證,但計算開銷較大,並存在合謀問題。
Deco 在 2019 年的論文中首次提出了基於 MPC 的 TLS 解決方案。Deco 採用惡意安全的兩方計算(Two-Party Computation,縮寫作 2PC)方法,但計算成本極高。例如,認證一個 2KB 負載需要 475MB 的通信量,並且耗時 50 秒。該方案極易因超時而失敗,且從未成功落地實施。Deco 被 Chainlink 收購,並與 Teller 共同開發了一個概念驗證(PoC)。
TLSNotary 在 Deco 的基礎上進行了改進,採用了基於混淆電路(Garbled Circuits)和不經意傳輸(Oblivious Transfers)的 2PC 實現。混淆電路是 MPC 中最簡單、最易實現的一種方式。
TLSNotary 通過“公證”客戶端與服務器之間的交互記錄來證明其真實性。證明者(Prover)和驗證者(Verifier)在 TLS 握手過程中共同計算密鑰的加密/解密。在整個過程中,只有證明者與服務器進行通信,而驗證者僅能看到加密數據。證明者無法偽造輸入或響應。在流程結束時,證明者可以在向驗證者展示交互記錄之前對部分信息進行編輯(例如,證明者可以向驗證者展示自己居住在 XYZ 司法管轄區,但隱藏具體的經緯度)。
驗證者可以直接參與過程並充當公證人(Notary),或者驗證角色可以外包,以實現通用化和可移植的證明。這引入了一種信任假設,即驗證者必須信任公證人不會與證明者串通並生成虛假證明。為降低此風險,驗證者可以要求來自多個公證人的證明,或者自行定義可信的公證人。然而,這些解決方案各有缺陷,合謀仍然是 MPC 相關的主要問題。TLSNotary 的演示可在此處查看。
TLSNotary 允許數據在保證隱私的前提下實現可移植性,並且不依賴服務器的配合。TLSNotary 通過混淆電路(Garbled Circuits)和密鑰分片(Key Sharding)技術實現經過認證數據的選擇性披露,但並未使用零知識證明(ZKP)。目前,有多個新興項目正在基於 TLSNotary 框架開發,引入零知識技術,並提升其集成的便捷性。
Pluto Labs 是一個開源的零知識(ZK)實現版本的 TLSNotary。Pluto 正在將 TLSNotary 產品化,使開發者僅需 5 行代碼即可將任何鏈下數據集成到智能合約中。關於信任假設的詳細概述可在此處查看。
Primus Labs 在 Deco 的基礎上進行了改進,採用“先混淆再證明”(garble-then-prove)技術,而非惡意安全的兩方計算(2PC)。實現了 14 倍的通信優化,並將運行時間最多提升至 15.5 倍。該方案已成功應用於 Coinbase 和 Twitter 等現實世界的 API。此外,Primus 還在開發一種 zkFHE 解決方案,該方案未來可支持更復雜的數據結構。Primus 採用瀏覽器擴展,並即將推出 iOS 和 Android 應用。
Opacity 通過建立健全的框架來解決合謀問題,從而區別於其他方案。為防止合謀,Opacity 採用 EigenLayer AVS 機制來提供經濟安全性,併疊加額外的安全措施,包括:
Opacity 通過將每個錢包映射到一個 Web2 賬戶 ID,限制用戶利用多個錢包進行合謀嘗試。此外,強制用戶在公證節點選定前提交聲明,使得合謀用戶無法在匹配失敗後改變立場。可驗證的嘗試記錄增加了用戶責任,例如,如果某用戶(0x54..)宣稱自己銀行賬戶中有 1000 萬美元,但多次嘗試失敗,其證明將顯得可疑。最後,Opacity 要求公證軟件在可信執行環境(TEE)中運行,除非 TEE 本身被攻破,否則可以完全防止合謀。此外,Opacity 的安全性並不完全依賴 TEE。
在 Opacity 框架下,要偽造一個證明,需要滿足多個條件:
驗證者可以要求連續多次生成證明,從而以指數級降低第 4 條發生的概率。此外,任何惡意行為都面臨被削減(slashing)懲罰。
女巫抵抗機制可能是 Opacity 方案中最薄弱的環節。Opacity 目前可以防止單個 Web2 賬戶綁定多個錢包,但無法阻止同一用戶創建多個 Web2 賬戶。因此,Opacity 依賴於特定的 Web2 平臺來增強女巫抵抗能力。一些平臺比其他平臺更可靠,例如,Rippling HR 提供的身份驗證比 X(Twitter)賬戶更具可信度。未來,Opacity 可以引入多個 Web2 賬戶作為額外的安全保障。
Opacity 正在將自己定位為 zkTLS 的最佳實踐實現,致力於去中心化和減少信任假設。其解決 MPC 開銷問題的能力將成為未來成功的關鍵因素。
未來仍有多種方法可以進一步優化 MPC 性能。例如,向量不經意線性評估(Vector Oblivious Linear Evaluation, VOLE)可以實現高效的 N 選 1 不經意傳輸(Oblivious Transfer),在每輪通信中取得更大進展。這可能將網絡開銷降低 100 倍,使得 1 秒級的 MPC-TLS 證明成為可能。
HTTPS 代理(Proxy)是客戶端與服務器之間的中間節點,它們轉發加密流量,並僅在驗證用戶憑據時進行解密。代理可以提升安全性、性能和隱私性,在企業環境中十分常見,用於監控或限制員工的網絡流量。
代理同樣可以用於 zkTLS。在該模型中,代理見證人(Proxy Witness)被插入到客戶端與服務器之間,以證明通信的合法性。代理模型速度快、成本低、實現簡單,並且能夠處理大量數據。然而,該方法可能面臨審查、合謀以及去中心化方面的問題。此外,服務器可以檢測到代理的存在,因此這一方法可能會在大規模應用時被屏蔽。
Reclaim Protocol 是代理模型的先驅,並且在所有 zkTLS 項目中進展最為領先。Reclaim 支持幾乎所有區塊鏈,並擁有 889 個社區構建的數據源。多個項目正在基於 Reclaim 進行開發,包括 zkP2P 的票務市場。
Reclaim 可以在 2–4 秒內從用戶的移動設備生成證明,無需用戶下載應用或瀏覽器擴展。Reclaim 採用住宅代理(Residential Proxies)來繞過 Web2 的防火牆問題。
相比 MPC-TLS,Reclaim 的代理模型更為簡單,因此在速度上具備顯著優勢。許多針對代理的安全性擔憂已在學術研究論文 Proxying is Enough 以及 Reclaim 的博客中得到解答。研究表明,突破 Reclaim 安全性的概率為 10−4010^{-40}10−40。
zkPass 採用混合模型。最初,它是基於 MPC 的解決方案,但在實際應用中已轉向代理見證模型,並將 MPC 作為備選方案。zkPass 現已上線 Base、BNB、Scroll、Linea、Arbitrum、zkSync、OP、X Layer。zkPass 使用其原生的 TransGate Chrome 擴展,並已集成來自 70 多個數據源的 200 多種數據結構。
zkPass 似乎專注於身份驗證和女巫攻擊抵抗(Sybil Resistance)。目前正在進行激勵計劃,用戶可以完成挑戰任務並賺取 ZKP 積分。zkPass 可能會成為首個推出可流通代幣的 zkTLS 項目。
zkPass 演示
可信執行環境(Trusted Execution Environments,縮寫作 TEE)是處理器中的防篡改加密區(Enclave)。這些加密區能夠存儲敏感數據,並在隔離於 CPU 其餘部分的環境中進行計算。TEE 具備硬件和軟件層面的隔離,使用獨立的專屬內存和計算資源。
目前,最知名的 TEE 解決方案是 Intel SGX。然而,TEE 過去曾多次被攻破,並且容易受到側信道攻擊(Side-Channel Attacks)。更多關於 TEE 的信息可參考我們的 EthCC 報告。
Clique 正在基於 TEE 構建 zkTLS。這種方法的計算和網絡開銷極低,效率極高,解決了許多現有問題,但引入了對可信硬件的依賴。其本質上是將信任從公證人(Notary)轉移到了芯片製造商。TEE 在這一模型中承擔了所有的安全保障責任。
需要注意的是,zkTLS 只是一個通俗術語。不同 zkTLS 方法對零知識(ZK)的應用程度不同,且不像 zkEmail 等其他零知識技術那樣提供一致的安全保證。從技術分類上看,zkTLS 更準確的劃分方式可能是:
未來的 zkTLS 討論將主要圍繞性能與安全性的權衡展開。
目前,Reclaim 和 Opacity 在 zkTLS 領域發展勢頭強勁,並主導了當前的討論。隨著 zkTLS 生態的不斷髮展,MPC 和 Proxy 方案的性能 vs. 安全性取捨問題將持續成為討論的核心。
zkTLS 是一個新興的概念,並且毫不誇張地說,它將改變一切。然而,仍然有許多懸而未決的問題:zkTLS 提供商是否會被商品化?價值捕獲是否會最終流向應用層?偽造證明的可提取價值是多少?這些因素將如何影響關於安全性與性能權衡的討論?
可以確定的是,zkTLS 極大拓展了去中心化應用的設計空間,併為我們提供了一種全新的構建思維方式。眾多創新想法正在湧現,其中一些已經進入開發階段,包括:
zkTLS 正在削弱依賴數據壟斷的 Web2 傳統巨頭,今天所有低效的市場都為加密行業滲透並改善社會提供了機會。
Mời người khác bỏ phiếu
加密行業一直擁有改變世界的思想影響力、人才和資金,但往往缺乏實現這一目標的手段。迄今為止,大多數現實世界中的加密成功案例都是依賴於 Web2 巨頭的支持。我們只能寄希望於 Visa 和 Mastercard 繼續支持加密支付卡;Coinbase、PayPal 和 Stripe 繼續讓傳統支付系統與區塊鏈兼容;BlackRock 繼續代幣化國債;Walmart 繼續銷售 Pudgy Penguins。
如今,我們擁有了一種強大的新工具,使加密構建者有動力推動變革。無能與限制主導著傳統市場,而加密行業比以往任何時候都更有能力提供替代方案。
本文摘自 Delphi Digital 於 2024 年 9 月 27 日發佈的報告 The Inefficient Market Hypothesis。
以下是 zkTLS 工作原理的高級概述。
傳輸層安全性協議(Transport Layer Security,縮寫作 TLS)是一種用於加密客戶端與服務器之間通信的協議。TLS 構成了 HTTPS 中的“S”(HTTPS = HTTP + TLS),已成為 Web 的標準,保護著 95% 的網絡流量。
TLS 是一個受信任的中心化權威機構,負責頒發會話密鑰。當用戶訪問網站時,瀏覽器與目標服務器會進行 TLS 握手過程,以生成會話密鑰,並隨後使用對稱加密進行數據傳輸。由於客戶端與服務器之間交換的數據未經過簽名,因此無法在其他地方證明其真實性。
TLS 保證:
zkTLS 通過在 HTTPS 會話期間驗證客戶端和服務器之間的交互記錄,並將任意的隱私保護證明帶入鏈上,從而解決了可移植性問題。重要的是,這通常不會被服務器檢測到,也無法通過防火牆攔截。藉助 zkTLS,整個互聯網的數據庫成為了區塊鏈應用的可組合構建模塊,而 Web2 幾乎無能為力。
zkTLS 主要有三種實現方式:MPC、Proxy 和 TEE。
多方計算(Multi-Party Computation,縮寫作 MPC)允許多個參與方在不洩露各自私有輸入的情況下共同執行計算。MPC 具有較強的安全保證,但計算開銷較大,並存在合謀問題。
Deco 在 2019 年的論文中首次提出了基於 MPC 的 TLS 解決方案。Deco 採用惡意安全的兩方計算(Two-Party Computation,縮寫作 2PC)方法,但計算成本極高。例如,認證一個 2KB 負載需要 475MB 的通信量,並且耗時 50 秒。該方案極易因超時而失敗,且從未成功落地實施。Deco 被 Chainlink 收購,並與 Teller 共同開發了一個概念驗證(PoC)。
TLSNotary 在 Deco 的基礎上進行了改進,採用了基於混淆電路(Garbled Circuits)和不經意傳輸(Oblivious Transfers)的 2PC 實現。混淆電路是 MPC 中最簡單、最易實現的一種方式。
TLSNotary 通過“公證”客戶端與服務器之間的交互記錄來證明其真實性。證明者(Prover)和驗證者(Verifier)在 TLS 握手過程中共同計算密鑰的加密/解密。在整個過程中,只有證明者與服務器進行通信,而驗證者僅能看到加密數據。證明者無法偽造輸入或響應。在流程結束時,證明者可以在向驗證者展示交互記錄之前對部分信息進行編輯(例如,證明者可以向驗證者展示自己居住在 XYZ 司法管轄區,但隱藏具體的經緯度)。
驗證者可以直接參與過程並充當公證人(Notary),或者驗證角色可以外包,以實現通用化和可移植的證明。這引入了一種信任假設,即驗證者必須信任公證人不會與證明者串通並生成虛假證明。為降低此風險,驗證者可以要求來自多個公證人的證明,或者自行定義可信的公證人。然而,這些解決方案各有缺陷,合謀仍然是 MPC 相關的主要問題。TLSNotary 的演示可在此處查看。
TLSNotary 允許數據在保證隱私的前提下實現可移植性,並且不依賴服務器的配合。TLSNotary 通過混淆電路(Garbled Circuits)和密鑰分片(Key Sharding)技術實現經過認證數據的選擇性披露,但並未使用零知識證明(ZKP)。目前,有多個新興項目正在基於 TLSNotary 框架開發,引入零知識技術,並提升其集成的便捷性。
Pluto Labs 是一個開源的零知識(ZK)實現版本的 TLSNotary。Pluto 正在將 TLSNotary 產品化,使開發者僅需 5 行代碼即可將任何鏈下數據集成到智能合約中。關於信任假設的詳細概述可在此處查看。
Primus Labs 在 Deco 的基礎上進行了改進,採用“先混淆再證明”(garble-then-prove)技術,而非惡意安全的兩方計算(2PC)。實現了 14 倍的通信優化,並將運行時間最多提升至 15.5 倍。該方案已成功應用於 Coinbase 和 Twitter 等現實世界的 API。此外,Primus 還在開發一種 zkFHE 解決方案,該方案未來可支持更復雜的數據結構。Primus 採用瀏覽器擴展,並即將推出 iOS 和 Android 應用。
Opacity 通過建立健全的框架來解決合謀問題,從而區別於其他方案。為防止合謀,Opacity 採用 EigenLayer AVS 機制來提供經濟安全性,併疊加額外的安全措施,包括:
Opacity 通過將每個錢包映射到一個 Web2 賬戶 ID,限制用戶利用多個錢包進行合謀嘗試。此外,強制用戶在公證節點選定前提交聲明,使得合謀用戶無法在匹配失敗後改變立場。可驗證的嘗試記錄增加了用戶責任,例如,如果某用戶(0x54..)宣稱自己銀行賬戶中有 1000 萬美元,但多次嘗試失敗,其證明將顯得可疑。最後,Opacity 要求公證軟件在可信執行環境(TEE)中運行,除非 TEE 本身被攻破,否則可以完全防止合謀。此外,Opacity 的安全性並不完全依賴 TEE。
在 Opacity 框架下,要偽造一個證明,需要滿足多個條件:
驗證者可以要求連續多次生成證明,從而以指數級降低第 4 條發生的概率。此外,任何惡意行為都面臨被削減(slashing)懲罰。
女巫抵抗機制可能是 Opacity 方案中最薄弱的環節。Opacity 目前可以防止單個 Web2 賬戶綁定多個錢包,但無法阻止同一用戶創建多個 Web2 賬戶。因此,Opacity 依賴於特定的 Web2 平臺來增強女巫抵抗能力。一些平臺比其他平臺更可靠,例如,Rippling HR 提供的身份驗證比 X(Twitter)賬戶更具可信度。未來,Opacity 可以引入多個 Web2 賬戶作為額外的安全保障。
Opacity 正在將自己定位為 zkTLS 的最佳實踐實現,致力於去中心化和減少信任假設。其解決 MPC 開銷問題的能力將成為未來成功的關鍵因素。
未來仍有多種方法可以進一步優化 MPC 性能。例如,向量不經意線性評估(Vector Oblivious Linear Evaluation, VOLE)可以實現高效的 N 選 1 不經意傳輸(Oblivious Transfer),在每輪通信中取得更大進展。這可能將網絡開銷降低 100 倍,使得 1 秒級的 MPC-TLS 證明成為可能。
HTTPS 代理(Proxy)是客戶端與服務器之間的中間節點,它們轉發加密流量,並僅在驗證用戶憑據時進行解密。代理可以提升安全性、性能和隱私性,在企業環境中十分常見,用於監控或限制員工的網絡流量。
代理同樣可以用於 zkTLS。在該模型中,代理見證人(Proxy Witness)被插入到客戶端與服務器之間,以證明通信的合法性。代理模型速度快、成本低、實現簡單,並且能夠處理大量數據。然而,該方法可能面臨審查、合謀以及去中心化方面的問題。此外,服務器可以檢測到代理的存在,因此這一方法可能會在大規模應用時被屏蔽。
Reclaim Protocol 是代理模型的先驅,並且在所有 zkTLS 項目中進展最為領先。Reclaim 支持幾乎所有區塊鏈,並擁有 889 個社區構建的數據源。多個項目正在基於 Reclaim 進行開發,包括 zkP2P 的票務市場。
Reclaim 可以在 2–4 秒內從用戶的移動設備生成證明,無需用戶下載應用或瀏覽器擴展。Reclaim 採用住宅代理(Residential Proxies)來繞過 Web2 的防火牆問題。
相比 MPC-TLS,Reclaim 的代理模型更為簡單,因此在速度上具備顯著優勢。許多針對代理的安全性擔憂已在學術研究論文 Proxying is Enough 以及 Reclaim 的博客中得到解答。研究表明,突破 Reclaim 安全性的概率為 10−4010^{-40}10−40。
zkPass 採用混合模型。最初,它是基於 MPC 的解決方案,但在實際應用中已轉向代理見證模型,並將 MPC 作為備選方案。zkPass 現已上線 Base、BNB、Scroll、Linea、Arbitrum、zkSync、OP、X Layer。zkPass 使用其原生的 TransGate Chrome 擴展,並已集成來自 70 多個數據源的 200 多種數據結構。
zkPass 似乎專注於身份驗證和女巫攻擊抵抗(Sybil Resistance)。目前正在進行激勵計劃,用戶可以完成挑戰任務並賺取 ZKP 積分。zkPass 可能會成為首個推出可流通代幣的 zkTLS 項目。
zkPass 演示
可信執行環境(Trusted Execution Environments,縮寫作 TEE)是處理器中的防篡改加密區(Enclave)。這些加密區能夠存儲敏感數據,並在隔離於 CPU 其餘部分的環境中進行計算。TEE 具備硬件和軟件層面的隔離,使用獨立的專屬內存和計算資源。
目前,最知名的 TEE 解決方案是 Intel SGX。然而,TEE 過去曾多次被攻破,並且容易受到側信道攻擊(Side-Channel Attacks)。更多關於 TEE 的信息可參考我們的 EthCC 報告。
Clique 正在基於 TEE 構建 zkTLS。這種方法的計算和網絡開銷極低,效率極高,解決了許多現有問題,但引入了對可信硬件的依賴。其本質上是將信任從公證人(Notary)轉移到了芯片製造商。TEE 在這一模型中承擔了所有的安全保障責任。
需要注意的是,zkTLS 只是一個通俗術語。不同 zkTLS 方法對零知識(ZK)的應用程度不同,且不像 zkEmail 等其他零知識技術那樣提供一致的安全保證。從技術分類上看,zkTLS 更準確的劃分方式可能是:
未來的 zkTLS 討論將主要圍繞性能與安全性的權衡展開。
目前,Reclaim 和 Opacity 在 zkTLS 領域發展勢頭強勁,並主導了當前的討論。隨著 zkTLS 生態的不斷髮展,MPC 和 Proxy 方案的性能 vs. 安全性取捨問題將持續成為討論的核心。
zkTLS 是一個新興的概念,並且毫不誇張地說,它將改變一切。然而,仍然有許多懸而未決的問題:zkTLS 提供商是否會被商品化?價值捕獲是否會最終流向應用層?偽造證明的可提取價值是多少?這些因素將如何影響關於安全性與性能權衡的討論?
可以確定的是,zkTLS 極大拓展了去中心化應用的設計空間,併為我們提供了一種全新的構建思維方式。眾多創新想法正在湧現,其中一些已經進入開發階段,包括:
zkTLS 正在削弱依賴數據壟斷的 Web2 傳統巨頭,今天所有低效的市場都為加密行業滲透並改善社會提供了機會。