比特币危险!量子计算将攻破区块链两大命门
阅读 · 发布日期 2018-02-28 · 金人网络近几年,区块链作为互联网金融的超级明星,受到无限关注,比特币更是区块链技术应用中的当红炸子鸡,在科技行业里,无人不识超级虚拟货币——比特币。
比特币有多火?
它诞生于2009年,在2010年,一万个比特币还只够买两个披萨,而在2018年,比特币价格已经突破10000美元,当初买两个披萨的10000个比特币现在大概值7.8亿人民币。从2010年的初始价格不到1美分,涨到现在的10000美元以上,比特币诞生的这八年就实现了100万倍的增长。
为什么一个现实中不存在的比特币会火到这个程度?核心在于其安全和可靠。比特币的精妙设计为其带来这么几点特性:
1、它能实现个人到个人的交易,不需要任何中间商;
2、如果不进行交易,比特币永远不会被盗;
3、比特币是自动定量发行的,获得比特币的方式只有挖矿和从别人手中购买,无论你是谁,通过挖矿获得比特币的难度都一样。
比特币火的原因究其原因来自区块链技术为其赋予的自由性、安全性、公平性,但是,在不远的未来,这样浪漫的虚拟货币机制可能要被完全瓦解,很多人所信仰的安全的、可靠的、坚如磐石的基础可能要被一个迅速发展的新兴科技所摧毁。
这个新兴科技就是量子计算。
就在上周,中科院量子计算机研究取得突破性进展,中科院量子信息与量子科技创新研究院在超导量子计算方向发布11量子比特的云接入超导量子计算服务,世界范围来看,提供10个量子比特以上的云计算服务,这是继IBM后的第二家,这一进展让量子计算又一次成为焦点。
量子计算的迅速发展超出众人预期,有预测认为,十年内,量子计算将会给区块链(包括比特币)带来毁灭性的打击。那么,量子计算机会如何对区块链造成威胁?又会造成多大的威胁?区块链有没有对策抵御呢?
这就要从量子计算机和区块链的原理说起了。
一、量子计算机和区块链
1、量子计算机
智东西不久前曾发表过关于量子计算机的文章(量子计算机有多可怕 一秒破译全世界所有密码!),简单来说,量子计算机的运行单位是量子比特(qubit)而非经典计算机的比特(bit)。在经典计算机中,一个比特的值是确定的,可能是1,也可能是0,但是在量子计算机中,一个量子比特的值在观察之前是不确定的,这个值有可能是1,也有可能是0,还可以是1和0的叠加状态(superposition),即同时等于0和1。
这样的差别有多大呢?
拿《火影忍者》举例的话,那就是佐助是经典计算机,鸣人是量子计算机,要找一个东西,佐助只能自己一个一个地方跑去找,也许要找一年。
但是鸣人可以分出5个影分身,然后5个影分身再分出5个影分身,分身的分身再分身,所有分身都同时去不同的地方,瞬间找到东西,然后分身收回,只剩一个鸣人,取回东西,完成。
耶鲁大学的罗伯特·舍尔科普夫教授(Robert Schoelkopf)说:“当量子计算机拥有50或者100个量子比特,而且这些量子比特能工作得很好,可以做完全纠错,那么你就可以用这个量子计算机做世界上任何经典计算机永远都不可能做的计算工作了”。
量子计算机强大的计算能力带来的改变将是翻天覆地的,甚至将可能会影响国家安全。
因此,中科院的潘建伟院士曾说:“我相信量子技术在21世纪的重要性可与上个世纪的曼哈顿计划相比。”
2、区块链和比特币挖矿
2008年,区块链概念由中本聪(Satoshi Nakamoto)首次提出,区块链是一种规则,也是一种技术,它的核心是安全和可靠。
目前,全世界区块链技术的最著名的应用就是比特币,中本聪就是比特币的创始人,接下来,我们就从比特币的概念出发来一窥区块链虚实。
现在,我们可以把区块链想象成一个账本,每一个区块中都有这个账本的一部分,这一部分账本的完整信息保存在这个区块的所有节点,这就是区块链技术的去中心化,每个区块都只有账本的一部分,但是这一部分会记录上一个区块的信息,一个区块连一个区块,形成区块链。
区块链的优势就在于它形成了一个信任机制,打个比方,你存了100元存到银行里,如果黑客黑了银行,把你的钱划走了,并且还把数据清除了,你手上就没有任何信息可以证明你在银行有100元的资产。但如果换成是区块链,那么就意味着银行所在的这个区块每一个节点都有完整的账本记录,也就是说你家邻居和隔壁街大婶甚至这个区的每一个居民都有账本能证明你在银行有100元存款。
相比传统金融领域的中心化机制,区块链的去中心化使其更加可靠牢固,即使失去一些节点的信息,系统依然可以继续正常运转,因此区块链被认为是非常安全可靠的技术。
那么比特币挖矿又是什么呢?
基于区块链往下说,中本聪在2009年提出了比特币的概念,他规定比特币网络中,每过十分钟将会产生50个比特币,当总量达到1050万时(2100万的一半),每10分钟产出25个比特币,当总量达到1575万时,每10分钟产生12.5个,而当总量达到2100万时,比特币将停止增长,也就是说比特币的总量从一开始就被定死在2100万个。
而比特币“挖矿”就是新比特币生成的方式,“挖矿”的人被称为“矿工”,矿工利用计算机来解决比特币网络中的数学问题,第一个解决问题的矿工公布答案,计入账本,同步计入所有节点,这就叫挖矿成功,获得比特币。
区块链的机制在量子计算概念发展之前是十分安全和可靠的,至少这么多年了,比特币没有被黑客黑过,但是在近年,量子计算迅速发展,超过之前所预想的速度,因此,有业界人士预测在十年内,区块链的安全可靠将受到来自量子计算机的巨大威胁。
二、量子计算怎么对区块链产生威胁?
要理解量子计算对于区块链的威胁,首先得从比特币系统中的安全协议说起,比特币的协议涉及两种类型的密码学,即挖掘过程中使用的散列函数(哈希函数)和用于在区块链上提供数字签名的非对称密码术。
矿工们利用其计算能力,使用SHA-256哈希函数为每个区块计算一个随机数,这个过程所得到的结果非常容易被验证,但是很难被找到。而不对称密码术则用于授权比特币区块链上的交易,整个链上的每个用户都会被分配一个公钥和一个私钥,这就是公钥密码系统(Public Key),公钥密码系统使用一对密钥来加密信息:可以广泛共享的公钥和只有密钥所有者才知道的私钥。任何人都可以使用预期的接收者公钥加密消息,但只有接收者才能使用他的私钥解密消息。
这样的非对称密码算法使用称为椭圆曲线数字签名算法(ECDSA)来生成密钥,给定一个私钥,很容易推导出相应的公钥,但是,反过来计算困难。这就是现在比特币安全的原因。
而量子计算机可能会对这两道安全防线产生巨大威胁,未来,量子计算机能很快破解哈希函数,从而垄断整个区块链,同时,更近的未来,在2027年,量子计算机的舒尔算法(Shor’s algorithm)被预测能在十分钟(600秒)内破解密钥。
在比特币的世界里,用经典计算机挖矿的成功率和算力有一定关系,但算力大也并不意味着就一定能挖到矿(在你的算力没有超过全网络的50%的情况下),挖矿和运气也有一定程度的关系,以走迷宫为例,一个人走得快,如果一条一条试的话,他肯定能最快到达迷宫终点,但是如果一个人虽然走得慢,却只用一次尝试就找到了通往迷宫终点的路呢?因此,走得快的人不一定稳赢走得慢的人,同理而言,算力大的矿工也不一定比算力小的矿工先挖到矿。
就像上面说的一样,挖矿其实就是解决数学问题,找出哈希函数加密的随机数,但是有可能会有不同的两个矿工组同时发现两个随机数,宣布不同的区块,这种情况下,比特币的规定是处理得更多的那个区块加入区块链,另一个区块则作废。举个例子,这就类似于在一个小区里有51个人说你在银行存了100块钱,而49个人说你存了50块钱,这种情况下,少数服从多数,银行认为你存了100块钱是真,存了50块钱是假。
从这个规定进一步解释“51%攻击”的概念,在区块链中,如果一个矿工组有着整个网络中51%的算力,那他就能垄断整个区块链,因为他永远会比其他49%算力的矿工组更快地处理区块,也就是说他将得到之后产生的所有比特币。
对量子计算机将威胁挖矿的问题,戴夫士•阿加沃尔(Divesh Aggarwal )和新加坡国立大学(NUS)的研究人员进行了深入研究,并在2017年10月就此发表了论文,他们认为首先至少在未来十年内,使用ASIC挖矿的速度会比量子计算机快,不过十年后,量子计算机的挖矿速度会飞速增长;其次,面对量子计算机,区块链采用的非对称密码算法,即公钥密码系统会受到更大的威胁。
新加坡国立大学的研究人员指出,通过使用量子计算机,可以很容易地反过来运行用公钥推定私钥的过程,每个人的私钥都会被量子计算机轻易地推断出来。
▲量子计算机破解加密签名所需时间预估 | 单位:秒,预计2027年只需十分钟/600秒
同样的,我们可以把这个解密过程比喻为走迷宫,经典计算机能做的就是很傻的一个方向一个方向的走,直到走到死胡同,然后回头重新选择走别的路,然而,量子计算机是给你一个上帝视角,俯瞰整个迷宫,该走哪条路就一目了然了。
但是量子计算机需要达到一定的量子比特才能做到这样的程度,外媒Motherboard认为一个4000量子比特的量子计算机就可以瓦解区块链,也就是说哪个人或团队先做出并应用这样的量子计算机就可以解出并验证每一笔交易,未来会产生的还未流通的所有加密货币都会被其垄断,加密货币的信任系统将被瓦解。
三、量子计算机的发展还处于初级阶段
量子计算机的发展固然很快,未来也可能会给区块链带来巨大威胁,但是,现在量子计算机还处于很初级的“玩具计算机”阶段,目前,全世界各巨头仅能做出10个左右的达到高保真度量子比特的量子计算机,上周中科院发布的11量子比特的超导量子计算服务,是全世界第二家10量子比特以上的云计算服务,第一家是IBM,去年年底,IBM已经开放20量子比特的云计算服务。像这样的量子计算服务还不能被拿来解决什么实际的计算问题,不过,开发者已经可以用这样的云服务来学习量子计算机相关的编程知识了。
这样看起来,4000量子比特似乎真的离我们还很遥远,不过,可能也并没有我们想象的那么遥远,因为基于近几年微软、谷歌还有IBM(这三家公司都建立了自己的专注量子计算研究的实验室 )在量子计算领域所取得的一系列突破进展,《财富》杂志预测第一个实用的量子计算机将在十年内被造出来。
十年以内这个时间,到底是多久,很多公司都曾预测过,比如微软曾预测实用量子计算机将在2025年被造出来,谷歌也在2017年放话说将在五年内(也就是2022年左右)做出商业化的实用型量子计算机。
四、结语:有影响,但也有对策
量子计算机的发展是无可避免的,终有一天将会威胁到区块链,但似乎区块链的很多专家们还没有警惕起来。
据《财富》杂志报道,在2017年11月的Crypto 2017会议(顶尖的区块链密码技术人员会议 )上,全球“没有人担心”量子计算风险。一位专家表示,这将是一个“非常昂贵的操作”,可能需要“政府级”支出,而另一位专家,完全嘲笑这个想法,他直摆手说,等到实用量子计算机出来的时候,公钥密码系统已经发展到不需要担心量子计算机的程度了,所以这个问题根本无关紧要。
但是这些专家们都有一个相同的观点 – 那就是量子计算的出现将危及所有现有加密加密方法(包括RSA令牌)的安全性。量子计算机将影响整个金融和银行业的安全,而不仅仅是区块链。
与此同时,也有相关机构对此极为重视,比如在2015年,美国国家安全局(NSA, National Security Agency)宣布正在研究量子密码系统,即可以抵御量子计算的加密系统。在学术界,也有密码学专家正在研究量子密码学,并且已经有了实施量子密码学的区块链项目,例如,Quantum Resistant Ledger团队和俄罗斯量子中心的Evgeny Kiktenko团队正在致力于构建可抵御量子计算机攻击的量子区块链,而且已经有标准量子密码系统实现商用。
目前,可能谁都无法准确预测实用量子计算机诞生的具体时间点,但是积极一点看的话,商用量子计算机的诞生可能比我们预想的都要快,因为如今的科技发展是加速的,而不是匀速发展的,也许在2018年,量子计算机还在非常初期的阶段,实用量子计算机的发展进度才到5%,但是可能在2019年,这个进度就到了10%,而在2020年,进度会达到30%,这一切都是有可能的。
科技一直在发展,区块链和加密货币等新兴技术也许都还处在幼儿期,达到技术成熟还有很长一段路要走,开发人员需要小心在这个过程中会出现的一系列阻碍,这其中也包括量子计算。