主页 > 怎么看出来imtoken真伪 > 量子计算和比特币安全

量子计算和比特币安全

怎么看出来imtoken真伪 2023-01-17 06:50:30

量子计算机可能对比特币区块链的影响分析

量子计算机最著名的应用之一是破解当今使用的大多数密码加密算法。自从谷歌宣布它已经实现了量子霸权以来,网络上越来越多的文章预测当今使用的密码学将普遍消亡,尤其是比特币。本文的目的是客观评估量子计算机对比特币构成的风险。

本文将主要回答以下问题:

量子计算机和密码学

关于量子计算机如何对当前使用的非对称密码学(公钥密码学)构成威胁的讨论很多。因此,我们不会详细讨论这个问题,而只是解释与本文相关的方面。

在非对称密码术(公钥密码术)中,私钥-公钥对的生成方式使得两个密钥之间存在数学关系。顾名思义,私钥是保密的,而公钥是公开的。个人使用他们的私钥生成数字签名,任何人都可以使用相应的公钥进行验证。这种方案在金融行业很常见量子计算比特币,用来证明交易的真实性和完整性。

非对称密码学的安全性基于称为“单向函数”的数学原理。这个原则表明公钥可以很容易地从私钥中推导出来,但反之则不然。所有已知的(经典)算法,从公钥派生出私钥,都需要大量的时间来计算,因此是不切实际的。然而,在 1994 年,数学家 Peter Shor 发表了一种量子算法,可以打破非对称密码学中最常见算法的安全假设。这意味着任何拥有足够强大的量子计算机的人都可以使用该算法从其相应的公钥中派生出私钥来伪造任何数字签名。

比特币 101

要了解量子计算机对比特币的影响,我们将从简要概述比特币交易的工作原理开始。比特币是一种去中心化的价值转移系统。与银行系统负责为客户提供银行账户的银行系统不同,比特币用户负责生成自己的(随机)地址。通过一个简单的程序,用户的计算机计算出一个随机的比特币地址(与公钥相关)和一个秘密(私钥),这是从该地址进行交易所需的。

将比特币从一个地址转移到另一个地址称为交易。此交易类似于从一个银行账户向另一个银行账户汇款。在比特币中,发送者必须通过提供数字签名来授权他们的交易,证明他们拥有存储资金的地址。请记住:拥有工作量子计算机和您的公钥的人可以伪造此签名,因此可能会花费任何人的比特币。

在比特币网络中,哪些交易被接受到网络中的决定最终留给了所谓的矿工。矿工竞相处理下一批交易,也称为区块。谁赢得了比赛,谁就获得了下一个区块的记账权,并被允许构建下一个区块,当他们这样做时,他们将获得新的硬币。比特币的区块以顺序方式相互连接。它们一起形成了一条称为“区块链”的链。

获得记账权的矿工创建一个新区块,并可以自由地包含他们希望的任何交易。其他矿工通过在他们同意的区块上构建来表达他们的同意。如果出现分歧,它们将建立在最近接受的区块上。换句话说,如果流氓矿工试图构建无效块,诚实的矿工将忽略无效块并在最近的有效块之上构建。

比特币地址类型

比特币地址可以分为两类,每一类都受到量子计算机的不同影响。

在第一类中,公钥直接充当接收者的比特币地址。出于显而易见的原因,对此类地址的交易被称为“支付公钥”(p2pk)。在 2009 年比特币的早期,这是主要的地址类型。许多由中本聪本人开采的比特币仍然存储在这样的地址中。这些地址的一个问题是缺乏一种机制来检测地址的错误输入(例如,最后一个校验位,例如用于信用卡号码中的)。另一个问题是这些地址很长,导致交易文件更大,处理时间更长。

由于比特币中的所有交易都是公开的,任何人都可以从任何 p2pk 地址获取公钥。然后,运行 Shor 算法的量子计算机可以从该地址导出私钥。这将允许任何拥有量子计算机的人使用该地址的所有比特币。

