在論文中,谷歌研究人員稱,谷歌的處理器能夠在 3 分 20 秒內,完成目前全球排名第一的超級計算機 Summit 需要一萬年才能完成的計算。
這引起了不少加密資產持有者的擔心,擔心比特幣等加密資產是否還安全,會不會輕易被量子計算機破解?
這裡先說結論:至少目前階段大家不需要擔心,即便將來通用的量子計算機大規模出現,比特幣也不一定會被“殺死”。
接下去,我們說說相關的原因。
比特幣用到的加密演算法主要有 2 種:橢圓曲線數字簽名演算法(ECDSA),SHA256 雜湊演算法。其中,ECDSA 主要用於私鑰、公鑰的生成;SHA256 主要用於公鑰生成錢包地址,以及挖礦時的工作量證明(PoW)。
量子計算機會威脅到 ECDSA 的安全性。1994 年,設計出了專門用來分解因數的 Shor 演算法,足夠強的量子計算機(硬體)加上 Shor 演算法(軟體),可以透過公鑰破解出私鑰。
當然,量子計算機的這個破解過程也需要花費比較長的一段時間,況且量子計算機的發展也不是一帆風順,剛開始的效能也沒那麼強大。
即便量子計算機足夠強大了,也有辦法保護自己的比特幣安全:每次只使用一次性比特幣地址。
這要感謝中本聰當初在設計比特幣的時候,沒有直接將公鑰當作比特幣的收款地址。比特幣的公鑰和對應的地址之間,做了 SHA256 加密,而目前並沒有可以有效破解 SHA256 的演算法。
舉個例子,如果大白需要給小黑轉 1BTC,大白的錢包地址裡有 3BTC,只要在轉賬的時候,將比特幣的找零地址設為一個自己掌握私鑰的、全新的比特幣地址即可。這樣,轉賬的時候,1BTC 進入到小黑的地址,找零的 2BTC 進入到了大白的新地址。關於比特幣的找零機制和 UTXO 模型,可以閱讀白話區塊鏈之前的推文《沒有UXTO,比特幣或不能如此穩定執行10年》。
在區塊鏈瀏覽器上查詢這筆交易時,可以看到大白轉出的地址和對應公鑰,小黑的地址,找零的新地址。由於轉出地址用完即廢棄,裡面沒有任何 BTC,所以即使看到了公鑰,用量子計算機破解出了私鑰也沒關係。
至於暴露的小黑收款地址和找零的新地址,由於量子計算機缺乏有效破解 SHA256 的演算法,無法透過地址破解出公鑰,所以是安全的。
那量子計算機會不會對比特幣的挖礦產生影響呢?
現在的計算機符合“摩爾定律”,即計算機晶片的電晶體密度每 18 個月翻一番,算力增長一倍。但是近年來,電晶體的尺寸逐漸逼近物理極限,計算機算力的指數級增長在放緩,摩爾定律逐漸失效中。量子計算機厲害的地方在於,它是以雙指數的速度增長,即算力的增長指數也是指數級增長。這讓傳統計算機需要幾萬年的計算量,量子計算機可以在短時間內完成。
但是,量子計算機做到的只是大幅削減計算時間,它還是要花時間計算的。
前文我們提到,目前並沒有可以有效破解 SHA256 的演算法,所以利用量子計算機挖比特幣時,也只能和其他礦機一樣,一個一個地找隨機數去試,只不過是量子計算機運算速度更快而已。比特幣有難度調整機制,可以透過調整難度對抗來自量子計算機的算力增長,還可以透過升級 SHA256 演算法(比如升級到 SHA384、SHA512),來增加挖礦難度。
需要注意的是,以上的討論都是建立在“量子計算機已經非常成熟了,而且還價格低廉”的前提假設。
現實的情況是,量子計算機還處於實驗室階段。谷歌研究人員也表示,谷歌的量子計算機只能進行單一的、技術性很強的計算,使用它解決實際問題還需要數年時間。截至目前,還沒有一個通用的量子計算機出現,可靠的專用量子計算機也還沒有問世。
魔高一尺,道高一丈,量子計算機在向前發展的同時,加密演算法亦會持續進步。
在「得到」的《卓克·密碼學 30 講》中,著名科普作者卓克就提到了對抗量子計算機的第七代加密法——量子加密。
量子加密和其他加密法不同,不但使用了數學,還使用了物理中的量子理論。量子計算機也很有可能無法破解,因為如果破解了,就違反了量子力學的基本原理。