区块链 VS 量子计算,这恐怕是任正非也逃不过的真香定律
11月6日华为举行的《与任正非咖啡对话》活动上,华为创始人任正非与智能工厂工业 4.0 精神之父、德国生产自动化教授 Detlef Zuehlke 以及前联合国安理会主席马凯硕进行了“数字主权,从对话到行动”的主题对话。
在对话过程中,任正非表示,关于信息安全问题永远是大问题,就和矛和盾的关系一样,有盾一定有矛,但是量子计算机出现之后很多计算问题就可以解决了。“很多人将区块链说的多么伟大,但在量子计算面前就一钱不值了。”对于信息安全问题,任正非认为可以求助于法律。
针对这种观点,Conflux 研究总监、Conflux 研究院院长杨光博士认为: 量子计算机对于区块链安全性的影响微乎其微,从技术角度来说不构成威胁 ;相比之下,所谓“量子计算机出现之后很多计算问题就可以解决了”的说法纯属耸人听闻的谣言,对普通群众的心理影响比较大,可能被人炒作用来操纵币价。
纵观量子计算的发展历史,公认的称得上“有实际意义”的量子计算算法,最多的时候一共有两个半:
第一个也是最著名的,是可以分解大整数或者寻找群里面周期的 Shor 算法,这个算法比经典算法有指数级别的优势,可以用来攻击 RSA 算法和椭圆曲线加密/签名;
第二个是用于搜索的 Grover 算法,这个算法有平方量级的加速,比如说原来用的时间是 N 的话,这个量子算法只需要 √N 的时间就可以;
最后半个,是解线性方程组的 HHL 算法,号称在满足若干个前提条件的情况下,可以加速机器学习中间的某一步。
但是最近的研究成果表明,经典算法也可以做到差不多的程度,所以这半个也不能算数了,现在只剩下两个。
对于其余几乎所有有意义的、非刻意构造的问题,量子计算目前都还没有显示出超越经典计算机的优势。这也是近三十年来量子计算领域最为关注的问题。
所以,即便是现在就有了高性能的量子计算机,那么最大的影响也就是 RSA 加密算法和 ECDSA 签名算法不安全了,需要更换成别的加密和签名算法。
其实我们早就有很多抗量子计算攻击的算法,只是因为没有量子计算机所以大家懒得换而已。到量子计算机做出来的时候大家更换新的算法就行了。
对于一般的计算问题,包括寻找哈希函数的碰撞等,量子计算机并没有明显的优势。也就是说,用量子计算机也不可能一下子就找到哈希函数的碰撞。
即便用 Grover 量子搜索算法挖矿也许会暂时有一点优势,但顶多也就是相当于从 CPU 升级到 ASIC 矿机的程度。等到大家都用量子计算机挖矿就建立起新的平衡了。
另外,中本聪还是非常厉害的,这点不得不佩服。
比特币不是直接拿公钥当地址,而是用公钥的哈希作为地址,并且一般建议地址不要重复使用。因此对于没有暴露过公钥的地址,量子计算机也无从下手。
交易广播的时候,虽然公钥会暴露,但是大概率在攻击者破解公钥之前交易就已经被确认,实际上也不会遭到攻击。而且地址采用公钥的哈希,实际上也非常方便将来升级到抗量子计算攻击的签名算法。
所以,量子计算对于区块链的安全影响很小,而且是容易解决的,从技术角度来说不构成威胁。
今年9月,谷歌在《自然》(Nature)杂志上发表论文,声称他们的量子计算机“Sycamore”已经取得了量子霸权(quantum supremacy),能在短短3分20秒内完成一项验证大数字随机性的任务。
消息传来,也曾一度引发人们的担忧,量子计算的逐步实现可能给区块链引以为傲的加密体系带来彻底的颠覆。
量子霸权对区块链有什么影响?
先不说这个说法遭到以 IBM 为首的业界和学界很多科学家的质疑,谷歌实际上就是找了一个对量子计算特别友好、同时对经典计算机特别不友好的问题 —— 模拟一个随机量子电路的行为,然后在这个问题上说量子芯片比超级计算机做得好。
这点在科学上可能有一些纪念意义,但是对于解决现实问题毫无意义,更不代表着在某一个有用的问题上“谷歌”的量子计算芯片都可以几分钟完成经典超级计算机要花很久才能完成的计算。
打个比方,我们不能因为一个人学驴叫没有一头驴学的像,就认为这头驴比人更厉害,更不可能认为驴类已经进化到全方位超过人类,实现了“驴类霸权”。
还回到量子计算机的进展的问题,按照谷歌现在的量子芯片的水平估计,量子计算机还要多久才能发展到可以攻破现实使用的 RSA 加密算法呢?
以密钥长度为 2048 位的 RSA 算法为例,这实际上已经是现在用的最低安全性的标准了,大约需要 3000~4000 个逻辑量子比特才能攻破。谷歌现在的芯片已经达到了 60 个量子比特,按照量子摩尔定律算似乎也就还需要不到 10 年时间。
但是实际上, 谷歌的芯片上实现的是物理量子比特,不是逻辑量子比特。
物理量子比特很容易受到外界干扰影响,不能直接用于复杂计算。所以真正要计算的话需要把很多个物理量子比特用量子纠错码组织在一起,形成逻辑量子比特以后才能用。按照现在能达到的误差水平,大约需要几万到几十万个物理量子比特才能实现一个逻辑量子比特。
用经典计算机的硬件做个类比的话,就是破解 2048 位的 RSA 算法需要一个 4000 位的量子计算 CPU,但是现在的量子芯片的发展水平大概到了“量子三极管”的程度,距离实现一个逻辑上的量子门电路都还有一段距离。
破解现实中的 RSA 算法至少应该是二十年以后的事儿了。
最后,再强调一下, 像量子计算机这样,凭借工程上的进展,一步一步地提高计算能力,发展到足以攻破密码学算法,实际上对于安全的影响是很小的。 因为我们可以提前知道威胁即将到来,然后升级到更厉害的密码学算法。最终等量子计算机真的来了,发现早就已经没人用 RSA 了。
跟量子计算机的工程进展相比, 对整个区块链行业更危险的其实是数学家,包括密码学家和理论计算机科学家。
因为他们可能某天灵光一现,突然发现一个很厉害的攻击方法,让所有人都措手不及。所以我们还是要善待他们,以免将来出现某个数学天才破解了区块链用到的密码学算法报复社会的情况。