logo

「量子計算機」的出現,會讓比特幣滅絕嗎?

瀏覽數

99+

“我們所研究的量子計算機用3分20秒完成的一項計算任務,如今全球最強大的超級計算機Summit需要花上1萬年才能完成。”這則由谷歌在近期發佈於NASA官網的研究成果,一時間激起了世界範圍內的激烈討論。谷歌的研究人員稱,這是量子計算機發展的一個重要里程碑,而谷歌將藉此實現“量子霸權”。儘管NASA很快便刪除了發表該成果的論文,為“實現”二字打上了一個大大的問號。但這一舉動,反而為這個“吊打”超級計算機的劃時代產物披上了更加引人注目的神秘面紗。我們時而會看到一些諸如“量子計算機將是數字貨幣的最大威脅,現有的數字貨幣皆無法抵禦量子攻擊”、“量子計算機將顛覆現今所有的密碼學”這樣的言論。那麼這些言論究竟是基於事實的預測,還是杞人憂天的誇大?而話題的焦點——量子計算機又是如何運作的?它究竟會帶來怎樣的改變?我們不妨簡單地了解一下。

- 01 -薛定諤的貓

開門見山地說,量子計算機與我們所熟知的傳統計算機在運作機理上是相差無幾的。從這一觀點出發,我們先來看看計算機是如何保存和處理數據的。計算機通常使用0和1的二進制序列來保存數據。抽像地來講,二進制中的0和1可以被看作是系統的兩種“狀態”,換句話說,只要我們能夠找到一個存在兩種可區分狀態的系統,就可以抽像地實現計算機機理的二進制。

傳統計算機通過不同的電壓來實現二進制中的0和1:低電壓信號代表0,高電壓信號則代表1。01所代表的最小二進制數位,即是我們所熟悉的1比特。 (這裡的比特指的是bit而不是byte)而在量子計算機的理論基礎——量子物理中,存在著許多可以實現兩種可區分狀態的雙態(甚至多態)系統。例如,在量子力學的自旋電子學裡(區別於經典力學中的自轉),自旋為1/2的粒子對應有自旋向上和向下兩種狀態;氨分子頂點的氨原子也存在兩種量子態,在由三個氫原子設定的平面之上,稱為“上”量子態,或是這平面之下,則為“下”量子態;再比如經典電磁波中的偏振光,亦被分成左旋偏振和右旋偏振兩種偏振狀態。總而言之,量子物理能夠為我們提供很多用以實現二進制的系統。而基於這些來自於量子物理的系統,量子計算機中的重要角色——量子比特便應運而生。量子比特的重要之處在於:相比非0即1的比特,量子比特要“靈活”得多,它既可以是0,也可以是1。

在0和1之間“反复橫跳”的量子比特如何去理解這種“既可以是0,也可以是1”的“靈活”呢?我在這裡簡單描述一下。開放量子系統的量子相干性會因為與外界環境發生量子糾纏而隨著時間逐漸喪失,這種效應稱為量子去相干。簡單來說就是,由於量子去相干效應的存在,當對象事物微小到量子級別時,它的狀態會被“觀測”給破壞。

說到這兒,大家大概會不由自主地聯繫到著名的“薛定諤的貓”實驗:當貓被關在裝有少量鐳和氰化物的密閉容器裡時,由於放射性鐳元素處於衰變和未衰變兩種狀態的疊加,貓也處於“被氰化物殺死”和“未被氰化物殺死”的疊加狀態——至於它究竟死沒死,你需要打開容器觀測,但在沒打開容器之前,它就理應處於一種既活著又死了的狀態。

虐貓狂魔薛定諤

不對,是這張!

如果這個例子還是沒能幫助你理解量子比特的“靈活”性,也不要緊。回想一下中學物理實驗中的“測不住原理”:當被測量物體足夠小的時候,測量者多次測量所得出的結果會是不盡相同的。比如你用尺子去測量一顆小砂礫,第一次測量得0.15毫米,第二次測量你可能會認為是0.13毫米,第三次又有可能得出另一個結果。

- 02 -神奇的量子糾纏

實現了二進制,接下來就要進一步實現二進制序列了。傳統計算機使用高低電壓信號來實現二進制,自然也就使用高低電壓交錯的脈衝來實現二進制序列。比如1 0 0對應於一個低電壓-低電壓-高電壓的信號,0 1 0則對應一個低電壓-高電壓-低電壓的信號。而量子物理則通過糾纏態來實現二進制序列。比如某個光子正處於量子態|ψ>,我們可以把這個光子和其它光子糾纏起來得到一個N光子糾纏態|φ>=|ψ>ⓧN,如此一來便實現了一個二進制的序列。

此時,傳統世界和量子世界之間便展現出了巨大的差異。在傳統世界中,我們只能同時擁有一個狀態,用上述的例子來講,如果一個事物呈現出1 0 0態,它就不能同時也表現出0 1 0態的特徵,因為高電壓信號會覆蓋低電壓信號,最終得到1 1 0態。而在量子世界中,我們可以得到兩種乃至多種狀態的疊加態。用符號化的方式來表達就是|φ>=A|1 0 0>+B|0 1 0>,其中A和B為疊加態的疊加係數,滿足A2+B2=1,即滿足事物的邏輯發生概率。

