xmr.club
EN 中文 ES RU
← 所有指南
指南 · 長文解說

Zcash Orchard漏洞解析——零知識完備性缺陷對隱私幣意味著什麼

2026年5月29日,一位研究員復現了一個自2022年起就潛伏在Zcash匿名池中、未被發現的漏洞:該缺陷讓證明者能夠生成網路會當作真實接受的偽造匿名ZEC。修復在數天內完成,沒有資金被盜,ZEC總供應量也從未膨脹——然而ZEC仍下跌了約45–50%。「沒有盜竊」與「暴跌50%」之間的落差,正是整個故事的核心,也是多年來最具啟發性的隱私幣事件。以下是哪裡出了問題、損害為何被遏制,以及它對Monero說明了什麼——又沒有說明什麼。

事件經過

Zcash的Orchard池是其最新的匿名池——于2022年5月啟用(網路升級NU5),構建於Halo 2證明系統之上,專門設計用於消除困擾Zcash早期池的可信設定風險。2026年5月下旬,安全研究員Taylor Hornby——由Shielded Labs專門為此類主動審計聘請——發現了Orchard電路中的一個完備性漏洞。在Anthropic发布Claude Opus 4.8的第二天,他在自定義審計框架中使用該模型,生成了一個可行的概念驗證:在一個執行與主網相同規則的本地迴歸測試環境中,他反覆將一筆票據的價值翻倍,直到一個錢包持有超過1000萬ZEC。證明透過了驗證。網路會接受這筆交易。

日期(2026)事件
2022年5月Orchard激活(NU5)。該漏洞從第一天起就存在。
5月29日Hornby在迴歸測試環境中復現了該漏洞利用;開始私下披露。
6月2日軟分叉(Zebra 4.5.3):Orchard交易被暫時禁用以限制風險暴露。
6月3日NU6.2硬分叉:Orchard以修正後的電路和新的驗證金鑰重新啟用。
6月初完整公開披露及工作記錄。ZEC從近期高點下跌約45–50%。

從發現到永久修復:約五天,無鏈分叉,以及一篇異常坦率的公開報告。請記住這種響應質量——它對理解後續內容至關重要。

漏洞的通俗解釋

零知識證明讓你能夠說服驗證者某個陳述為真——「這筆交易有效」——同時不洩露背後的秘密(金額、傳送方、接收方)。要保證安全,證明系統必須具備完備性:必須不可能為虛假的陳述生成看似有效的證明。

Orchard的缺陷是一個約束不足的構件——具體出在電路所依賴的可變基橢圓曲線標量乘法程式碼中。用通俗的話說:電路忘了完全釘死它本該強制執行的數學關係之一。這留下了一個缺口,證明者可以從中注入任意的秘密值,卻仍能滿足驗證者執行的所有檢查。完備性破裂了。證明系統會將無效的狀態轉換——虛假票據、膨脹的餘額、池內的雙重花費——當作合法交易來接受。

一個關於可信度的精確說明:這並非高層協議規範中的漏洞,而是底層證明庫中的一個構件級缺陷——這是零知識實現中一類常見且臭名昭著地微妙的錯誤。標量乘法構件是電路中最難完全約束的部分之一,這正是頂尖密碼學家和先前審計在四年內未能發現的原因。

為何「無通脹」與「嚴重」同時成立

頭條保證是準確的:ZEC總供應量從未膨脹,且沒有任何使用者資金被盜。但更審慎的表述——「該漏洞沒有產生可提取的通脹,然而Orchard池內部的餘額完整性暫時變得無法證明」——才是真正推動市場反應的部分,值得理解。

  • 該漏洞能做什麼:在匿名池內部製造無效的狀態轉換——虛假票據、膨脹的內部餘額。由於該池本身就是隱私設計(金額和參與方隱藏,證明為零知識),事後無法透過密碼學方法證明或證偽任何人在四年時間視窗內利用了該漏洞。
  • 該漏洞不能做什麼:將這些虛假價值從Orchard提取出來變為透明ZEC,或擴大可見的貨幣基礎。這是轉門機制的工作(見下一節),它守住了。

因此對於一種以隱私健全貨幣為賣點的幣,殘留的問題不是「有人搬空了金庫」。而是匿名池內部會計的完整性完全依賴於一個後來被發現已損壞的電路——而你無法透過對池進行加總來審計它。這種不可知性——而非確認的盜竊——是持有者拋售的原因。Shielded Labs此後表示正在探索一個新的匿名池,採用強制遷移會計機制,以便未來供應完整性可公開驗證,同時進行電路的形式化驗證。

轉門:無名英雄

Zcash的轉門是其價值池之間(透明池、傳統的Sprout和Sapling匿名池、以及Orchard)的一個共識級會計不變數。規則簡單而殘酷:每筆匿名交易揭示進入或離開池的淨金額,鏈追蹤每個池的執行餘額,任何會導致池餘額為負的區塊都會被拒絕。

