区块链与量子计算的较量
作者:读裁者黄远辉,专注人文历史,质量标准,知识产权。
BLOCKCHAIN(图片来源:网络) 我们来看最近《自然》杂志的一句话:区块链是伟大的思想和技术革命,但是我们发现,像以往一样,目前世界上存在着两种“区块链”,一种在技术天才们的头脑里,另一种,在中国人的微信群里。《自然》杂志在文中表示,很多人只会说一些与区块链有关的词语,比如去中心化、共识机制、智能合约等,这些人不一定懂这些词的意思。《自然》认为美国人负责技术进步,而中国人则负责复制这些技术并迅速将这些技术上升到恐吓大众的哲学,这个说法有一定的片面性,我们暂且不做过多评论。
正如我在《区块链技术在信用、知识产权、溯源等场景中的应用与思考》《5G、区块链与智慧计量》(请关注回看)两篇文章中所说,区块链技术本身是没有问题的,但是要用区块链货币取代国家法币是没门的。比特币的发明人中本聪可能没有系统学过经济学知识,比特币运行这么多年来,在经济学界看来是存在不少缺陷的。
2019年11月6日下午,华为在深圳总部举行与任正非咖啡对话。在开始对话之前,任正非对数字经济给出了他的理解。他表示,数字经济一定是全球化的,数字经济全球化的趋势是不可阻挡的,数字也是通过全球化才能产生变现。关于信息安全的问题,任正非表示,其实永远都是大问题,这和矛与盾一样,只要有矛就有盾。量子计算机出现后,几百万年破译不了的信息都能破译,信息安全是相对的。现在说区块链多么伟大,但是在量子计算机面前,就不值一提了。实际上,在信息安全是长期困扰人们的问题,道高一尺魔高一丈,永远都是没完没了的几个问题,这个问题不是用技术来解决的,而是用法律来解决。很多朋友看到这里都很好奇,任总这里说到的量子计算机究竟是个什么鬼,能将区块链按在地上摩擦?我们先来看看区块链的加密算法,本文以SHA256算法为例。
任正非的咖啡对话(图片来源:网络) SHA256是安全散列算法SHA(Secure Hash Algorithm)系列算法之一,其摘要长度为256bits,故称SHA256。SHA系列算法是美国国家安全局设计,美国国家标准与技术研究院发布的一系列密码散列函数,包括SHA-1、SHA-224、SHA-256、SHA-384和SHA-512等变体,主要适用于数字签名标准(Digital Signature Standard,DSS)里面定义的数字签名算法(Digital Signature Algorithm,DSA)。比特币采用SHA256算法,在中本聪发明比特币时被公认为最安全的算法之一,比特币系统中有需要做Hash运算的地方都是用SHA256。
所有原始数据经过Hash运算后,输出的值的长度都是固定的,比特币中用到了SHA256,256就代表经过Hash函数运算后的结果是一个256位的2进制数字,SHA256能够验证数据是否篡改,比如下面这3行文字只是标点变化,内容完全不变,但对应的SH256值却相差甚远(数据来源《卓克·密码学30讲》)。
原文1:动静不失,人所易明。
S1: 284c4ddd2e5ef97924cc70e90cd02fd792e3fd62
原文2:动静不失,人所易明
S2:991780940ced6e6f910013f2ba2ac732e23601ef
原文3:动静不失人所易明
S3:62e07ce4d7d529a6268841d521bf882d3b385199
新的区块经过Hash计算出一个字符串,这串字符由三部分组成,第一部分是这个新区块内包含的成百上千的交易记录,第二部分是这个新区块的基本信息,最后一个部分是前一个区块的SHA256函数值。新区块要求包含前一个区块的SHA256函数值,前一个区块又包含再前面的一个区块,于是区块与区块之间就连接起来了,任何一个区块都包含了它之前所有的历史记录。
这里有个问题,如果新的区块同时产生,该认谁呢?比特币网络中,一般只认最长的那条链,这个规则可以防止有人伪造比特币。为了让每个区块诞生的时间间隔足够长,避免出现新区块同时产生的情况,我们还需要做进一步的复杂运算,要求256位的数字前72位全部都是0。一个随机数算完后前72位都是0的概率是多大呢?第一位是0的概率是1/2,第二位还是0的概率是1/4……第72位还是0的概率是1/2^72(2的72次方分之一),也就是说要进行2^72次SHA256运算,整个比特币网络里才有一次正确的机会。你的算力越强,你的正确率就越高。一旦有人做对了,经过检查合格,新区块就会被放在当前区块链的末尾。所以,区块链是一个非常耗费算力、电力的家伙。
下面我们看看量子计算机,量子计算机存储的数据总是处于0和1的叠加态,一个量子存储单位在某一时刻,是可以同时存储2^N(2的N次方)个数据的,假如这个存储单元有300位,那么其存储的数据就是2^300比特,这个数字就比全宇宙的原子数还多。传统计算机需要对这么多可能性进行一个一个的操作,而量子计算机可以同时对2^300个状态进行操作,算力实现级数增长。
图1 传统计算机的计算途径(图片来源: 图2 量子计算机的计算途径(图片来源: 2018年1月,Intel 发布了49个量子比特的测试芯片 Tangle Lake。3月,谷歌发布了72个量子比特的芯片 Bristlecone。在此之前,IBM 已发布了50个量子比特的IBM Q系统,微软也曝光了自己的量子计算机研究进展。可以看出,这些科技巨头都在争夺“量子霸权”。
图3 英特尔推出量子芯片Tangle Lake 量子比特(Qubit)是量子信息的计量单位,传统的计算机使用二进制,一个比特就是0或1,量子比特也是二进制,但是一个量子比特可以同时是0和1,这叫量子叠加(Superposition)。2011年,美国加州理工大学的理论物理学家John Preskill提出“量子霸权”(Quantum Supremacy)的概念:当量子计算机在某类问题的计算速度上超越传统结构的最快超级计算机的时候,“量子霸权”的时代就到来了。谁夺取了“量子霸权”,谁就掌握了技术制高点,从而就获得了量子计算机的标准制定权,在产业竞争中就处于有利的地位。
量子计算机是1981年美国Argonne 国家实验室的物理学家Paul Benioff提出来的。1994年,应用数学家彼得·舒尔提出了Shor算法,这就是一种针对整数求分解因子的量子算法。量子计算领域的基础研究都是科技巨头们在主导,百度和阿里巴巴也都建立了自己的量子计算实验室。量子计算机有个致命弱点,就是由于量子的叠加和纠缠状态,因此它是极其脆弱的。量子计算机通常只能在接近绝对零度(零下273摄氏度左右)的状态下才能保证量子状态正常运行。量子计算机设计的一大困难,就是在操纵量子比特的时候,必须使用量子纠缠。为了解决量子状态不稳定的问题,美国的D-Wave系统公司的首席技术官 Geordie Rose博士提出了针对量子退火算法的计算模型,称为“绝热量子计算”。
“退火”是金属加工过程的一个工艺,指的是把金属加热到一定温度,然后让其冷却,释放内部残余应力而让状态达到稳定。量子退火算法就是把量子设置好初始位置和状态,它们从初始位置和状态转变成稳定状态,这个过程就相当于退火过程,也就是计算的过程。D-Wave 的系统也被称为“量子退火机 (Quantum Annealer)”,D-Wave于2011年推出了128比特的D-Wave One系统,这是世界上第一个商品化的量子计算机,售价1000万美元。2013年又推出512量子比特的D-Wave Two系统。2015年之后,D-Wave相继推出了1000量子比特和2048个量子比特的D-Wave 2X和D-Wave 2000Q。
我们都知道摩尔定律,耶鲁大学的Robert Schoelkopf提出了舒考夫定律,被认为是量子计算领域的摩尔定律:大约每3年时间,量子退相干(Quantum Decoherence)的速度会被延迟10倍。对量子计算来说,退相干的速度越慢,计算机就越稳定。未来量子计算机对现有的数字加密算法能够实现快速破解,数字货币将迎来最大挑战。在这个背景下,第七代加密法——量子加密随之诞生,和其他加密法最大的不同是,其他加密法的原理只使用了数学,而它不但使用了数学,还使用了物理学中的量子理论,它是目前为止最强的加密法,量子计算机也无法破解。
总体来说,目前区块链还存在不少问题,主要体现在如下几个方面:
第一,基于区块链的比特币或者其他虚拟币,交易速度太慢。2018年双十一,网联的交易峰值达到了92771笔/秒,比特币是7笔/秒,Libra(Facebook新推出的虚拟加密货币)是1000笔/秒,因此像应对双十一这样高频的交易,采用纯区块链架构是无法实现零售所要求的高并发性能的。
第二,区块链的去中心化注定虚拟币无法代替国家法币。央行也在推动数字货币,但是央行的数字货币将坚持中心化的管理,区别于加密数字资产普遍采用的去中心化模式,也即以去中心化为特征的区块链技术可能并非央行数字货币发行的底层技术。
第三,区块链的链外信息录入无法避免造假行为。比如食品溯源系统,链外的数据有可能是经过篡改或者PS过的,我们都知道有机农产品的种植、收割、运输、存储必须要保证无农药、无化肥,但这些信息的录入都是人工录入的,区块链可没有办法鉴别入链的有机农产品加了农药没有,入链之后的数据倒是没有办法篡改的,关键在于入链前的数据。
总结:区块链与量子计算的较量,目前是区块链更胜一筹,因为量子计算机离真正的商用还有一段距离。量子计算机技术成熟后,区块链被按在地上摩擦基本上是铁板钉钉的,但是我们有第七代量子加密技术,量子计算机也没有办法破解。