区块链是一种分布式的数据库。区块链网络中的节点在没有中央权威的情况下建立信任。这具有深远的意义,因为社会也一直在努力实现分布式的信任。


世界各地的科学家和工程师正在努力构建第一台量子计算机,它使用量子比特来解决困难的数学难题。理论上量子计算机可以非常快速有效地处理非常大的计算量。但大多数公钥加密(非对称加密)系统的安全性都是基于庞大的计算量。量子计算的到来将破坏我们当前部署的对称加密技术和非对称加密技术。因此如果量子计算机被制造出来,整个世界的加密方法将不得不发生巨变。


量子威胁



量子计算机的到来将打破我们的系统和基础设施的网络安全。区块链技术中用于验证交易数字签名的过程完全可能受到攻击。区块链的安全性基于现代加密协议。交易的真实性基于公钥加密数字签名,数据的验证和其不变性基于对称密钥加密。这些都可以被量子计算机破解。


想象区块链网络上有一些节点能够使用量子计算机,其中一些节点可能会越过道德和法律的底线并赚到大笔的钱。使用量子计算机可以通过用自己的地址替换预定目的地地址来改变用于验证的交易。比特币网络平均需要十分钟来验证区块,而量子计算机能够在几分钟内伪造数字签名。在交易被验证之前,通过广播被改变的交易使自己的交易被提交验证。而网络上的其他节点不会知道这些加密货币进入了攻击者的钱包。如果没有量子计算机就不会出现这样的情况。


区块链以它的公开记账和不可篡改的特性闻名。区块链保持它的完整性和安全性已经有近十年了。然而使用量子计算机人们可以重写历史,伪造十年前发生的交易,并且制造出最长的链来覆盖过去十年的所有交易。


通过量子计算机伪造区块链交易


量子计算机离我们可能并不遥远。六十年前大多数人认为除了大公司其他人永远不会用上计算机。如今我们手中的智能手机的处理能力都超过了五十年前世界上计算机可用的总算力。即使现在一台量子计算机也没有。量子计算机是对现代密码学的真正威胁。随着时间的推移,越来越多的攻击将会发生。公众对公司的信任度将处于历史最低。


对于量子计算来说,今天的区块链并不是安全的。完成一个区块链的交易包括创建交易和验证交易。交易可以是多种形式的。如果Alice需要支付给Bob100个单位的加密货币,Alice需要将带有时间戳和数字签名的交易广播到网络中,验证通过后交易就完成了。但网络中的其他节点并不知道这是Alice自愿支付的还是Bob伪造的。Alice的数字钱包由一个或多个所谓的密钥对(私钥和公钥)组成。私钥与公钥在数学上是相关的。然而仅仅使用传统计算机用公钥来恢复私钥是不可行的。


目前最受欢迎的数字签名方案有RSA、DSA(数字签名算法)、EC-DSA(椭圆曲线数字签名算法)。比特币的区块链使用的就是EC-DSA。RSA签名的安全性是基于两个非常大的素数的乘积难以分解,每个素数的长度在几百到几千位之间。提取这样一个大数的因子基本是一个指数级的难题。后两种方案是基于解决大型阿贝尔群中离散对数问题。


使用EC-DSA时,群本身由椭圆曲线上的点组成,群操作遵循一些规则。求离散对数的问题被称为在有限阿贝尔群上的隐藏子群问题(HSP)。传统计算机难以解决这样的问题,这也是目前密码安全性的保障。



1994年Peter Shor意识到量子计算机可以在多项式时间内分解得到因子和找到离散对数。因此任何基于这些问题的非对称加密系统都不能抵御量子计算机。任何拥有足够强大的量子计算机的人都可以冒充Alice并将某些资产从目标地址重新定向到自己的钱包地址。这不会让整个区块链网络意识到发生了攻击,因为在量子计算机的帮助下可以从公钥出发得到私钥,然后使用相应的私钥篡改交易并伪造签名,这对于区块链网络来说是完全合法的交易,因为原本只有Alice才可以正确签名交易。


在交易验证阶段,拥有强大量子计算机的节点也更容易完成工作量证明让自己的交易通过验证。


结语


量子计算机对区块链构成了非常严重的威胁,只有在用户不公布自己的公钥的时候,才能确保用户的钱包是安全的。虽然量子计算非常容易受到环境噪声的影响,需要量子纠错码才能正常工作。除非我们在量子计算架构取得重大的进展,否则量子计算将不会构成实质性的威胁。


我们必须采取行动以确保区块链技术能够承受量子驱动的网络攻击。评估量子计算机对区块链加密特性的影响,然后部署抵制量子攻击的密码设计和实施缓解量子威胁所需要的措施。要抵制量子计算机的威胁,我们需要设计具有量子抗性的区块链。对于量子计算机可能的攻击方式都需要考虑到。



分享到: