量子計算會威脅比特幣安全嗎?(中)
——穀歌白皮書的結論有驗證嗎?
文|徐令予
在本係列的第一篇文章中,我們已經討論了穀歌白皮書對量子計算資源的估算:在什麽條件下,量子計算有可能對公鑰密碼構成威脅。
但僅有“估算”還不夠。一個更關鍵的問題是:這些結論的可信度究竟如何?換句話說,穀歌白皮書的結論有驗證嗎?
與通常的研究做法不同,這篇白皮書並沒有公開其電路細節,卻聲稱通過一種被稱為“零知識證明”的方法,使其結果仍然可以被外界驗證。這看起來與科學研究中“公開方法、可重複檢驗”的傳統原則形成了明顯的反差。
那麽,在不公開細節的前提下,所謂“驗證”究竟意味著什麽?我們究竟能相信什麽?本文將圍繞這一問題展開。重點不在於判斷白皮書結論的對錯,而在於弄清楚:他們所采用的這種驗證方式,究竟能夠證明什麽,又不能證明什麽。
仔細閱讀白皮書,特別是附錄部分之後可以發現,作者並沒有構建任何量子硬件,也沒有在真實的量子計算機上運行破解相關密碼的算法。他們的整個工作,實際上是在經典計算機上完成的。更具體地說,他們做了三件事情:
一、電路設計
在討論這篇白皮書之前,有一個需要先澄清的基本點:這裏所謂的“電路”,並不是實際的硬件裝置,而是一種對計算步驟的描述。
更直觀地說,它更像是一份“程序”,或者一張“操作說明書”。它規定了:如果未來有一台理想的量子計算機,每一步應該如何操作,先做什麽、再做什麽,用到多少“計算單元”(這裏稱為量子比特),以及總共需要多少次基本操作。
因此,這一步的工作,本質上是設計一種計算方案,而不是實現一台真正運行的機器。
需要特別注意的是,這一步仍然完全停留在理論層麵。穀歌團隊並沒有構建任何實際的量子電路,也沒有在真實設備上運行量子算法。他們得到的,隻是一份滿足特定資源條件的“電路描述”,也就是一套關於如何進行計算的方案。
白皮書實際上給出了兩種不同的設計思路,在資源使用上各有側重,但這一點並不是理解本文的關鍵。
既然已經有了電路設計,接下來就自然產生一個問題:這些設計是否真的能夠按預期工作?這就引出了第二步——對電路進行測試。
二、電路測試
有了電路設計之後,接下來的問題就變得非常自然:這些設計是否真的能夠按預期工作?
在傳統的數學或計算理論中,人們往往會嚐試對計算過程給出嚴格的驗證,說明某個算法在實施的各種情況下得到的結果都是正確的。但是穀歌團隊采取的是一種不同的思路。他們並沒有試圖對整個量子算法的實現過程進行嚴格驗證,而是將問題大幅簡化,隻對其中的一個基礎操作進行測試。
這個基礎操作,就是橢圓曲線中的“點加法”。可以簡單理解為,在既定規則下對兩個“點”進行運算,得到另一個點。整個量子算法如果要運行起來,會反複調用這一類基本操作,因此穀歌團隊選擇從這裏入手。
為了使測試成為可能,穀歌團隊並沒有直接處理完整的量子電路,而是隻選取了這一基礎操作,並進一步對電路結構加以限製,使其可以在普通計算機上進行模擬。在這樣的條件下,這個電路的行為可以被看作一個普通的計算函數,從而可以在經典計算機上運行並進行測試。
從方法上看,這種處理方式與數字電路設計中的軟件仿真有一定相似之處:先用程序描述電路,再通過計算機進行測試,而不涉及實際硬件實現。
在具體做法上,穀歌團隊並沒有對所有可能輸入逐一驗證,而是采用了一種更接近工程實踐的方法:選取一組按照預先約定的方法生成的輸入,這些輸入在統計意義上具有隨機性,並對電路進行多次測試。如果這些測試全部通過,就認為這個電路在絕大多數情況下是正確的。
這種方法類似於軟件開發中的“隨機測試”。它並不能保證在所有情況下都完全正確,但如果測試數量足夠多,那麽出錯的可能性就會變得非常小。
到這裏為止,穀歌團隊已經完成了一件重要的事情:他們在不依賴量子硬件的情況下,對電路的一個關鍵部分進行了可操作的測試,並給出了“高概率正確”的結論。
但新的問題也隨之出現:在不對外公開電路細節的前提下,外界如何相信這些測試確實被執行過,而且結果沒有被人為修改?這就引出了第三步——如何證明這些測試過程本身是可信的。
三、測試過程的零知識證明
到這裏為止,穀歌團隊已經完成了電路設計,並對電路的關鍵部分進行了測試,得出了“高概率正確”的結論。但新的問題也隨之出現:在不對外公開電路細節的前提下,外界如何相信這些測試確實被執行過,而且結果沒有被人為修改?
該論文附錄中的第一小節給出了答案,詳見下圖。
圖中展示的是針對第一種電路測試所生成的“零知識證明”的全部內容。在這份“證明”中,白皮書並沒有公開電路本身,而是給出了一組數據。這些數據實際上是在聲明一件事情:存在這樣一個電路,它滿足白皮書中給出的資源限製,並且在所有測試輸入上都得到了正確結果。
這組數據大致可以分為四部分。首先是對電路的功能和資源要求的描述,包括其計算任務、所需資源以及測試範圍等;其次是一段“哈希值”(hash),可以理解為電路的“指紋”,用於唯一標識這一電路,防止作者在不同場合使用不同的電路;接下來是一段很長的“證明數據”(proof),它是對整個測試過程的一種壓縮表示;最後是一段“驗證密鑰”(verification key),用於檢查這份證明是否成立。
需要特別指出的是,這裏的“聲明”並不是單獨存在的一段文字,而是已經被寫入到測試程序本身。程序在運行過程中,會自動檢查這些條件是否成立,例如資源是否超過上限、測試是否全部通過,以及電路是否與所聲明的對象一致。如果其中任何一項不滿足,驗證就無法通過。因此,外界所驗證的,並不是作者的描述,而是程序對這些條件的實際檢查結果。
這些數據本身並不用於閱讀,而是用於驗證。任何人都可以利用公開的驗證程序,將證明數據和驗證密鑰作為輸入進行檢查。如果驗證通過,就可以確認:確實存在這樣一個電路,它滿足資源約束,並且已經通過了所有測試。
這種驗證方式的關鍵在於,它不需要公開電路本身。外界無法看到電路的具體結構,也無法複現測試過程的細節,但仍然可以確認測試確實被執行過,而且結果沒有被篡改。
從這個角度看,這一步所完成的,並不是對電路本身的證明,而是對“測試過程”的證明。它所保證的,是“這些測試確實發生過”,以及測試結果在統計意義上的可靠性,而並不直接涉及電路整體行為的全麵驗證。
結語
綜合來看,該白皮書可以用一句話來概括:它並沒有實現量子計算,也沒有直接動搖現有密碼體係,而是提出了一種新的方式來描述、測試並驗證量子電路的資源開銷。
從設計到測試,再到對測試過程本身的證明,這一整套方法,使原本停留在“理論估算”的結果,轉變為一種可以被獨立檢驗的技術聲明。這在某種意義上,對傳統科學研究中“可重複性”的原則形成了一種補充:當計算過程無法公開或難以複現時,可以通過密碼學方法,使“計算確實發生過”這一事實本身變得可驗證。
在信息安全領域,這種方法也具有現實意義。對於潛在的攻擊技術,可以在不公開具體細節的前提下,提供一種可驗證的“存在性證明”,從而在不泄露敏感信息的情況下發出預警,為防禦方爭取時間。
但與此同時,也需要清醒地看到,這種驗證所保證的,是“測試確實發生過”,以及測試結果在統計意義上的可靠性,而並不直接等同於對電路整體行為的全麵確認,更不意味著量子計算機在現實中已經具備了相應能力。
因此,與其說白皮書展示了量子計算的現實突破,不如說它展示了一種新的“證明方式”。至於這種方式在未來會產生多大的影響,還有待時間的檢驗。
徐令予 作於美國南加州(2026年 5月)