這是在零知識證明之上的一層縱深防禦,正是它遏制了本次漏洞。攻擊者鑄造虛假票據可以在Orchard內部膨脹餘額,但當他們試圖將這些價值解匿出去時,交易所宣告的池流出將超過所有曾合法進入的總額——共識將拒絕該交易。轉門如同防爆門:一個池中的完備性失效不會洩漏到全域性供應中。這就是為什麼每份可信報告都能誠實地聲稱「無供應通脹,無資金被盜」,同時仍無法驗證池的內部歷史。

更深層的教訓:電路完備性與Monero模型

很容易將此解讀為「零知識不好,Monero好」。這不是誠實的結論。誠實的結論是關於每種設計將其風險集中在何處。

Orchard本身就是對Zcash以往合理批評的回應:其早期池使用需要可信設定的證明系統,一旦設定儀式被破壞,可能導致永久性的無法檢測的偽造。Halo 2移除了這種可信設定。但本次事件展示了該取捨的代價:沒有可信設定,電路的實現必須絕對完備——每個構件、每條約束、每個橢圓曲線操作。任何一處約束不足的關係都會破壞整個保證,而這些構件極難做到完全正確。

Monero做出了不同的取捨。它沒有必須編碼整個有效性關係的單一電路。其隱私來自更直接的代數機制:Pedersen承諾加範圍證明隱藏金額(RingCT),環簽名在誘餌輸出中提供簽名者歧義,隱匿地址將每個輸出變為一次性金鑰,金鑰鏡像防止雙重花費。在「交易有效」與「數學驗證透過」之間的抽象層更少,這意味著針對這類特定的「透過損壞電路偽造價值」漏洞的表面積更小。

  • Zcash匿名(Orchard):強大的理論隱私——金額、傳送方、接收方和備註完全隱藏,池內匿名集不斷增長——代價是必須保持一個非常複雜的約束系統100%正確並在每次變更時重新審計。隱私也是可選的,存在透明回退。
  • Monero:強制的、預設開啟的隱私,具有實用的強不可連結性,代價是交易更大,以及圍繞誘餌質量、輸出選擇啟發式和持續的基元加固(例如進行中的FCMP++升級)的不同風險特徵。

兩者最終都依賴於正確的實現和持續的審查。ZK以要求電路完美為代價購買「數學隱私」;RingCT透過更明確的檢查獲得可用的強制隱私,但有其自身的工程取捨。兩者都不是魔法。

Zcash做對了什麼——以及需要保持誠實的部分

一箇中立的指南必須直言不諱:Zcash的處理是負責任披露的典範。團隊專門聘請了一位研究者在攻擊者之前搜尋這些漏洞;他們與礦工和交易所進行了私下協調;他們在數天內推出了兩階段修復;並且他們完全公開,明確拒絕聲稱利用是不可能的。他們實際上說:「我們無法透過密碼學排除它已被使用的可能性——不要依賴'可能沒事'。」這種坦誠是罕見且正確的。

而使Monero倡導者保持誠實的反論點:

  • 「越簡單越安全」這個說法太絕對了。Monero自身也經歷過歷史上的審查,多年來有其自身的錢包和節點漏洞,而其強制模型意味著所有價值都依賴於其設計選擇,無法退出。
  • 構件和約束漏洞是整個ZK行業反覆出現的挑戰,而非Zcash特有的缺陷。
  • 轉門和快速響應確實是令人印象深刻的工程。市場懲罰了不可知性,在槓桿和至少一位大型公開持有者(Arthur Hayes)以隱私敘事要求「完美,而非'可能沒事'」為由退出的推動下加劇。Monero僅經歷了溫和的同情性拋售。
  • 「蓄意後門」的邊緣說法在傳播。可信度很低;中立的讀者應予以忽略。

這對你意味著什麼

如果你持有或使用這兩種幣,實際解讀如下:

  • 這是縱深防禦的案例研究,而非ZK的死亡告示。轉門發揮了作用;證明失敗了,而一個後備機制抓住了它。假設自身元件可能失敗的系統比不這樣假設的系統更具生命力。
  • 「完備性」對任何隱私貨幣而言都是生死攸關的——無論是電路的完備性還是RingCT的代數完備性。將審計頻率和形式化驗證視為特性,而非開銷。
  • 強制隱私與可選隱私是一個真實的維度。Monero的無退出模型與Zcash的多池、以透明為主的現實是不同的賭注——根據你希望隱私是預設狀態還是一種選擇來做出選擇。
  • AI審計時代是一把雙刃劍。一位使用正確框架的防禦者在一天內發現了四年專家審查未能發現的東西。攻擊者同樣可以做到。主動的、AI輔助的審計現在是隱私協議的基本要求。

剛接觸非KYC隱私並試圖決定從哪裡開始?參見如何在沒有KYC的情況下購買Monero和經過審查的錢包列表。本指南的目的不是加冕優勝者——而是確保你理解在每種設計中你真正信任的是什麼。