在第二种交易中,接收者的地址由公钥的散列组成。由于散列是一种单向加密功能,因此地址不会直接泄露公钥。第一个也是最流行的实现叫做“pay to public key hash”(p2pkh),它旨在解决上述两个问题(校验和和地址长度,更详细的解释,我们参考这个页面。如上所述,无法从地址中检索公钥。仅当所有者希望发起交易时才会显示公钥。这意味着只要从未从 p2pkh 地址转移资金,就永远不会访问该帐户 一旦使用,公众密钥未知,私钥无法由量子计算机计算,但有一个例外,如果资金曾经从特定的 p2pkh 地址转移(无论金额大小),公钥将被泄露。从那一刻起,该地址被标记为“已使用”,最好不要用它来接收新币. 事实上,许多钱包都被编程为尽可能避免地址重用。避免重复使用地址被认为是比特币用户的最佳实践,但你会惊讶于有多少人没有把这个建议放在心上。下一章会详细介绍这一点。避免重复使用地址被认为是比特币用户的最佳实践,但你会惊讶于有多少人没有把这个建议放在心上。下一章会详细介绍这一点。避免重复使用地址被认为是比特币用户的最佳实践,但你会惊讶于有多少人没有把这个建议放在心上。下一章会详细介绍这一点。

给定一台足够大的量子计算机,现在可以盗取多少比特币?

想象一下,今天有人成功建造了一台量子计算机,因此能够推导出私钥。多少比特币将面临风险?

为了回答这个问题,我们分析了整个比特币区块链,以确定哪些硬币容易受到量子计算机的攻击。如上一节所述,p2pk 地址和重复使用的 p2pkh 地址中的所有比特币都容易受到量子攻击。我们的分析结果如下图所示。

它显示了比特币在各种地址类型中的分布。从图中可以清楚地看出,p2pk 地址主导了比特币区块链存在的第一年。有趣的是,p2pk 地址中的数量几乎保持不变(大约 200 万比特币)。一个合理的假设是这些代币是被开采出来的,并且从未从它们的原始地址移动。

随着 2010 年 p2pkh 的推出,它迅速占据主导地位。从那时起,大多数比特币都存储在这种类型的地址中。在图中我们看到,在 p2pkh 中存储和重复使用的比特币数量从 2010 年到 2014 年有所增加,此后缓慢下降,达到目前的 250 万比特币。这表明人们普遍遵循不使用 p2pk 地址和不重复使用 p2pkh 地址的最佳实践。尽管如此,仍有超过 400 万比特币(约占所有比特币的 25%)面临量子攻击的风险。以目前的价格计算,这相当于超过 400 亿美元!

图 1:存储在易受量子攻击的地址中的比特币分布。该图显示,大约 25% 的比特币易受量子攻击,易受攻击的 p2pk 币和 p2pkh 币的数量相同。请注意,图中存在重复使用的隔离见证币,但本文中未提及。如何降低比特币被拥有量子计算机的人窃取的风险?

在上一节中,我们解释了 p2pk 和重复使用的 p2pkh 比特币地址容易受到量子攻击。那些从未使用过比特币的 p2pkh 地址是安全的,因为它们的公钥尚未公开。这意味着如果您将比特币移动到新的 p2pkh 地址,它们应该不会受到量子攻击。

这种方法的问题是许多比特币所有者丢失了他们的私钥。这些硬币无法转移,等待操作第一台足够强大的量子计算机的人拿走。这个问题的解决方案是在比特币社区内达成共识,并提供最终警告,将他们的比特币转移到安全地址。在预定时间之后,不安全地址中的比特币将变得不可用(从技术上讲,这意味着矿工将忽略来自这些地址的交易)。如此激进的举措在实施前需要慎重考虑,更不用说在如此敏感的问题上达成共识的可行性有多大。

比特币区块链现在和将来是否天生就可以抵抗量子攻击?

让我们假设所有易受攻击的比特币的所有者将他们的资金转移到一个安全的地址(也就是说,每个“神奇地”丢失私钥的人都能找到它)。这是否意味着比特币区块链不再容易受到量子攻击?这个问题的答案其实没那么简单。“量子安全”的先决条件是与地址关联的公钥不公开。但正如我们上面解释的,当你想从这样一个“安全”的地址转移比特币时,你已经暴露了公钥,从而使该地址易受攻击。从那一刻起,直到你的交易被发现,拥有量子计算机的攻击者就有机会窃取你的比特币。在这样的攻击中,攻击者首先会从公钥中导出你的私钥,然后向自己的地址发起竞争交易。他们将通过提供更高的挖矿费用来尝试获得比原始交易更高的优先级。

在比特币区块链中,目前大约需要 10 分钟才能挖掘一笔交易(除非网络拥塞,这在过去经常发生)。只要量子计算机需要更长的时间来推断特定公钥的私钥,网络就应该能够抵御量子攻击。目前的科学估计预测,一台量子计算机将需要大约 8 小时来破解 RSA 密钥,而一些具体的计算预测,比特币签名将需要 30 分钟来破解。这意味着比特币原则上应该能够抵抗量子攻击(只要你不重复使用地址)。然而,由于量子计算机领域仍处于起步阶段,未来这种量子计算机会变得多快尚不清楚。

结束语

量子计算机对比特币区块链的安全性提出了严峻挑战。目前,流通中的比特币中约有 25% 容易受到量子攻击。如果您在易受攻击的地址中有比特币,并且认为量子计算的进展比公众所知的更先进,那么您可能应该将您的硬币移动到新的 p2pkh 地址(不要忘记提供您的私钥作为安全备份)。

如果您自己的比特币在新的 p2pkh 地址中是安全的,如果许多人不(或不能)采取相同的保护措施,您仍然可能会受到影响。如果大量比特币被盗,价格很可能会崩溃,对技术的信心也会丧失。

即使每个人都采取相同的保护措施,量子计算机最终也可能变得如此之快,以至于它们会破坏比特币的交易过程。在这种情况下,比特币区块链的安全性将从根本上受到破坏。在这种情况下,唯一的解决方案是过渡到一种称为“后量子密码学”的新型密码学,这种密码学被认为天生就可以抵抗量子攻击。这些类型的算法对区块链的可用性提出了其他挑战,世界各地的密码学家正在研究这些挑战。我们预计,未来对后量子密码学的研究最终将带来必要的改变量子计算比特币,以构建强大的、面向未来的区块链应用程序。