
以太坊隱私面臨的後量子威脅
本文分析了為何在後量子時代,由於先收集後解密的威脅,隱私遷移比身份驗證遷移更具緊迫性,並探討了以太坊應用層隱私在技術實現上的具體差距。
# 以太坊隱私的後量子威脅
感謝 Alex, Andy, Keewoo, Miha, Moven, Nico, Oskar, Sora, Thore, Vitalik, Yanis 和 Zoey 對早期草案提供的反饋。本文在 AI 輔助下完成研究與撰寫。
## 內容提要 (TL;DR)
對於暴露在「現在收集,隨後解密」(harvest-now-decrypt-later)威脅下的長期機密性表面,隱私遷移比身份驗證遷移更具緊迫性——量子計算機在未來解密已收集的密文是無法阻止的,而簽名偽造至少可以透過硬分叉和密鑰遷移得到部分補救(儘管伴隨著顯著的歧義、歸因和回滾成本)。產業界面已廣泛部署了後量子(PQ)密鑰交換(如 Chrome、iMessage、AWS、Cloudflare);而 PQ 身份驗證仍處於早期階段,特別是在預設的公共網路 PKI 中。以太坊在某些層面繼承了 PQ 傳輸加密(例如透過 Go 1.24 實現 TLS 上的 HTTPS/JSON-RPC),但應用層隱私——即建立在 EVM 之上而非由操作碼或預編譯原生支持的加密協議,如隱身地址(stealth addresses)、zkID 和機密交易——則需要針對以太坊的專門工作。
| # | 問題 | 現狀 |
|—|---------|--------|
| 1 | PQ 隱身地址的可擴展性 | 活躍研究中;calldata 膨脹和 OMR 記憶體成本仍是挑戰 |
| 2 | 用於 zkTLS 的 MPC/2PC 內部 ML-KEM | 尚無能在實際超時限制內運行的協議 |
| 3 | 用於 zkID 導入的 NIST PQ 簽名算術化 | 與前量子 SNARKs 相比有 131 倍的差距 |
| 4 | 用於 zkID 導入的 PQ 憑證驗證成本 | 131 倍 SNARK 差距;EIP-8051 / 8052 (草案) 提議作為支持性基礎設施 |
| 5 | 向指定審計員提供 PQ 證明正確的加密 | 「檢測並標記」模式可能已足夠;協議強制模型尚未解決 |
## 引言
區塊鏈面臨的後量子威脅已得到廣泛認可,可分為兩類:真實性(Authenticity)和隱私(Privacy)。真實性是指數位簽名及其更廣泛形式——零知識證明的偽造。隱私是指鏈上和鏈下數據的機密性,以及用戶及其行為的匿名性和不可連結性。
目前已有大量精力投入到緩解真實性威脅中。2024 年 8 月,NIST 定案了首批三個 PQC 標準——ML-KEM (FIPS 203)、ML-DSA (FIPS 204) 和 SLH-DSA (FIPS 205)。到 2026 年初,以太坊基金會已將 PQ 安全性在協議路線圖中的地位提升,並開始組織專門的公開 PQ 工作流。
相比之下,隱私威脅具有獨特的緊迫性,這是因為「現在收集,隨後解密」(HNDL)策略——即今天捕獲加密數據並儲存起來,直到出現足夠強大的量子計算機能夠破解加密。在傳統網路中,攻擊者必須主動監聽流量才能收集密文,但區塊鏈是公開的、僅限附加的帳本:應用層加密數據——鏈上密文、隱身地址公告、加密筆記、查看密鑰(viewing keys)——已經永久地對所有人可見。這裡沒有攔截步驟;區塊鏈本身就是存檔。今天發布的任何與隱私相關的密文預設都是可收集的,並且在帳本的生命週期內一直處於暴露狀態。與真實性失效不同(真實性失效至少可以透過緊急協調得到部分補救,儘管伴隨著顯著的歧義和回滾成本),隱私洩漏是不可逆的——一旦密文被未來的量子對手解密,任何協議升級都無法重新加密它。業界已意識到這種不對稱性:Chrome、Apple iMessage (PQ3)、AWS 和 Cloudflare 已經部署了 PQ 密鑰交換,而預設公共網路 PKI 中的 PQ 身份驗證在很大程度上仍未部署——因為密鑰交換可以防禦 HNDL,而身份驗證只需要抵抗即時偽造(ethresear.ch PQ 任務清單, F5 Labs)。
## 以太坊免費獲得了什麼——以及沒有獲得什麼
並非所有的 PQ 隱私遷移都需要以太坊特定的研究。更廣泛行業的加密遷移已經覆蓋了一些傳輸層面:Geth 是用 Go 編寫的,而 Go 1.24 預設支持混合 PQ TLS (X25519MLKEM768)——Kubernetes v1.33 僅透過升級 Go 就自動獲得了 PQ 密鑰交換。HTTPS JSON-RPC 端點、瀏覽器到 dApp 的連接,以及任何透過 Go TLS 棧使用 TLS 1.3 的 libp2p 部署,都繼承了 PQ 加密傳輸,無需更改以太坊協議。(以太坊原生的 DevP2P/RLPx 棧運行在 TCP 而非 TLS 之上,因此不會自動受益;libp2p 還支持 Noise 作為安全通道選項,這也需要其自身的 PQ 升級。)
以太坊無法繼承的是應用層隱私——即建立在 EVM 之上而非由操作碼或預編譯原生支持的加密協議。鏈上密文、用於筆記發現的基於 ECDH 的密鑰衍生(查看密鑰)、基於 ECDH 的隱身地址生成、ZK 證明加密(在 ZK 電路內部證明密文是在給定公鑰下正確生成的,如合規的隱私轉帳中所用),以及訪問模式隱藏(防止觀察者了解用戶讀取或寫入了哪些鏈上記錄,例如掃描或花費了哪些筆記),這些都是區塊鏈特有的問題,在工業界沒有對應方案。本文的其餘部分將聚焦於這些差距。
## 匿名性與不可連結性
隱身地址、zkID 和 zkTLS 等技術為匿名性和不可連結性提供了良好的用戶體驗,足以滿足當今大多數用例。問題在於這在後量子時代是否依然成立。
### 隱身地址
隱身地址依賴於橢圓曲線 Diffie-Hellman 密鑰交換 (ECDHKE),這會被量子計算機破解。ECDHKE 可以在鏈下被 ML-KEM 取代,但 ML-KEM-768 密文大小為 1,088 字節——比壓縮的 ECDH 點大 33 倍。EIP-4844 的 blob 會在約 18 天後被修剪,因此將其用於隱身地址密文將要求接收者在該窗口期內檢索密文——這增加了一個當前隱身地址設計所沒有的活躍性(liveness)要求。
一個不增加 calldata 負擔的潛在解決方案是將不經意消息檢索(Oblivious Message Retrieval, OMR)作為鏈下側車(sidecar)。這引入了一個鏈上隱身地址所沒有的數據可用性信任假設:接收者依賴側車運營商來存儲和提供密文。如果運營商離線或扣留數據,接收者將無法掃描其筆記。ML-KEM 在結構上比 ECDH 更兼容 OMR。基於 Module-LWE 的隱身地址協議在掃描時間上比傳統的 ECPDKSAP 優化了約 66.8%,而混合型的「Efficient Curvy」協議實現了約 3 倍的掃描速度提升。OMR 本身也從最初的構造改進到了 PerfOMR(約 40 毫秒/消息,密鑰縮小 235 倍)和 HomeRun(運行速度提升 3,830 倍)。然而,OMR 的記憶體成本(約 20 GB+)對於輕量級基礎設施來說仍然不切實際。
### zkTLS
隨著 TLS 伺服器遷移到混合 PQ 密鑰交換 (X25519MLKEM768),zkTLS 必須跟進:用戶與公證人(Notary)之間的 MPC/2PC 必須共同執行握手中的 X25519 和 ML-KEM-768 部分,且不向任何一方洩露會話密鑰。目前的 zkTLS 協議(如 TLSNotary)運行在 TLS 1.2 上;TLS 1.3 支持(即 X25519MLKEM768 協商發生的版本)已在路線圖中但尚未發布。即使是 TLS 1.3 MPC/2PC 內部的經典 X25519 密鑰交換,目前也沒有生產級別的 zkTLS 實現——再加上 ML-KEM-768(其 NTT 多項式算術在通用 MPC 框架中非常昂貴),挑戰進一步加劇。具體的演示可能需要根據 ML-KEM 的代數結構協同設計 MPC,而不是使用通用框架。
### zkID
zkID 要求用戶在其設備上的 ZK 電路內部證明他們正確驗證了簽名,然後僅向驗證者提交證明而非憑證本身。全 PQ zkID 需要兩層後量子安全性:(1) 簽名方案本身必須是 PQ 安全的(這樣量子對手就無法偽造憑證),以及 (2) 生成 ZK 證明的證明系統也必須是 PQ 安全的(這樣量子對手就無法偽造證明)。實際部署的核心問題在於,在 PQ 證明系統內部對 PQ 簽名驗證進行算術化(arithmetization)的成本有多低。
基於哈希的方案(XMSS, Winternitz, SPHINCS+)完全由哈希評估構建。如果將內部哈希(SHA-256:約 25,000+ R1CS 約束)替換為 ZK 原生替代方案如 Poseidon(約 240 個約束——參見 ZKPlus 基準測試, Guo et al.),驗證電路將縮小約 100 倍。這是可行的,因為基於哈希的簽名對哈希函數是通用的——它們只需要抗碰撞性和抗原像性,而不需要特定的代數結構。簽名保持 PQ 安全,且在 ZK 中證明的成本變得很低。基於格(Lattice)的簽名(ML-DSA, FN-DSA)則缺乏這種特性:它們的 NTT 多項式算術在算術化時非常昂貴,這使得它們更適合透過預編譯(EIP-8051, EIP-8052)進行直接的鏈上驗證,而不是在 ZK 電路內部證明其正確性(即用戶在零知識下證明「我驗證了這個簽名」,而不洩露憑證)。
導出以太坊 ID
這是可處理的:生態系統可以設計以太坊原生的、內部使用 Poseidon 的基於哈希的 PQ 簽名,用戶在設備上的 STARK 中證明驗證。一個重要的警告:這是一個自定義的、以太坊特定的設計——不是標準化的 SLH-DSA(FIPS 205 僅指定了基於 SHAKE/SHA2 的參數集)。它無法與外部 PKI 互操作,也無法滿足強制要求 NIST 核准算法的合規框架。這種方法之所以引人注目,正是因為生態系統同時控制了簽名者和驗證者,但應將其理解為一種原生設計選擇,而非符合標準的選擇。
導入現實世界 ID
這很困難:發行者將使用標準化的 ML-DSA 或 SLH-DSA(配合 SHA-256/SHAKE),而不是 Poseidon。完整的驗證——包括 SHA-256/SHAKE 和(對於 ML-DSA)格 NTT——必須按原樣進行算術化。這裡存在更深層次的不匹配:現實世界的簽名方案通常針對快速簽名(伺服器簽署大量憑證)進行優化,代價是驗證成本較高(單個客戶端驗證),這與區塊鏈環境正好相反——在區塊鏈中,驗證發生在鏈上或 ZK 電路內部,必須非常廉價。這種設計上的不對稱是導入現實世界憑證本質上非常昂貴的結構性原因。Wu 等人提出的基於格的指定驗證者 zkSNARK 實現了約 16 KB 的證明(比 Aurora 小 10.3 倍),但仍比 Groth16 大 131 倍;請注意,指定驗證者設置意味著證明只能由持有私鑰的特定驗證者檢查,而不能在鏈上公開驗證——這是區塊鏈用例的額外限制。STARK 是最務實的 PQ 路徑(它們僅依賴抗碰撞哈希,不依賴格或配對假設),但生成的證明比 Groth16 等前量子 SNARK 大得多。剩餘差距:縮小 131 倍的 PQ/前量子 SNARK 差距;NIST PQ 簽名驗證的高效算術化;以及用於憑證驗證的生產級 PQ SNARK。
## 機密性
機密性——隱藏交易金額、餘額和合約狀態——是隱私導向的以太坊 L2 基礎設施(如 Aztec,其 Ignition 鏈於 2025 年 11 月啟動,儘管主網第一階段尚未執行用戶交易)和應用層工具(如 Railgun 和 Privacy Pools)的領域。狀態承諾(默克爾樹、筆記哈希)可以使用 PQ 安全的哈希(如 Poseidon)——漏洞在於加密層。這裡出現了兩個不同的子問題:
-
筆記發現與密鑰交換:像 Aztec 這樣的系統中的查看密鑰依賴於基於 EC 的密鑰衍生——發送者對接收者的公鑰進行加密,以便接收者可以識別發送給他們的筆記。ML-KEM 可以在此處取代 ECDHKE(同樣有 33 倍的密文膨脹,同樣的基於 OMR 的緩解路徑),但這種密鑰交換發生在 ZK 電路之外,不需要電路內證明。
-
向指定審計員/合規接收者提供證明正確的加密:為了在合規的隱私轉帳中進行選擇性披露,發送者直接對指定接收者的已知公鑰進行加密,並在 ZK 電路內部證明其正確性。接收者可以是監管機構、機構合規部門、DAO 國庫審計員或協議指定的任何一方。在前量子時代,ElGamal 可以廉價地完成這項工作(一次 EC 標量乘法,對 ZK 極其友好)。在後量子時代,發送者將使用基於格的 PKE(例如 Kyber.CPAPKE 或純 LWE Regev 加密)。對於大多數實際設計,發送者可以在電路之外執行格 PKE,衍生出一個對稱密鑰,並在電路內部使用海綿模式(sponge mode)的 Poseidon 證明對稱加密的正確性(每次置換約 240 個約束,PQ 安全,Aztec 已將其用於筆記加密)。如果發送者作弊(加密到一個虛假密鑰),審計員將得到垃圾數據並標記該交易——這是一種「檢測並標記」模型。一個更強的模型——即協議保證指定接收者能夠解密——將需要在 ZK 電路內部證明格 PKE 的正確性,由於域不匹配(格算術模數 q = 3,329 與證明系統域如 BN254 之間),這仍然非常昂貴,儘管比完整的 ML-KEM 簡單。較弱的「檢測並標記」模型是否足夠,既是一個密碼學問題,也是一個開放的政策問題。
## 客戶端證明作為依賴項
zkID 和機密性都要求用戶在自己的設備上生成 ZK 證明——委託給伺服器會洩露證明本應保護的私密輸入。雖然 GPU 加速有利於所有證明後端,但 PQ 證明系統將因兩個原因獲得不成比例的收益:(1) 目前的 CPU 性能使得 PQ 證明生成在客戶端使用上不可行,這使得對 GPU 加速的依賴比前量子系統更強;(2) PQ 原語——基於小域上的 NTT 多項式算術——比基於群的橢圓曲線操作更自然地契合 GPU 架構,後者由於順序進位鏈依賴而面臨理論加速上限。NTT 是 STARK 證明和格運算的共享原語,小域 PQ 方案(M31, q = 3,329)在行動端 GPU 上可達到 100+ Gops/s,而 BN254 則低於 1 Gops/s——因此原始吞吐量是足夠的。
GPU 加速同時適用於以太坊原生 ID 路徑(在 STARK 中證明的 Poseidon 內部哈希簽名)和現實世界 ID 導入路徑(在 SNARK 中證明的 NIST PQ 簽名驗證)。但以太坊原生路徑為客戶端隱私提供了一條明顯更容易的途徑:透過控制簽名方案,生態系統從一開始就可以選擇既 PQ 安全又對 GPU 友好的原語,而不是對外部強加的算法進行算術化。因此,優先考慮以太坊 ID 設計空間也是一種務實的客戶端證明策略。
客戶端 GPU 證明是一個更廣泛的以太坊基礎設施挑戰(有利於抗審查性、有效性證明等),並非僅針對後量子隱私。我們在此將其列為一項依賴:PQ 隱私離不開它,但 GPU ZK 生態系統及其 PQ 路線圖最好作為通用的證明基礎設施工作來處理。
## 近期路線圖建議
上述問題處於不同的成熟度水平。有些已有已知的 PQ 替代方案,可以進入實施階段;有些則仍是開放性研究。一個有用的路線圖應區分哪些可以交付,哪些需要突破——並避免在等待期間積累新的風險。
設計原則:不增加新的經典隱私債務。 機密性債務是不可逆的——不像真實性債務可以透過密鑰輪換或緊急分叉得到部分補救。每一個存儲長期 ECDH 衍生密文的新隱私協議都會永久延長 HNDL 的暴露窗口。新設計應為任何持續時間超過單個會話的機密性表面預設使用 PQ 密鑰交換,除非 PQ 替代方案尚不切實際,並需對此類例外情況進行明確且有記錄的說明。
- 量化隱私誘捕器(Honeypot)。 量子誘捕器是指足夠強大的量子計算機在出現時所能解鎖的總可提取價值。真實性誘捕器——即持有量子脆弱密鑰的帳戶中的總價值——雖然巨大但有界:社群可以協調緊急硬分叉來凍結暴露的帳戶並遷移到 PQ 簽名。
隱私誘捕器在結構上則完全不同,也是本文的重點。它是自創世以來鏈上累積的加密數據,隨每個區塊增長。任何分叉都無法重新加密過去的密文。每一類暴露都會獨立累積:
-
隱私交易和加密筆記: 量子對手可以追溯解密曾提交到隱私池的每一筆餘額、轉帳金額和合約狀態——獲取每個參與者的完整財務歷史。
-
隱身地址連結性: 基於 ECDH 衍生的隱身地址變得可追溯到接收者,導致隱身方案旨在提供的不可連結性崩潰。
-
選擇性披露的憑證: 旨在提供給指定審計員的合規保護披露,將變得對任何擁有量子計算機的人可讀——向非預期方洩露 KYC 數據、機構頭寸和身份關聯。
-
查看密鑰和筆記發現: 用於筆記掃描的基於 EC 的密鑰衍生會洩露哪些筆記屬於哪些接收者,即使金額仍隱藏在對稱加密之後,也能去匿名化整個交易圖譜。
其社會影響與盜竊截然不同:政治捐贈者的追溯去匿名化、個人和機構財務隱私的瓦解、合規關係的暴露。真實性誘捕器可以被清空然後停止。隱私誘捕器只能防止其進一步增長——每個區塊都在增加不可逆的暴露。
交付物: 一份量化的、定期更新的隱私誘捕器估算——包括面臨風險的數據類別、每類數據的增長率以及補救時間表——為治理提供遷移緊迫性的具體依據。對真實性誘捕器(風險價值、分叉準備情況)的類似估算是有用的背景,但目前已被較好地理解。
- 建立機密性表面註冊表。 列舉每一個密文或密鑰材料壽命超過單個會話的隱私表面:隱身公告、查看密鑰、加密筆記、應用層密文、憑證導入、選擇性披露流程。為每一項標記存儲壽命、密碼學假設和 PQ 替代方案的可用性。產出是一個結構化的註冊表,供團隊查詢以確定遷移優先級——而非敘述性的威脅模型。
為了保持註冊表的及時性,引入或依賴機密性表面的新 EIP 和協議規範應包含一個PQ 威脅模型章節——類似於現有的「安全性考慮」要求——識別量子脆弱的假設、受 HNDL 威脅的數據以及遷移路徑。這將 PQ 準備工作從事後審計轉變為常設的設計約束。
- 為可處理的表面發布參考庫和基準測試。 有兩個層面已有已知的 PQ 原語,現在即可進入實施:
-
ML-KEM 筆記發現: 密文生成與掃描、錢包/索引器接口、OMR 檢索側車。
-
以太坊原生 zkID: 內部使用 Poseidon 的基於哈希的 PQ 簽名,配合 STARK 驗證電路,並針對客戶端證明時間和證明大小進行基準測試。
目標是建立共同的基準,而非立即達到生產就緒——理想情況下,應針對至少一個隱私導向的 L2 或應用棧進行端到端驗證,以發現基準測試本身可能遺漏的集成問題。
- 將開放性問題列為非阻塞研究軌道。 三個領域雖然重要但尚未解決:PQ 兼容的 zkTLS(基於 ML-KEM 握手的 MPC/2PC)、現實世界 zkID 導入(NIST PQ 簽名驗證的算術化),以及協議強制的、證明正確的向指定審計員加密。在實際約束下,目前尚無針對這些問題的具體協議。應對這些領域進行資助和跟蹤,但不應阻礙註冊表、參考庫或上述設計原則的進展。
歡迎提供反饋——特別是關於隱私誘捕器框架、可行性評估,以及我們可能遺漏的任何 PQ 隱私表面。