量子計(jì)算機(jī)將會(huì)如何影響比特幣挖礦
幾乎每隔一段時(shí)間,便會(huì)傳出量子計(jì)算機(jī)的“突破性進(jìn)展”。進(jìn)而引起業(yè)內(nèi)部分用戶的恐慌:量子計(jì)算機(jī)的出現(xiàn)會(huì)破解比特幣的加密算法,加密世界即將崩塌。
這不,最近美國公司霍尼韋爾官方宣布在量子計(jì)算領(lǐng)域取得突破性進(jìn)展,將提升量子計(jì)算機(jī)的性能。并且,霍尼韋爾還聲稱將在未來三個(gè)月發(fā)布全球最強(qiáng)大的量子計(jì)算機(jī)。
量子計(jì)算機(jī),來源:MIT Technology Review 這引起了不少加密資產(chǎn)持有者的擔(dān)心,擔(dān)心比特幣等加密資產(chǎn)是否還安全,會(huì)不會(huì)輕易被量子計(jì)算機(jī)破解?
這里先說結(jié)論:至少目前階段大家不需要擔(dān)心,即便將來通用的量子計(jì)算機(jī)大規(guī)模出現(xiàn),比特幣也不一定會(huì)被“殺死”。
接下去,我們說說相關(guān)的原因。
比特幣用到的加密算法主要有 2 種:橢圓曲線數(shù)字簽名算法(ECDSA),SHA256 哈希算法。其中,ECDSA 主要用于私鑰、公鑰的生成;SHA256 主要用于公鑰生成錢包地址,以及挖礦時(shí)的工作量證明(PoW)。
量子計(jì)算機(jī)會(huì)威脅到 ECDSA 的安全性。1994 年,設(shè)計(jì)出了專門用來分解因數(shù)的 Shor 算法,足夠強(qiáng)的量子計(jì)算機(jī)(硬件)加上 Shor 算法(軟件),可以通過公鑰破解出私鑰。
當(dāng)然,量子計(jì)算機(jī)的這個(gè)破解過程也需要花費(fèi)比較長的一段時(shí)間,況且量子計(jì)算機(jī)的發(fā)展也不是一帆風(fēng)順,剛開始的性能也沒那么強(qiáng)大。
即便量子計(jì)算機(jī)足夠強(qiáng)大了,也有辦法保護(hù)自己的比特幣安全:每次只使用一次性比特幣地址。
這要感謝中本聰當(dāng)初在設(shè)計(jì)比特幣的時(shí)候,沒有直接將公鑰當(dāng)作比特幣的收款地址。比特幣的公鑰和對(duì)應(yīng)的地址之間,做了 SHA256 加密,而目前并沒有可以有效破解 SHA256 的算法。
舉個(gè)例子,如果大白需要給小黑轉(zhuǎn) 1BTC,大白的錢包地址里有 3BTC,只要在轉(zhuǎn)賬的時(shí)候,將比特幣的找零地址設(shè)為一個(gè)自己掌握私鑰的、全新的比特幣地址即可。這樣,轉(zhuǎn)賬的時(shí)候,1BTC 進(jìn)入到小黑的地址,找零的 2BTC 進(jìn)入到了大白的新地址。關(guān)于比特幣的找零機(jī)制和 UTXO 模型,可以閱讀白話區(qū)塊鏈之前的推文《沒有UTXO,比特幣或不能如此穩(wěn)定運(yùn)行10年》。
在區(qū)塊鏈瀏覽器上查詢這筆交易時(shí),可以看到大白轉(zhuǎn)出的地址和對(duì)應(yīng)公鑰,小黑的地址,找零的新地址。由于轉(zhuǎn)出地址用完即廢棄,里面沒有任何 BTC,所以即使看到了公鑰,用量子計(jì)算機(jī)破解出了私鑰也沒關(guān)系。
至于暴露的小黑收款地址和找零的新地址,由于量子計(jì)算機(jī)缺乏有效破解 SHA256 的算法,無法通過地址破解出公鑰,所以是安全的。
礦機(jī),來源:www.hellobtc.com 那量子計(jì)算機(jī)會(huì)不會(huì)對(duì)比特幣的挖礦產(chǎn)生影響呢?
現(xiàn)在的計(jì)算機(jī)符合“摩爾定律”,即計(jì)算機(jī)芯片的晶體管密度每 18 個(gè)月翻一番,算力增長一倍。但是近年來,晶體管的尺寸逐漸逼近物理極限,計(jì)算機(jī)算力的指數(shù)級(jí)增長在放緩,摩爾定律逐漸失效中。量子計(jì)算機(jī)厲害的地方在于,它是以雙指數(shù)的速度增長,即算力的增長指數(shù)也是指數(shù)級(jí)增長。這讓傳統(tǒng)計(jì)算機(jī)需要幾萬年的計(jì)算量,量子計(jì)算機(jī)可以在短時(shí)間內(nèi)完成。
但是,量子計(jì)算機(jī)做到的只是大幅削減計(jì)算時(shí)間,它還是要花時(shí)間計(jì)算的。
前文我們提到,目前并沒有可以有效破解 SHA256 的算法,所以利用量子計(jì)算機(jī)挖比特幣時(shí),也只能和其他礦機(jī)一樣,一個(gè)一個(gè)地找隨機(jī)數(shù)去試,只不過是量子計(jì)算機(jī)運(yùn)算速度更快而已。比特幣有難度調(diào)整機(jī)制,可以通過調(diào)整難度對(duì)抗來自量子計(jì)算機(jī)的算力增長,還可以通過升級(jí) SHA256 算法(比如升級(jí)到 SHA384、SHA512),來增加挖礦難度。
需要注意的是,以上的討論都是建立在“量子計(jì)算機(jī)已經(jīng)非常成熟了,而且還價(jià)格低廉”的前提假設(shè)。
現(xiàn)實(shí)的情況是,量子計(jì)算機(jī)還處于實(shí)驗(yàn)室階段。目前量子計(jì)算機(jī)只能進(jìn)行單一的、技術(shù)性很強(qiáng)的計(jì)算,使用它解決實(shí)際問題還需要數(shù)年時(shí)間。截至目前,還沒有一個(gè)通用的量子計(jì)算機(jī)出現(xiàn),可靠的專用量子計(jì)算機(jī)也還沒有問世。
魔高一尺,道高一丈,量子計(jì)算機(jī)在向前發(fā)展的同時(shí),加密算法亦會(huì)持續(xù)進(jìn)步。
在「得到」的《卓克·密碼學(xué) 30 講》中,著名科普作者卓克就提到了對(duì)抗量子計(jì)算機(jī)的第七代加密法——量子加密。
量子加密和其他加密法不同,不但使用了數(shù)學(xué),還使用了理中的量子理論。量子計(jì)算機(jī)也很有可能無法破解,因?yàn)槿绻平饬?,就違反了量子力學(xué)的基本原理。