如果這樣的對比不好理解的話,這裡還有一個非常通俗的類比(需要大家再回想一下中學物理和數學):前者的狀態疊加類似於標量相加,後者的疊加類似於矢量(向量)相加。這樣一來,基於量子物理所構建的量子計算機的優勢便體現了出來。在使用量子計算機處理數據時,我們可以對具有所有態的特徵的疊加態進行處理。因此,通過特定的算法,量子計算機可以幫助我們實現同時處理所有態的並行計算。說到這裡,應該就不難理解文章開頭所提到的“3分20秒vs1萬年”這一夸張數據對比背後的理論支撐。縱使超級計算機擁有“三頭六臂顯威力”的神通,也奈何不了有如無數“分身”相助的量子計算機。

量子糾纏令一些事物能夠得到並行處理

- 03 -如果谷歌吹的牛都是真的

假如穀歌(或者其他任何一家科技公司)成功研製出了完全體的量子計算機,而這個完全體的量子計算機又果真如同之前論文所描述的那樣厲害的話,將會對整個社會以及加密世界帶來怎樣的影響呢? 3分20秒對比1萬年的差異可謂天壤之別,那麼量子計算機的運算能力相較於傳統計算機也將是完全碾壓​​式的勝出。這意味著什麼呢?引用一句我的老師在上課時所開的玩笑——“如果量子計算機能成,那麼世界上就只會剩下一種算法,窮舉法。

”窮舉法很好理解。假如你要破解一個四位數字的密碼,運用窮舉法就是從0000開始,通過排列組合將所有存在可能性的數字組合列舉出來,直至9999。同理,破解六位數字的密碼就是000000列舉到999999。總有一個能對。顯然,窮舉法具有絕對的有效性,但這種“暴力”、直接的算法也伴隨著巨大的算力消耗,而巨大的算力消耗也就意味著巨大的破解成本。換句話說,使用窮舉法通過傳統計算機來破悉密碼,往往是得不償失的。而量子計算機的出現無疑能夠打破這種局面。對於能夠輕易達成遠超傳統計算機的運算能力的量子計算機而言,窮舉法不再是一種資源消耗巨大且成本極高的“笨辦法”。

相反,由於窮舉法的絕對有效性和簡潔性,其餘那些複雜的算法也就顯得黯淡失色了——如果一個跟頭就能翻過十萬八千里,誰還煞費心思地去造飛機呢?當然,老師的說法是含有一些誇張和惡搞成分的,但是談笑中側面體現出的量子計算機的壓倒性運算能力卻是一點也不假的。也正是因為這個原因,在谷歌的論文一經問世後,像是“比特幣將亡”、“密碼學將毫無意義”這樣的煽動言論甚囂塵上。

- 04 -比特幣會被量子計算機幹掉嗎?

那麼比特幣究竟會不會被量子計算機K.O.掉呢?在弄明白這一點之前,我們先來看看比特幣是通過什麼方法來加密的。比特幣的加密方法主要有兩點:一個是SHA256哈希算法,也就是將加密貨幣“包裝”成一個有著2256個結果的哈希函數。比特幣“工作量證明”中的“工作量”,指的就是破解這個哈希函數,並求出代表著加密貨幣的“特解”的過程。除此之外,SHA256也被用於公鑰生成錢包地址。

另一個則是橢圓曲線數字簽名算法(ECDSA),比特幣通過ECDSA中的secp256k1曲線生成公鑰和私鑰,公鑰和私鑰無疑是加密資產安全的重中之重。而對於具有10億倍於超級計算機運算能力的量子計算機而言,SHA256和ECDSA這兩種算法都是可以輕鬆搞定的運算量級。也就是說,只要量子計算機得到了錢包地址,就能反向破解出公鑰,在通過公鑰破解出私鑰,進而掌控加密資產。

這麼看來,從理論上講,量子計算機的確可以攻破比特幣。而且不僅僅是比特幣,安全等級較之並無太大差別的網銀、支付寶等密碼系統,也都會受到來自量子計算機的威脅。但事實真的會是如此嗎?答案當然是否定的。我曾在前面提到過,對疊加態進行處理達到並行計算的效果,需要特定算法的支持,所謂的“吊打”超級計算機Summit即便是真的,也僅僅只限於某個特定任務罷了。對於尚且處於早期發展階段的量子計算機來說,由多重加密手段加持的比特幣絕對是一塊燙手的山芋,想要破解它,必然需要更多、更成熟的疊加態處理算法,而這顯然是不現實的。至少現階段是不現實的,除非谷歌的研究人員全都是禿子。

另外,從比特幣自身的角度來考慮,計算機的破解能力在進步,比特幣的加密算法自然也不會一成不變。以太坊3.0的預構將抗量子性加密算法帶入了人們的視線,谷歌此番的論文也在某種程度上加深了加密貨幣開發者對於量子抗性的重視。基於這一點,隨著量子計算機的逐步成熟,加密貨幣的量子抗性也只會是魔高一尺道高一丈。硬要說的話,唯一可能會遭殃的恐怕就只有礦工了,畢竟算法的修改和升級總會伴隨著礦機的淘汰和世代交替。

最後,從攻擊的本質——成本與收益來看,使用量子計算機攻擊比特幣幾乎是一件毫無意義的事情。

試想一下,假如比特幣連最最基本的安全性都無法得到保障,那麼比特幣的共識、比特幣的信仰自然也會隨之分崩瓦解。失去了價值支撐的比特幣將一文不值,此時攻擊者就算坐擁所有的2100萬個比特幣,也終究只是竹籃打水一場空罷了。不過,話又說回來,最有說服力的還是NASA親自撤掉了谷歌發布量子計算機研究成果的論文這件事。它告訴了我們兩點:一,谷歌的量子計算機尚且沒有做好問世的準備,或者根本就是在吹牛;二,本文內容純屬個人臆測,如有雷同,純屬緣分。