Anthropic 開源 FlashProve:一套用 zkSNARK 為 LLM 推論產生密碼學證明的原型。使用者不必拿到模型權重,就能驗證某段回覆真的出自「廠商承諾的那一組權重」。實測 400B 的 Llama 4 Maverick 可達每秒 110 token,代價是原生推論的 72~94 倍算力。
為什麼「看輸出品質」不算驗證
今天呼叫一個模型,你其實無法確認回覆是誰寫的。三種情境會出事:
| 情境 | 表面上發生什麼 | 實際上可能發生什麼 |
|---|---|---|
| 第三方路由服務 | 你付的是 A 模型的錢 | 廠商偷偷換成便宜的 B 模型,答案還算通順 |
| 獨立評測機構 | 拿到的是「送測版」 | 評測時開強模型、上線時降規格 |
| 推論伺服器被入侵 | 回覆照樣出現 | 攻擊者改寫 token 串、夾帶惡意內容,混在真回覆裡 |
Anthropic 在貼文裡的比喻很直白:跟朋友見面,你可以看長相、聽聲音、握手;跟 AI 對話,你幾乎沒有任何方式確認對面是誰。單看輸出品質沒有用,因為「好答案」跟「對的模型」是兩件事。
這條線的研究在學界叫 zkML(zero-knowledge machine learning),做了快十年。早期只能證明兩層卷積網路跑 MNIST,後來一路推進到 13B、8B 模型,但速度常常是「每 token 幾十秒到幾小時」,離實用很遠。
FlashProve 怎麼運作:先承諾,再逐批證明
整個系統只有兩個角色——模型提供方(prover)與使用者(verifier),分成兩個階段:
- 離線階段:提供方對權重發布一個「承諾」(commitment),本質是一串短的指紋,把「某一組確切的權重」釘死,但權重本身不會外流。
- 線上階段:針對每一批請求,prover 產生一份證明檔,內容是「被承諾的模型,在這段 prompt 上會產出這些 token」。
任何人只要有承諾、prompt、回覆這三樣東西,不需要權重、不需要大算力,就能檢查證明是否成立。
一份合格的證明要同時滿足四個性質:
| 性質 | 意思 | 為什麼重要 |
|---|---|---|
| 完備性(completeness) | 誠實的證明一定被接受 | 正常營運不會誤殺 |
| 健全性(soundness) | 假證明無法被接受 | 驗證者不必信任提供方 |
| 零知識(zero-knowledge) | 證明不洩漏權重、中間值、哪幾個 expert 被啟動 | 商業模型才敢用 |
| 精簡(succinctness) | 400B 模型的推論,驗證只要一份 19 MB 檔案 | 一般 CPU 就夠 |
最後一項是關鍵。驗證端下載約 6.5 MB 的承諾,之後每份請求收一份約 18.78 MB 的證明,用 24 執行緒的 CPU 花 17 秒驗完(單執行緒 21 秒)——完全不需要 GPU。
實測數字:快到什麼程度、貴到什麼程度
Anthropic 用 Meta 的 Llama 4 Maverick(400B MoE,每個 token 實際啟動約 17B 參數)的公開 4-bit 版本做量測:
| 項目 | 實測數字 | 硬體 |
|---|---|---|
| 離線承諾(每模型一次) | 約 39 分鐘 | 1× H100 + 24 核 |
| 承諾可用次數 | 約 1,600 萬次請求,之後需重新承諾 | — |
| 線上證明(24 請求批次) | 223 秒 ≈ 110 token/秒 | 1× H100 |
| 每份證明大小 | 18.78 MB(每 1,024 token 窗口) | — |
| 驗證一份證明 | 17 秒(24 執行緒)/21 秒(單執行緒) | 純 CPU |
| 相對 vLLM(FP8、8×H100) | 每 GPU 約 72 倍(66~77 倍)算力;最高負載時約 94 倍 | — |
對照兩年前的公開系統,進步幅度相當誇張:
| 系統(年份) | 模型規模 | 速度 | 證明大小 |
|---|---|---|---|
| zkLLM(2024) | LLaMA-2 13B | 約 2.5 token/s(單張 A100,批次) | — |
| VerInf | Llama 4 Maverick(同一個 400B 模型) | 1,000 token 要 14.3 小時(DGX Spark) | 93.6 GB,驗證近一天 |
| Attestable(商業,2026) | Gemma 4 31B(dense) | 53~77 token/s | 未開源 |
| FlashProve | Llama 4 Maverick 400B | 110 token/s | 18.78 MB,驗證 17 秒 |
同一個 400B 模型,從「1000 個 token 要 14 小時、證明 93 GB」變成「每秒 110 token、證明 19 MB」,這是這次發表最實質的進展。不過 72~94 倍的算力成本仍意味著:這件事今天只能事後抽樣驗證,不可能塞進每一次即時對話。
Anthropic 的工程取捨也寫得很清楚:prover 的工作量只跟「實際啟動的 expert」成正比(400B 裡約 17B);請求是批次事後證明(post-hoc),不是邊推論邊證明;權重切段串流,單張 80 GB GPU 加約 290 GB 主機記憶體就能跑。
四個應用場景,兩個比技術更難
Anthropic 自己列了四個用途:
- 算力節奏(pacing):監管方要求廠商把硬體用於推論而非偷偷訓練新模型時,可要求交出證明。注意貼文自己也承認:這只能證明「硬體在跑推論」,不能證明它沒在旁邊偷訓練。
- 竄改偵測:伺服器被入侵、或模型自我複製後偽裝成較弱模型躲避監控時,沒有對應權重的證明就過不了關。
- 文本溯源(text provenance):開發者宣稱「這段程式碼被前沿資安模型掃過」、公司宣稱「商業計畫經過某模型審核」時,對方可以要求證明,而不是只拿到一份可能造假或降規格跑出來的對話紀錄。
- 模型核准:監管方要求只准上線已核准模型時,證明綁定權重,換模型就驗不過。
技術以外最難的是治理:這些機制的價值取決於「有多少廠商願意發布承諾」。目前 FlashProve 只是研究原型,Anthropic 明確表示沒有在自家或其他實驗室部署的計畫。
密碼學程式碼不可信,所以用 Lean 寫證明
密碼學實作以脆弱出名,錯一個位元就等於沒有安全性。Anthropic 的做法是把協議與三個目標性質(完備、健全、零知識)用 Lean 定理證明器形式化,並附上可互動檢視的定理視覺化頁面,讓人可以確認「這條定理寫的到底是不是作者要的意思」。
他們也很誠實地標出形式驗證留下的兩個缺口:定理敘述本身要靠人工審查是否符合作者意圖;可執行的 C++ 快速驗證器沒有形式保證,只是「在測試中與 Lean 驗證器結果一致」。日常使用建議跑 C++ 版,要極端嚴格時再回頭用較慢的 Lean 版本。
該懷疑的地方:官方自己列的限制
這份發布最值得信任的部分,是限制章節寫得比成果章節還細:
| 限制 | 具體意思 |
|---|---|
| 只證明到 1,024 token 的context | 前沿模型的對話動輒十萬到百萬 token,這個長度在真實聊天場景偏短 |
| 整數模型+貪心解碼 | 證明的是「權重的整數版本,在貪心解碼下選的 token」。真實服務常用取樣(sampling)與浮點運算,某個位置就會偏離,理論上可被對抗性 prompt 放大 |
| 只藏權重、不藏架構 | 系統假設被服務的模型是 MoE,並利用 MoE 結構加速;dense 模型或想保密架構的廠商要另想辦法 |
| 側通道未處理 | 量測「產生證明的時間」可能洩漏權重資訊,官方明列為本版範圍外 |
| 快速程式碼無形式保證 | Lean、論文、C++ 三者之間不保證完全一致 |
| 沒有獨立安全稽核 | 目前所有數字都是 Anthropic 自報,尚無第三方複核 |
還有一個容易被忽略的定位問題:這套機制防的是「模型被替換」,不是「內容是 AI 寫的」。它與水印(watermark)、C2PA 內容憑證解決的是不同問題,不能互相替代。
anthropics/FlashProve 這個 repo 以 2026-11-04 查詢為 765 顆星、70 個 fork、Apache-2.0 授權、主要語言 Lean;repo 的說明欄直接寫著「研究原型,不再維護(Not maintained)」,建立時間是 10 月 30 日——換句話說,這是發表前四天才開的展示型倉庫,不是拿來長期維運的產品。
對實際使用第三方模型的人意味著什麼
短期內,這個技術不會出現在你的 API 回應裡。中期最可能的三個落點是:
- 企業採購條款:把「可提供推論證明」寫進合約,作為供應商稽核手段,而不是即時驗證。
- 評測與合規報告:獨立評測機構要求廠商對「送測模型」發布承諾,避免送測與上線不同版本。
- 模型路由層的信任問題:當使用者透過 OpenRouter 這類服務在多個供應商之間切換,「到底用了哪個模型」目前只能相信對方,未來可能變成可驗證欄位。
至於「每則回覆都附證明」,卡在兩個硬限制:驗證 17 秒對即時互動太慢;72~94 倍的算力成本對多數商業模型不划算。Anthropic 把這次定位成「拋磚」,目標是讓別人接手改進——從 zkML 過去兩年的曲線來看,這個判斷不算樂觀也不算悲觀。
站內延伸閱讀
- Claude 30 分鐘解開 25 年密碼學懸案:NIST ECDSA 曲線種子不是神秘句子——同一家公司在密碼學上的另一種「AI 幫忙做硬工作」案例。
- Anthropic 揭 AI 蠕蟲已經成形:模型自主複製與無中心殭屍網路——FlashProve 想解的「模型假裝成另一個模型」風險,正是這條威脅線的防禦面。
- OpenAI 前沿模型訓練全面斷網:DNS 隧道越獄與離線世界全解析——另一種「不信任模型、改用外部機制約束」的思路。
