量子计算机对比特币有没有影响
扫描二维码
随时随地手机看文章
近期,谷歌近日谷歌高调宣布了成功演示“量子霸权”,一个包含53个有效量子比特的处理器“西克莫”,用200秒完成传统超级计算机Summit需1万年解决的问题,着实让人惊叹。可是,“量子霸权”还没有捂热,竞争对手IBM就出来“打假”,IBM宣称自家研制的一种超级计算机在两天半内就能完成谷歌所展示的运算量。用自家的两天半打人家的200秒,有点类似于隔壁邻居搞了个吸尘器,你冲出去挥舞鸡毛掸子说“我家这个也能用”,这个“假”打得有点尬。那么这个量子计算机到底是什么呢?
一、量子计算机
量子计算机是科学家对通用计算机(半导体计算机)计算能力极限进行探索的产物,也就是说其天生就被设计为超越现代计算机,用于解决普通计算机无法胜任的计算难题,比如人工智能,量子模拟(宇宙模拟) 以及解决/优化数学难题等前沿领域。
量子计算机,就好比是计算机界中的超级英雄。其基于量子力学原理的算法设计允许它比普通计算机多出数个量级的计算能力(算力)。一台50量子比特的量子计算机只需数秒即可解开普通电脑需要花上几十年才能解开的问题。
二、比特币
比特币(Bitcoin)是通过密码保护的分散数字货币,比特币系统也已经被证明是极其成功和安全的系统,它的诞生推动了其后目前价值 1500 亿元的其他加密货币和区块链技术的发展。
独立性是比特币如此受欢迎的原因之一。比特币免于政府干预,由一个开放的 p2p 网络运营。不依赖特定的货币发行机构,而是根据特定的算法通过大量计算产生,其总数非常有限,因此也具有很强的稀缺性。
比特币的一个重要特征是它的安全性。比特币有两个重要的安全特性,以防止它们被偷窃或抄袭。两个特性都建立在难以破解的密码协议的基础上。
但根据戴夫士·加沃尔团队的研究,量子计算机能轻易地解决这些问题。而且,全球各大科技巨头已经在紧锣密鼓地研发第一批量子计算机了。
具体而言,上文提到的比特币的两个重要安全特性,分别来自于其协议中的两个特征 PoW(proof-of-work,工作量证明)和加密签名的不对称性上。所谓不对称性,指的是运算可以从一个方向容易地进行,却难以从另一个方向进行。
工作量证明的目的是不让一方单独操纵区块链,以造成双重花费。工作量证明的基本原理就是客户端需要做出一定难度的工作得出一个结果,而验证方却可以很容易地通过结果来检查客户端是不是真的做了相应的工作。它的核心正是不对称性:相比于请求方完成工作的难度,验证方验证的难度小得多。目前,比特币系统使用的工作证明函数是由 Adam Back 发明的 Hashcash(哈希现金)。
在比特币系统中,矿工将未处理的交易捆绑到一个块中,并通过做 PoW 任务获得一定比特币的奖励。而处在比特币网络中任何一个节点,如果想生成一个新的区块并写入区块链,必须先解出比特币网络出的工作量证明的问题。
验证区块声明的头文件满足 PoW 条件则非常简单,它只需要对 Hash(散列)函数进行一次评估。而完成工作量证明则没有那么容易。比特币系统中使用的工作量证明函是 SHA256。也就是说,这个哈希函数有 2^256 种输出。
至于第二特征——加密签名,则是用来授权交易。在一个交易被广播但是加入到区块链中之前是最容易被攻击的。如果在此时可以通过广播的公钥破解出密钥,就可以利用这个密钥从原地址广播一个新的交易给自己的地址,并让这一交易先进入区块链之中,就可以取走原地址中所有的比特币。目前比特币使用椭圆曲线数字签名算法(ECDSA),利用 secp256k1 生成密钥。
如果可以在特定的时间内完成对以上两个问题的破解,也就攻破了比特币的安全系统。对于当前计算的计算能力来说,这是不可能的,但对于远远超过普通计算机计算能力的量子计算机而言却完全不在话下。
三、为什么说量子计算机会造成比特币消失?
在量子计算威胁区块链的相关论述中,持有此观点的一方给出的论据主要包括两点:一是量子计算会威胁比特币的安全协议;二是算力更大的量子计算机能垄断“挖矿”。
诞生于2009年的比特币是区块链技术最著名的应用。比特币的安全协议涉及两种类型的密码学,即挖掘过程中使用的散列函数和用于在区块链上提供数字签名的非对称密码术。
在“击破论”支持者看来,量子计算机可能会对这两道安全防线产生巨大威胁。未来,量子计算机能很快破解哈希函数,从而垄断整个区块链,让比特币的安全协议“作废”。
“挖矿”是指利用芯片的计算能力,在比特币全球网络中不断进行哈希运算,比对手更快地求解,找出符合特定要求的随机数,以此赢得在公开账簿上的记账权,从而获得系统奖励的比特币。本质上,“挖矿”是个数学问题。
比特币常说的“51%攻击”就是指在区块链中,如果一个矿工组拥有整个网络51%的算力,他们就会永远比其他拥有49%算力的矿工组更快地处理区块。也就是说,他们将垄断整个区块链,得到之后产生的所有比特币。
针对量子计算机威胁“挖矿”的问题,来自新加坡国立大学的戴夫士·阿加沃尔和该校研究人员在2017年10月发表了相关论文。他们认为,至少在未来十年内,ASIC矿机(使用ASIC芯片作为算力核心的矿机)的“挖矿”速度会比量子计算机快,但十年后量子计算机的“挖矿”速度将大幅提升。
四、量子计算机无法造成比特币消失的原因
比特币用到的加密算法主要有2种:椭圆曲线数字签名算法(ECDSA),SHA256 哈希算法。其中,ECDSA 主要用于私钥、公钥的生成;SHA256 主要用于公钥生成钱包地址,以及挖矿时的工作量证明(PoW)。
量子计算机会威胁到 ECDSA 的安全性。1994 年,设计出了专门用来分解因数的 Shor 算法,足够强的量子计算机(硬件)加上 Shor 算法(软件),可以通过公钥破解出私钥。
当然,量子计算机的这个破解过程也需要花费比较长的一段时间,况且量子计算机的发展也不是一帆风顺,刚开始的性能也没那么强大。
即便量子计算机足够强大了,也有办法保护自己的比特币安全:每次只使用一次性比特币地址。
这要感谢中本聪当初在设计比特币的时候,没有直接将公钥当作比特币的收款地址。比特币的公钥和对应的地址之间,做了 SHA256 加密,而目前并没有可以有效破解 SHA256 的算法。
举个例子,如果大白需要给小黑转 1BTC,大白的钱包地址里有 3BTC,只要在转账的时候,将比特币的找零地址设为一个自己掌握私钥的、全新的比特币地址即可。这样,转账的时候,1BTC 进入到小黑的地址,找零的 2BTC 进入到了大白的新地址。关于比特币的找零机制和 UTXO 模型,可以阅读白话区块链之前的推文《没有UXTO,比特币或不能如此稳定运行10年》。
在区块链浏览器上查询这笔交易时,可以看到大白转出的地址和对应公钥,小黑的地址,找零的新地址。由于转出地址用完即废弃,里面没有任何 BTC,所以即使看到了公钥,用量子计算机破解出了私钥也没关系。
至于暴露的小黑收款地址和找零的新地址,由于量子计算机缺乏有效破解 SHA256 的算法,无法通过地址破解出公钥,所以是安全的。现在的计算机符合“摩尔定律”,即计算机芯片的晶体管密度每 18 个月翻一番,算力增长一倍。
但是近年来,晶体管的尺寸逐渐逼近物理极限,计算机算力的指数级增长在放缓,摩尔定律逐渐失效中。量子计算机厉害的地方在于,它是以双指数的速度增长,即算力的增长指数也是指数级增长。这让传统计算机需要几万年的计算量,量子计算机可以在短时间内完成,这个我们可以在外汇经济商活动http://www.fx61.com/activiTIes中了解到。但是,量子计算机做到的只是大幅削减计算时间,它还是要花时间计算的。前文我们提到,目前并没有可以有效破解 SHA256 的算法,所以利用量子计算机挖比特币时,也只能和其他矿机一样,一个一个地找随机数去试,只不过是量子计算机运算速度更快而已。比特币有难度调整机制,可以通过调整难度对抗来自量子计算机的算力增长,还可以通过升级 SHA256 算法(比如升级到 SHA384、SHA512),来增加挖矿难度。
需要注意的是,以上的讨论都是建立在“量子计算机已经非常成熟了,而且还价格低廉”的前提假设。
现实的情况是,量子计算机还处于实验室阶段。谷歌研究人员也表示,谷歌的量子计算机只能进行单一的、技术性很强的计算,使用它解决实际问题还需要数年时间。截至目前,还没有一个通用的量子计算机出现,可靠的专用量子计算机也还没有问世。
魔高一尺,道高一丈,量子计算机在向前发展的同时,加密算法亦会持续进步。