量子計算帶給公有區(qū)塊鏈完整性的挑戰(zhàn)與機遇
提到量子計算(Quantum Computing),不知您會想到什么?您會認為它比時下普遍采用的密碼學應用更加安全可靠嗎?下面,我將和您談談量子計算對于比特幣和以太坊等公有區(qū)塊鏈上數(shù)字資產(chǎn)的安全性挑戰(zhàn)與機遇。
什么是量子計算?
量子計算是一種全新的計算范式。它利用疊加(superposition)和糾纏(entanglement)等量子力學現(xiàn)象,對數(shù)據(jù)進行運算。因此,由其產(chǎn)生的量子計算機,能夠比傳統(tǒng)計算機更快地解決諸如:分解大數(shù)或搜索大型數(shù)據(jù)庫等應用問題。
下面,讓我們將量子計算機與日常傳統(tǒng)的計算機進行一個簡單的比較。例如,針對常被用于安全通信的2048位RSA密鑰,進行分解的數(shù)學場景。據(jù)估計,傳統(tǒng)的計算機使用最知名的算法,至少需要數(shù)十億年,才能分解出2048位RSA密鑰。而相比之下,采用Shor算法的量子計算機,可以在幾小時或幾天之內(nèi)(具體取決于量子位的數(shù)量和量子硬件的質(zhì)量),分解出2048位RSA密鑰。
不過,事情遠非想象的那么簡單。構(gòu)建能夠運行Shor算法的大型量子計算機,本身就是一項富有挑戰(zhàn)的大工程,而且目前尚不存在此類計算機。當前,最大的量子計算機只有約100個量子位,這遠不足以分解2048位的RSA密鑰??梢?,您至少需要4,000個邏輯量子位,才能在幾天或更短的時間內(nèi),分解出2048位的RSA密鑰。
那么,我們是否可以認為2048位的RSA密鑰仍然是非常的安全呢?其實,密碼學界已經(jīng)充分意識到了此類威脅,并且正在積極地致力于開發(fā)量子安全(quantum-safe)的密碼體系。
為了抵抗各類經(jīng)典計算機和量子計算機的攻擊,“量子安全密碼學”正在緊鑼密鼓地被開發(fā)和標準化中,以取代當前易受攻擊的算法,并確保數(shù)字通信和資產(chǎn)的持續(xù)安全。
量子安全密碼學的一個典型用例當屬:基于晶格的密碼(lattice-based cryptography)。它依賴于晶格理論中對某些問題的難解特性。而這些問題往往被認為是可以用來抵抗量子攻擊的。當然,其他候選的技術(shù)也包括:基于代碼的密碼、 多元(multivariate)密碼、以及基于散列(哈希)的簽名等。
質(zhì)數(shù)因式分解與加密貨幣領(lǐng)域的關(guān)系
眾所周知,目前加密系統(tǒng)所依賴的理論基礎(chǔ)是:使用經(jīng)典計算機將大數(shù)分解為其對應的質(zhì)因數(shù),在計算時間與開銷上是不可行的。因此,對于大素數(shù)進行因式分解是許多密碼系統(tǒng)的重要組成部分,其中就包含了已被廣泛使用的RSA加密和數(shù)字簽名等方案。
在RSA加密算法中,公鑰是通過兩個大素數(shù)相乘生成的,而私鑰則是從該乘積的因子中得出的。RSA加密算法的安全性依賴于難以將兩個大素數(shù)的乘積,分解出對應的因子。這也就使得攻擊者很難獲得用于解密消息的私鑰。
類似地,在RSA和橢圓曲線加密(Elliptic Curve Cryptography,ECC)等數(shù)字簽名方案中,私鑰用于對消息進行簽名,公鑰用于驗證簽名。這些方案的安全性都依賴于分解大數(shù)的難度。不過,由于量子計算機能夠運行Shor算法,因此它可以有效地分解出大量因子,進而破壞現(xiàn)有加密系統(tǒng)的安全性。這也就是為什么面對量子計算的進步,開發(fā)量子安全密碼算法,對于確保數(shù)字通信和資產(chǎn)的持續(xù)安全,能夠起到至關(guān)重要的作用。
什么是Shor算法
Shor算法是一種用于高效分解大數(shù)的量子算法。它是由Peter Shor于1994年開發(fā),并已成為了目前最著名的量子算法之一。
該算法的工作原理是:查找函數(shù)的周期。它是指在一定次數(shù)的迭代之后,重復出現(xiàn)的某種數(shù)學屬性。在對大數(shù)進行因式分解的場景中,所使用到的函數(shù)是模冪函數(shù)(modular exponentiation function)。它首先對一個基數(shù)進行求冪運算,然后去除以某個大數(shù),以得到余數(shù)。由于過于復雜,我們在此并不展開解釋。
量子計算對于區(qū)塊鏈完整性的威脅
量子計算機可以利用其速度上的優(yōu)勢,來操縱區(qū)塊鏈網(wǎng)絡。而此類網(wǎng)絡需要根據(jù)共識算法,來商定賬本的狀態(tài)。例如,擁有量子計算機的攻擊者,可以通過在尋找新的區(qū)塊,以創(chuàng)建更長的鏈,并通過設(shè)法超過誠實的節(jié)點,以針對以工作量證明(proof-of-work)為基礎(chǔ)的區(qū)塊鏈(如:比特幣),發(fā)起51%攻擊。在此基礎(chǔ)上,攻擊者還能夠開展各種雙花交易(double-spend transactions),甚至重寫賬本的歷史記錄。也就是說,他們可能會破壞網(wǎng)絡中由大多數(shù)參與者達成的協(xié)議,并且用生成新的區(qū)塊來改寫共識機制。
量子計算帶給區(qū)塊鏈的好處
當然,量子計算也可以為區(qū)塊鏈技術(shù)帶來包括:增強其性能、可擴展性、以及效率等好處。例如,量子計算機可以為區(qū)塊鏈應用程序(如:智能合約、供應鏈管理、以及醫(yī)療記錄等)提供高水平的計算能力和數(shù)據(jù)分析。如今,業(yè)界已有一種趨勢--將它們結(jié)合在一起,形成所謂的量子區(qū)塊鏈(Quantum Blockchain)。
同時,量子計算也可以使用量子加密和簽名機制,來保護各項區(qū)塊鏈交易,并使用量子共識算法來生成新的區(qū)塊。此外,量子區(qū)塊鏈還可以使用量子云計算平臺,來使得區(qū)塊鏈更易于訪問和便于交易。
小結(jié)
綜上所述,量子計算對于區(qū)塊鏈技術(shù)而言,既帶來了挑戰(zhàn),也帶來了機遇。它可以通過破壞現(xiàn)有加密系統(tǒng)和共識邏輯,來威脅其安全性;也可以通過啟用新的計算形式、增強的加密與簽名過程,來增強其性能、可擴展性和效率。新興的量子區(qū)塊鏈解決方案,將集成兩種技術(shù)的各自優(yōu)勢,以創(chuàng)建出更安全、更實用的網(wǎng)絡。