Google 的 Quantum AI 團隊本週早些時候表示,未來的量子電腦可能能在大約九分鐘內,從公鑰推導出比特幣的私鑰。這個數字在社群媒體上四處彈跳,並嚇壞了市場。
但在實務上,它到底意味著什麼?
先從比特幣交易的運作方式說起。當你寄出比特幣時,你的錢包會用私鑰為交易簽名:一個秘密數字,用來證明你擁有這些幣。
這個簽名也會揭露你的公鑰,也就是一個可分享的地址,隨後會被廣播到網路中,並在一個稱為 mempool 的等待區域中靜候,直到礦工將它納入一個區塊。平均而言,確認大約需要 10 分鐘。
你的私鑰與公鑰之間由一個稱為橢圓曲線離散對數問題的數學難題連結。傳統電腦無法在任何有用的時間範圍內反向破解這個數學難題;而一台足夠強大的未來量子電腦,若運行一種名為 Shor’s 的演算法,就可以做到。
九分鐘的說法就出在這裡。Google 的論文發現,量子電腦可以透過預先計算攻擊中不依賴任何特定公鑰的部分,事先被「預備」好。
一旦你的公鑰出現在 mempool 中,機器只需要大約九分鐘就能完成工作,並推導出你的私鑰。比特幣的平均確認時間是 10 分鐘。這讓攻擊者有大約 41% 的機率在原始交易確認之前,推導出你的金鑰並重新導向你的資金。
把它想成一個小偷花上數小時打造一台通用的開鎖機(預先計算)。這台機器對任何保險箱都能運作,但每當出現一個新的保險箱,它只需要做一些最後的調整——而那個最後一步,耗時大約就是九分鐘。
這就是 mempool 攻擊。它令人不安,但需要一台尚不存在的量子電腦。Google 的論文估計,這樣的機器所需的物理量子位數會少於 500,000。今天最大型的量子處理器大約只有 1,000。
更大、也更立即的疑慮是那 6.9 百萬枚比特幣——約佔總供給量的三分之一——已經在錢包中坐著不動,而其中的公鑰已被永久公開。
這包括網路早期幾年內的比特幣早期地址:它們使用一種稱為 pay-to-public-key 的格式,其中公鑰會預設直接在區塊鏈上可見。它也包括任何重複使用地址的錢包,因為從某個地址花幣會揭露該地址中剩餘全部資金所對應的公鑰。
這些幣不需要那場九分鐘的競賽。只要攻擊者擁有足夠強大的量子電腦,就能在不受時間壓力的情況下慢慢破解,逐一處理已暴露的金鑰。
正如 CoinDesk 在週二稍早報導的那樣,比特幣在 2021 年的 Taproot 升級讓情況變得更糟。Taproot 改變了地址的運作方式:使公鑰預設在鏈上可見,無意間擴大了未來遭受量子攻擊而可能受害的錢包範圍。
比特幣網路本身仍會繼續運作。挖礦使用的是另一種稱為 SHA-256 的演算法,現有作法下的量子電腦無法有意義地加速它。區塊仍會產生。
分類帳仍然會存在。但如果能從公鑰推導出私鑰,那些讓比特幣具備價值的所有權保證就會崩解。任何擁有已暴露金鑰的人都會面臨被竊風險,而機構對該網路安全模型的信任也會土崩瓦解。
解法是後量子密碼學,它用量子電腦無法破解的演算法取代脆弱的數學結構。以太坊已花了八年時間朝向這次遷移努力。比特幣甚至還沒開始。