在传统计算机中,传统密码学的RSA 非对称加密算法等,RSA 非对称加密算法是基于一个很大的数来进行质因数分解,由于需要算出一个大数的质因数分解需要用很多时间,所以由于复杂度的原因,密码的安全度上得到很大的保障。
而在区块链技术中,为交易进行数字签名的公私钥非对称加密使用了RSA非对称加密算法,核心的技术是使用了椭圆曲线算法(ECDSA)生成密码钥,以一个私钥,可以很容易地计算出对应的公钥,反之,将非常困难计算私钥,这种貌似完全的单向技术,就是构成现在区块链技术的基础。(如果不了解公钥、私钥、非对称加密算法。
区块链一直以来所带来的价值,很大程度上取决于自由、安全性、公平性,而带来这些价值的基础是散列函数(Hash)及非对称加密算法,在目前传统计算机现有的算力是难以破解的,这也是安全性的原因,但是,随着量子计算的日渐成熟,算力的指数级增加,可能将会带来一场翻天覆地的变革。
想像一下,如果区块链技术的核心-私钥,能够被量子计算机容易反推算出来,区块链技术及其构成的系统应用将会怎样?
量子计算机
量子计算机与传统计算机最大的分别是,量子计算机的计算单位是量子比特(Qubit)而非传统计算机的比特(bit)。
传统计算机中,一个比特的值是肯定的,只会是0或1;量子计算机中,一个量子比特的值在被观察之前是不确定的,这个量子比特有可能是1 ,又或者是0 ,又或者是0和1的叠加态(Superposition),即同时等于0和1。而最为人所熟悉的一个思想实验就是"薜定锷的猫"。量子计算机利用量子的物理效应来执行运算,比如叠加态和量子纠缠效应,加上量子计算机在算法上可以使用指数进行运算,所以它们将不受限于传统的线性方程,故此在并行运算上的效率将会比传统计算机快很多指数倍。
简单举个例子,传统计算机如果要进行质因数分解,算法是用除法计算,然后看看余数是否为0。
例如1529 进行质因数分解,会分别计算:
1529 mod 3 == 2 (不是正解,继续)
1529 mod 5 == 4 (不是正解,继续)
1529 mod 7 == 3 (不是正解,继续)
1529 mod 11 == 0 (正解)
就是按以上方式一个一个地计算,而量子计算机又会怎样处理呢?量子计算可以将以上问题的参数"同时"带入到表达式中,计算除法,然后看看余数是否为0。
先将数字转换为二进制,3的二进制是0011、5的二进制是0101、7的二进制是0111、11的二进制是1011、1529的二进制是10111111001。
构造一个量子态
1 = 1/2(归一化常数) |0011>+|0101>+|0111>+|1011>. (四个是叠加态,同时这四个量子比特,必须是纠缠的)
将大数写成一个量子态
2 =|10111111001> (本征态)
(2/1 )=|1011>
只要两个量子态相除,量子计算机只需要一瞬间就能找到答案,以上的例子只是一个4 位数,有专家指出一个300 位的大数质因数分解,用传统计算机计算要用15万年,而用量子计算机,只需1 秒。所以,如果是RSA 加密算法的一个1024位的质因数进行分解,对当前的传统计算机而言,需要使用很多的时间进行运算,但是,这却也能维持算法的安全的原因。
在量子计算机上,通常会使用Shor's Algorithm 轻易地进行大数的质因数分解,从而有效地破解RSA 非对称加密算法,当量子计算机成熟之后,目前主流的传统密码学算法RSA、ECC等等这类传统的加密算法将会被破解而不安全。更有预测指出,在2027 年左右,Shor's Algorithm 将能在十分钟(600秒)内破解密码。
量子计算与区块链未来
量子计算领域的急速发展,令到很多人为传统密码学感到忧虑,近年有报导提出「一个4000量子比特的量子计算机或许就可以瓦解区块链」的说法,只有一个4000量子比特的量子计算机就可以算出并验证每一笔的交易,当前的加密货币将会被崩溃,这并非不可能的。这个说法是根据对比枚举法破解区块链技术所需要的算力和4000个量子比特的算力所作出判断,但当然前题是,需要4000个量子纠缠的比特的情况下,还要同时保证极低的错误率。因为量子计算会有噪声,亦即是随机波动和错误,量子计算的复杂度与噪声存在必然的关系,需要降低噪声才能保证量子比特数的增加,目前的量子计算机最多能够实够72个量子比特的计算能力,而随着量子比特数的增加,难度也越之而增加,在目前来说,是个相当难解决的问题。
而在近几年,IBM、Google、Microsoft都在量子计算领域中取得突破性的进展。
2015年,美国国家安全局已宣布正在研究量子密码系统,亦即可以抵御量子计算的加密系统,同时,在学术界,密码学的专家们也正在研究出量子密码学;
2017年10月,Divesh Aggarwal 和新加坡国立大学(NUS)的研究人员发表论文,他们认为至少在未来十年内,使用ASIC挖矿的速度会比量子计算机快,不过十年后,量子计算机的挖矿速度将会大幅提升;其次,面对量子计算机,区块链采用的非对称密码算法,即公钥密码系统会受到更大的威胁;
同年,Google 也宣称将在5 年内做出商业化的实用型量子计算机;
2017年11月10日,在美国电气和电子工程师协会(IEEE)的工业峰会上,IBM对外宣布,公司已经成功研发20位量子比特的量子计算机,可在年底向付费客户开放;
2018年1月11日,郭光灿院士团队介绍其本源量子计算云平台已成功上线32个量子比特的虚拟机,并已实现了64个量子比特的量子电路模拟;
2018年2月22日,中科院院士、中国科学技术大学常务副校长潘建伟正式发布中科院联合阿里云打造的11个量子比特超导量子计算的云平台;
2018年3月6日,Google 宣布推出一款72个量子比特的通用量子计算机Bristlecone,错误率低至1%,与9个量子比特的量子计算机持平,最多能够支持多达72个量子位;
2019年1月8日,IBM 宣布推出IBM Q System One 全球首台商用量子电脑机(20个量子比特),主要提供给商业及科研用途;
那么,既然量子计算已经发展到这个程度,那区块链技术是否可以被预判为无效?非也,上面提及到,如果要达到能够在极短时间内反推出私钥,还需要一段时间,而且,传统密码学中的加密算法也并非一成不变,也将会随着量子计算的进步而改良,万一RSA算法某天被宣布为不安全,现有区块链技术及其社区也可以通过投票使用新加密算法和共识机制,而不会对区块链技术造成毁灭性的影响。
而目前现时已有一些抗量子的技术方案。
抗量子账本
抗量子账本(Quantum Resistant Ledger,简称Qrl)可以使用比质因数分解更为复杂的数据方式生成私有密钥。该协议使用基于散列函数(Hash)的加密结构生成私有密钥,而非质因数分解。在这种情况下,我们无法像量子计算机破解传统区块链一样,一味地通过暴力计算来找到解决方案。
量子安全加密
量子安全加密技术是基于利用单个光粒子(光子)的状态对比特进行编码并进行通信。基础物理学规定,量子态不能在不改变的情况下复制或测量。任何窃听者都会立即被发现。
总结
量子计算和区块链都是很伟大的技术。不断进步的量子计算对目前的区块链技术造成挑战,从根本上来说,不仅仅是区块链技术,而是对目前世界上现有所有的通信安全体系都造成严重威胁,甚至颠覆现有部份的行业。目前主流密码学的非对称加密算法是基于一个大数进行质因数分解,而算法的安全性是基于当前的传统计算机不能在合理的时间内计算出密钥,从而使得破解成本远高于被破解信息本身的价值,上面也有提及到要分解一个300位的质因数,用传统计算机计算要用15万年,而用量子计算机,只需1 秒,在理论上来说,量子计算可以实现任意大整码的快速分解,这将导致非对称加密算法在量子计算的世界中变得不堪一击。在其他基于传统密码学的方面,如果私钥能够容易被反向推向出来,那么一些加密聊天程式、SSL证书及一些数据加密存储亦将显得无力。
个人认为量子计算和区块链技术之间,也或者可以说是量子计算和传统密码密之间的发展,将会互相演进发展,而非其中一方一成不变,另一方一日千里。也就是说,计算能力的跨时代进步,相对应传统密码学也将会随之演进,未来的区块链技术必须具有抗量子的能力,保证量子安全,甚至可以用量子通讯、量子加密、抗量子账本等的技术改良目前的区块链技术,使得区块链变得更高效、更快速、更安全,进化成终极的「量子区块链」技术。
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/bi/31919.html