雜湊派:為什麼雜湊公鑰不能抵禦量子計算威脅?

買賣虛擬貨幣

原文 | 《Why does hashing public keys not actually provide any quantum resistance?》

編譯 | 雜湊派 - Adeline

比特幣系統中的私鑰由隨機生成器生成,再透過橢圓曲線演算法(橢圓曲線的離散對數問題)、雜湊函式等等單向、不可逆演算法推匯出公鑰以及地址。所以從理論上來說雜湊公鑰是可以抵禦量子算力威脅的就算將地址和公鑰公開在網路上,也無法借其推匯出私鑰,擁有私鑰就等於擁有比特幣的所有權。

公鑰、私鑰與地址的關係

實際上,加密資產只在未交易前受到雜湊函式的保護,因為在使用P2PKH或P2WPKH交易標準(使用公鑰和公鑰雜湊作為指令碼)進行交易輸出加密貨幣時,公鑰會因此而暴露。

而在後量子(PQ)時代,我們廣泛使用的基於離散對數的公鑰密碼系統被認為是會被破解的量子裝置能夠一次處理一個資料集的所有可能的2^n變種的函式,基於此,以量子計算為基礎的Shor演算法可以很容易地在多項式時間內分解大整數因子。

也就是說,當你把一筆交易廣播到網路上,並且它還沒有被區塊鏈所接受,那麼這些交易就很容易受到攻擊。這個攻擊的視窗機會是有限的,但理論上還是可能的,如果QC(quantum computer/量子計算機)的處理能力已經足夠強大,那麼使用QC的駭客就可以根據暴露的公鑰,在交易被合法執行之前暴力破解出私鑰,然後用其簽名建立一個衝突的交易,將這筆交易中的加密貨幣傳送到他們自己的地址。

更可怕的是,如果這個駭客本身就是礦工,那麼除了根據公鑰計算私鑰以盜取加密貨幣外,他們同時可以拒絕確認那些不將加密貨幣傳送給他們的交易。

這無疑是令人擔憂的情況,但人們同時又自我安慰地認為:公鑰只有參與了交易之後(加密貨幣被花費後)才會被暴露給賬本,這種情況只發生在極少數賬戶。

而事實上這個數字不容小覷:有超過550萬個的比特幣在公鑰暴露的情況下正在進行交易輸出。這些公鑰中,有的是因為使用了P2PK地址進行交易輸出,有的是因為使用者重複使用一個地址,公鑰在之前的交易被簽名時公開。

在這個數字基礎上,我們可以想象一下:如果量子計算機強大的計算能力突破了網際網路的安全防護,能夠在交易被確認前利用已暴露的公鑰計算出私鑰,那麼駭客就能盜取這些數量驚人的比特幣,甚至於摧毀比特幣經濟,讓它變得一文不值。

不僅僅是區塊鏈,加密貨幣工具和錢包同樣存在公鑰暴露的問題在目前的加密貨幣工具和錢包中,沒有哪個軟體將公鑰視為私密資訊,大多數人並沒有意識到量子計算將給比特幣造成怎樣的影響。

許多錢包的做法是將父擴充套件公鑰傳送到伺服器,以便伺服器監控交易,並能夠將資料傳送回客戶端。所有使用這些錢包的人(即使只是暫時性使用),錢包也會向伺服器傳送他們的父金鑰。服務提供商就有可能根據這些公鑰來計算私鑰,衍生出其他所有的子私鑰。私鑰的洩露讓使用過這些錢包的人的加密貨幣資產變得不再安全,隨時有被竊取的風險。

比特幣的擴充套件公鑰

公鑰的複雜指令碼和合約也存在問題。使用指令碼實現可程式設計交易的一個典型例子就是多重簽名技術Multisigs,這些指令碼是不對公鑰進行雜湊加密的。而合約中,不是所有的合約參與方都必須相互信任,這意味著其中一個參與方可以是惡意的。一旦有惡意參與者出現,他可以獲取合約中所有涉及到的公鑰(透過指令碼),從而竊取與這些公鑰有關的加密貨幣。現有的公鑰雜湊並不能對此進行保護。

總而言之,除了交易之外,仍有非常多種方式讓公鑰暴露,我們可能只是因為使用了錢包,就造成了公鑰的暴露。

量子計算機對橢圓曲線離散對數問題(ECDLP)的威脅,可能會促使加密社羣向後量子密碼學過渡,我們目前所有運用公鑰加密的系統需要改成能夠應對量子攻擊的密碼系統。

如果量子計算髮展緩慢,加密系統有時間轉換到更強的函式上,並對所有的資產重新簽名。但如果橢圓密碼曲線突然被破解,系統無法及時檢測,那麼可以將所有依賴ECDLP簽名演算法(ECDSA和Schnorr)的簽名進行軟分割,從而鎖定所有加密貨幣。使用者可以根據公鑰,透過提供非暴露或具有量子阻抗的零知識證明來宣告私鑰的所有權。

比方說,使用者可以透過他們擁有的BIP32種子來證明自己的所有權。

透過BIP0032標準定義的HD錢包

BIP32種子是分層確定性錢包所遵循的標準,它是從單一種子(seed)產生一樹狀結構儲存多組keypairs(私鑰和公鑰)的系統,我們只需要儲存一個種子就可以推匯出其他所有的子金鑰。由於零知識證明的特性,種子本身不會暴露(種子不是公鑰、私鑰中的一部分,它們不存在共享的公共元件)。目前來說,這種方式是相對安全的。

因此,儘管雜湊演算法的單向秘密機制使加密過程不可逆,但由於公鑰的暴露,當量子計算能力足夠強時,數百萬比特幣將被盜取,雜湊只能提供一種虛假的安全感,現有的解決方案無法應對即將到來的威脅。

當然,這一切都建立在我們假設“量子計算機的算力足夠強大,能夠透過公鑰計算出私鑰,而我們並沒有意識到這項技術的強大,沒能及時升級對應系統”的前提下。

而實際上,量子計算機的每一步進展都在“眾目睽睽之下”,在量子計算機強大到足以打破橢圓曲線上的離散對數問題ECDLP之前,比特幣有足夠的時間進行抗量子的簽名演算法軟分叉,最終,依賴ECDLP的簽名將被取代。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;