实现数字经济的新承诺
1994年,唐·塔普斯科特(Don Tapscott)用他的书名创造了“数字经济”一词。 它讨论了网络和信息互联网如何在商业和社会中带来重大变化。 今天,价值互联网创造了深刻的新可能性。
2017年,Don和Alex Tapscott成立了区块链研究所,以帮助实现数字经济的新承诺。 我们研究区块链技术的战略意义,并提供实用的见解,以贡献全球区块链知识,并帮助我们的成员驾驭这场革命。
我们的调查结果,结论和建议最初属于我们的成员,最终向公众发布,以支持我们的使命。 欲了解更多信息,请访问www.blockchainresearchinstitute.org。
前言:
在区块链革命中,Alex Tapscott和我写了一篇关于量子威胁的文章:“远在眼前的是量子计算,即密码学家的Y2K问题。它结合了量子力学和理论计算来解决问题 - 例如加密算法 - 比现在的计算机快得多。“据人工智能专家Steve Omohundro说,”理论上,量子计算机可以非常快速有效地计算非常大的数量,大多数公钥加密系统都是基于这样的任务。因此,如果它们变成现实,那么整个世界的加密基础设施将不得不发生巨大变化。“1
我们尚未达到量子至上,即量子机器能够执行超出任何经典计算机能够执行的计算任务的点。但谷歌认为我们可以在五年内达到这一里程碑
量子竞赛开始了。据“经济学人”杂志报道,中国在量子加密和量子密钥分发专利申请方面处于领先地位,美国在量子计算和量子传感器方面处于领先地位.3鉴于加密技术支持区块链技术以及我们机构和基础设施的网络安全,我们相信这个话题太大了,不容忽视。
这个雄心勃勃的项目需要一个研究团队,所以我们从滑铁卢大学Vlad Gheorghiu,Sergey Gorbunov,Michele Mosca和Bill Munson招募了四位明星。他们带来了他们在计算机科学,理论物理学,网络安全政策和数学优化两个领域的专业知识,这两个领域与商业和政府的管理问题以及组合学相结合,组合学将物理世界建模结合起来。越来越多的公司正在招聘这类人才。
他们解释了量子计算如何成为现代密码学的真正威胁:到2026年,量子计算机将有七分之一的商业可用性。这还不到十年之久!到2031年,赔率变为二分之一。他们的研究是行动呼吁。他们的一些解释在技术上很复杂,但我们认为过分简化这些问题是不明智的:我们需要一定程度的细节来提高精确度。我们的成员需要了解他们对现有区块链进行量子校对和设计量子抗性区块链网络的选择。
想法简短
»»强大的量子计算机的到来将破坏当前部署的公钥加密技术并削弱对称密钥加密技术,从而破坏保护我们系统和基础设施的网络安全。区块链技术中用于验证交易的数字签名方案完全容易受到攻击。
»»区块链的量子校对问题可分为两种情况。第一种情况是指对新的区块链进行量子化验证,即从头开始设计量子抗性区块链,而第二种情况是指对现有区块链(如比特币网络)进行量子化验证。
»»使区块链抵抗量子攻击的具有成本效益的方法可能是将当前部署的数字签名方案(基于RSA或EC-DSA)替换为后量子攻击方案,这可以从某些数学难度中获得安全性。问题;因此,它们提供了通常所说的计算安全性。
»»量子计算非常容易受到环境噪声的影响,因此需要量子纠错码才能正常工作。 因此,除非我们在容错量子纠错或新的量子计算架构发挥作用方面取得重大进展,否则这种现实的量子实现不会构成威胁。
»»后量子数字签名方案提供针对量子对手的安全性,代价是更大的公钥/私钥大小或签名大小,这可能带来严重的可扩展性挑战。减少签名大小和公钥/私钥大小对于设计稳健且高效的量子抗性区块链至关重要。
量子威胁简介
我们似乎处于一些所谓的区块链革命的尖端.4区块链是跨越对等计算机网络的一种无权分散的分布式交易分类账(不一定是财务),其中网络共同建立信任而没有中央权威。这种能力具有深远的意义,因为社会一直在努力实现分布式信任。
很快,我们将处于我们可能称之为量子革命的尖端。世界各地的科学家和工程师正在努力构建第一台可行的计算机,它使用量子比特(或“量子比特”)而不是传统的比特来解决极其困难的数学问题,比现在的计算机更快。极其强大的量子计算的到来将破坏当前部署的公钥密码术并削弱对称密钥密码术,从而破坏保护我们的基础设施和系统的网络安全。
不幸的是,我们不能假设区块链强烈依赖公钥密码术,不受这种存在威胁的影响。区块链的安全性基于现代加密协议.5例如,交易的真实性基于公钥加密数字签名,数据的验证和进一步不变性基于对称密钥加密(哈希函数) 。当前部署的公钥基础结构容易受到量子攻击,基于计算问题的硬度,例如因子分解或计算离散对数,这些都可以被量子计算机破坏。
因此,区块链社区必须采取行动以确保该技术能够承受量子驱动的网络攻击。这意味着评估量子计算对保护区块链系统元素的加密的潜在影响,然后通过部署旨在抵制量子攻击的密码来设计和实施缓解量子威胁所需的措施。
一个2030年的故事
这是2030年。一些庞大的全球性公司在区块链上运行其全部业务。其客户(及其所有机器人)参与区块链网络的一部分:他们通过智能合约进行产品和服务协商,并通过区块链支付加密货币.6公司的信任程度明显高于2017年的水平,因为每个交易的完整性现在是固有的并且在区块链上得到保证。
在世界的另一个角落,一个小组已经组装并即将部署第一个容错通用量子计算机.7在实验室外第一次,计算机将能够计算2048位RSA数.8第一个原型预计将在不到六个月的时间内上市。不幸的是,我们庞大的全球公司从未将量子计算视为严重风险;它的首席执行官将警告视为科学的笨重,并且很快就会对业务运营产生实际影响 - 如果有的话。
现在想象一下,公司区块链中的一些节点(即参与者,无论是人还是物)都在等待访问量子计算机的客户名单上,并准备在不到一年的时间内使用它们。其中一些节点不会让道德甚至法律代码阻止他们很快赚到大笔钱。也许这些ne’er-do-well将使用量子计算机在可能的情况下通过用自己的目标地址替换预定的目的地地址来改变发送用于验证的交易和误导资金。
没有量子计算机就不可能安装这样的攻击,因为使用经典(非量子)计算机的数字签名是不可伪造的 - 保护数据的真实性。然而,通用容错量子机将使我们的新的节点能够在几分钟内伪造数字签名,少于网络平均需要10分钟来验证块。攻击节点然后广播改变的事务,该事务看起来对其他节点完全有效;他们不会知道有些钱直接进入攻击者的数字钱包而不是返回原始发件人的钱。
区块链是公开的和不可改变的,并且应该保持其完整性和安全性功能已有数十年。然而,使用量子计算机,人们可以重写历史:伪造10年前发生的事务,并有效地计算新的最长路径链以覆盖过去10年的整个历史。我们稍后会分析这种攻击的严重性。
回到我们的故事,随着时间的推移,越来越多的攻击发生在上面。公众对公司的信任度处于历史最低水平。客户已经将他们的资产重新投资于更安全的公司,这些公司采用量子抗性区块链作为其基础业务模式.9一年之内,该公司破产。
这种情况看起来有些牵强吗?六十年前,大多数人认为自动计算机在大公司之外永远不会有用,个人计算机完全不可想象。如今,我们每个智能手机的处理能力都超过了五十年前世界上可用的总计算能力。
量子计算机是对现代密码学的真正威胁。即使今天没有一个,量子计算机到2026年可用的机会估计是七分之一,并且到2031年可用的机会增加到二分之一.10鉴于密码学是我们的基础之一。网络安全,我们认为即使七分之一的人也有太大的机会忽视。
让我们回到2030年,一个组织(比如说,一个外国政府或大公司)可以使用第一台通用量子计算机,而世界上没有其他人知道它。计算机功能强大,可以通过运行Shor算法在几秒或几分钟内中断RSA或ECC密钥。对于目前的区块链技术,这种情况是灾难性的。
为什么?假设上述组织恶意攻击使用比特币区块链作为其基础支付系统的银行。银行的每个客户都有一个钱包,它由一对公钥/密钥组成,其中公钥是从密钥中导出的,但是秘密密钥不可能仅从公钥中恢复.11同样,银行有一个钱包,由许多这样的公钥/秘密(或私人)密钥对组成。每当银行想要向客户发送货币(在这种情况下,比特币)时,银行就使用相应客户的公钥的哈希作为钱将进入的钱包的地址,然后签署交易。表格“我,银行X,向地址Z标识的客户Y发送10个比特币。”银行用其中一个密钥签署交易,然后广播到区块链网络,该网络将在10分钟内对其进行验证。
但是,使用量子计算机的恶意组织会在几秒或几分钟内破坏银行的私钥。然后后者可以安装一个新的钱包,加载受损的密钥,然后假装是银行付款。由于这个新钱包与原始银行的钱包相同,因此没有人能够看到交易的差异,并且会假设交易有效并且应该包含在区块链中。恶意组织现在可以利用所有银行的付款并将其重定向到自己的钱包。
这只是当前比特币区块链的安全性如何对量子对手过时的一个例子。我们之前提到量子计算机不仅可以使用Shor算法打破基于RSA或ECC的当前公钥加密,还可以通过运行Grover的搜索算法加速对散列函数的攻击。后者的加速不那么引人注目,仅比任何蛮力经典算法都更加平方。然而,这种攻击仍然会在区块链中造成严重破坏。
例如,假设整个交易链已经过验证并添加到区块链中。也假设我们的恶意组织“及时”回到区块链上的某个点,并在那个时间点分叉链,然后开始按顺序修改链中的所有事务并在运行中验证它们,以便资金(比特币)被重定向到它的钱包。恶意组织很可能比其他一些挖掘池更快地验证每个事务,因为它能够以更快的速度执行工作证明。
最终,恶意组织能够“赶上”区块链中当前的诚实分叉,然后进一步扩展其恶意分支。最终,网络同意新的恶意分支比现有的诚实分叉更长,并且集体同意切换到新的分支 - 并且整个长链事务立即受到损害。
上面的例子只是描述了恶意用户如何使用量子计算机来防御不知情的公共区块链网络.13可能会有更加聪明的攻击,我们只会在发生时或之后发现这些攻击,因为网络安全历史告诉我们。濒危将是许多应用程序,从使用区块链作为分类帐的金融机构到它们之间的交易验证,到使用区块链进行小额支付的物联网(IoT)系统或将区域链等用户健康状态信息记录到区块链。
问题:区块链不完全是量子安全的
今天的区块链不是量子安全的,至少不是完全的。区块链事务包括两个步骤:事务本身,然后是区块链网络在块中组合在一起的多个事务的验证。交易本身可以是任何东西。为简单起见,我们假设这是一个金融交易,Alice同意支付Bob 100个单位。这样的交易是由Alice进行时间戳和数字签名的,Alice将其广播到网络,后者集体同意Alice确实同意支付Bob 100个单位。网络如何保证是Alice自己将消息发送给Bob,而不是Bob试图快速致富?
这是公钥加密技术发挥作用的地方。 Alice的数字钱包由一个或多个所谓的公钥/私钥对组成。每个私钥直接对应公钥;公钥和私钥在数学上是相互关联的。然而,仅使用公钥来恢复私钥在计算上是不可行的.15爱丽丝使用她的私钥(只有她知道)对事务进行数字签名,然后将相应的公钥广播到网络。网络可以验证确实是Alice使用她的公钥来发送交易。没有其他人可以签署该消息。
我们在实践中使用什么样的数字签名方案?最受欢迎的是基于RSA的签名(Rivest-Shamir-Adelman),DSA(数字签名算法)和EC-DSA(椭圆曲线数字签名算法),这是今天比特币区块链中使用的方案.16
基于RSA的签名从难以分解两个非常大的素数的乘积中获得它们的安全性,每个素数在数百到数千位长的范围内,这取决于特定的方案。如果我们得到如此大的数字,那么提取它的因子似乎是一个指数级困难的计算问题。
后两种方案基于一个完全不同的难题:解决大型阿贝尔群中的离散对数问题(即,将组操作应用于两个组元素的结果不依赖于它们出现的顺序的组).17简单地说,如果我们给出一个组的元素 - 我们称之为g,格式为g = bk,其中b是同一组的另一个已知元素,k是未知整数 - 问题是找到k。
使用EC-DSA,组本身由椭圆曲线上的点组成,组操作遵循一些规则.18因子和离散对数问题都是一类更普遍的问题实例,称为隐藏子组问题(HSP) )在有限生成的(阿贝尔)群体上。经典计算机发现HSP问题难以解决,其难以解决的问题是我们当前的公钥基础设施的基础。
1994年,Peter Shor意识到通用量子计算机可以在多项式时间内分解和找到离散对数,也就是说,可以有效地解决这些问题.19因此,任何基于这些问题(或HSP)的公钥密码系统都不能抵御量子对手。在我们的案例中,区块链中用于验证交易的数字签名方案是完全容易受到攻击的:任何拥有足够强大量子计算机的人都可以冒充Alice并将某些资产从交易重定向到他/她自己的口袋(数字钱包)而不需 要网络意识到发生了攻击。这是因为攻击者可以在量子计算机的帮助下从公钥中恢复私钥,然后使用相应的私钥更改事务并伪造签名,这对于网络来说是完全合法的事务,因为只有Alice本来可以正确签署交易。
因此,量子计算机对区块链构成了非常严重的威胁:只要用户没有花钱,用户的钱包就是安全的。换句话说,只要用户只将资产收集到他们的钱包中并且从不广播他们的公钥,攻击者就无法了解他们的私钥.20用户只有在需要签署交易时才会广播他们的公钥,即,当他们想要花钱。如果有人在该阶段冒充用户,则用户可能不可逆转地丢失与该公钥/私钥对相关联的钱。
第二阶段,网络验证怎么样?将事务分组到块后,必须由整个网络验证该块。只有当大多数网络节点在块上达成一致时,才会将其添加到区块链中,即通过后者的哈希链接到前一个块。通常,验证方案基于工作量证明原理(尽管存在其他方案),其要求网络的节点解决硬计算问题或难题,例如反转子域上的散列函数。首先解决难题的节点通常会收到一些奖励(例如根据比特币协议的新铸造的比特币),因此节点有动机参与验证过程。
攻击者是否可以通过广播攻击者与Bob和Charlie共同使用同一资产的两笔交易来尝试双重花费一些资产?只有攻击者可以接管网络并尝试验证这两个事务。但是,要做到这一点,攻击者必须比组合网络的其余部分更快地解决工作量证明问题。否则,网络的其余部分将在攻击者之前提出解决方案,并且区块链验证属于最长链的交易,在这种情况下,该交易将属于诚实用户。
幸运的是,量子计算机对哈希函数和对称密钥加密技术构成了较为严重的威胁。对哈希函数的最明显攻击是基于强力攻击,即攻击者搜索哈希值的前映像,直到所需的验证条件为止。实现。因为这样的搜索是完全非结构化的,所以量子计算机可以在经典计算机上提供二次加速.22
因此,量子计算机确实威胁到哈希函数,但是我们可以很容易地使得工作量证明难题变得更难以使得即使是量子计算机也无法足够快地解决它。然而,网络中具有更多计算能力的用户(可能包括量子计算机)具有更高的赢得拼图的机会,因此总是集中力量。因此,快速计算机器(即,仅对有限数量的用户可用的诸如量子计算机的快速机器)的不对称分布对网络构成重大威胁。在设计量子抗性区块链时,我们应该考虑到这一点。
分析我们的选择
区块链的抽象模型
区块链是一种分布式信托分类账,其中网络共同获得共识,而无需集中授权。区块链由事务块组成,每个事务块通过一些链接机制(例如前一个块头的哈希)链接到其父级。只有当网络验证一个块时,它才会附加到区块链中(图1)。最着名的共识机制是:
1.工作证明(PoW),其中只有首先解决计算难题的网络节点才能验证事务
2.利益证明(PoS),其中更有利害关系的节点(例如,持有更多加密货币)更有可能被选为验证者
3.存储证明或时间证明,其中具有更多计算资源的节点(例如磁盘空间或中央处理单元时间)更有可能被选为验证器
上述所有共识机制都可以防止双重支出问题。虽然PoW被认为是加密安全的,但它有一个主要的缺点,即它需要大量的热力学工作和时间.23其他共识机制,如容错拜占庭协议(例如,Algorand,Tendermint和Hyperledger),避免了PoW问题.24然而,我们尚不完全清楚这些协议是如何加密保护的,而且我们对于我们是否能使它们具有量子抗性知之甚少。
从更高的层面,我们可以看到区块链由层组成:
1.加密构建块(例如,散列函数,公钥交换,对称密码术)
2.算法原语(例如,Merkle树,加密谜题,全局时钟)
3.共识协议(例如,PoW,容错拜占庭协议)
4.附加的非默认安全属性(例如,Zcash区块链使用称为zk-SNARKs的零知识证明变体 - 零知识简洁非交互式
知识论证 - 提供交易匿名性。 Zk-SNARKs不是量子安全的,因此一旦量子计算机出现,30年的区块链数据可能突然变得非匿名化)