量子问题:量子计算到底是什么鬼?

比特币杂志
量子专题:量子计算到底是什么?
什么是量子计算?量子计算机和普通计算机有什么不同?这和比特币有什么关系?
新比特币用户不可避免地会遇到这些问题,并不得不面对这些问题所引出的担忧:如果开发出了可行的量子计算机,比特币将面临一种足以威胁其生存的存在性威胁。
拥有比特币的能力,建立在一个根本假设之上:如果没有直接泄露比特币的副本,除持有私钥的人之外,任何人都无法使用该密钥保护的币进行签名和交易。量子计算对这一假设提出了质疑。
量子计算机并不是“更快的计算机”。它们的运作方式与经典计算机有着根本性的不同,因此在某些特定类型的计算中,效率远高于经典计算机。显然,我不可能在短短四页内详细解释量子计算机的工作原理,但我会为你讲解它们与经典计算机根本不同之处的核心直觉。
那么,我们来看看这两类计算机如何处理大型加密密钥之类的东西。
经典计算机
经典计算机(下文简称“计算机”)中存储的一切,都以一连串的 1 和 0 的形式保存。每个 比特(1 或 0)就是精确的 1 或 0;不存在任何歧义。数据存储时,就是以 1 和 0 的形式保存。数据被处理或修改时,则是逐位、一步一步地对每个 1 或 0 进行操作。
计算机就是这样工作的。它按照线性顺序,一步接一步地修改所存储的、离散且毫无歧义的数据。它不能跳过步骤,也不能走捷径(这里说的是所执行的步骤,而不是数学上更高效的处理方式);它必须逐一执行计算中的每个步骤。
使用计算机生成私钥时,计算机会获取一个随机值(例如你输入的骰子结果、一般用户输入、设备硬件产生的随机性等),并将其以 1 和 0 的形式存入内存。接下来,它必须将这个值乘以椭圆曲线的生成元点,以得到公钥。这个过程通过算法实现;归根结底,算法就是一系列指令,告诉计算机要取哪些位、如何修改这些位、在物理层面要让这些位经过哪些电路,从而完成操作,最后再将逐位修改后的新值放回内存。
要得到一个真正有效的地址,还需要经过其他步骤,但就本文而言,无需详细介绍这些步骤(不过它们和上面那一步一样,都只是一步一步修改内存中 1 和 0 的指令)。
那么,如果有人想用计算机猜出别人的私钥,会怎么样呢?
有 2256 个可能的私钥。也就是说,有 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 种不同的可能密钥。
计算机必须尝试 每一个可能的私钥,一个接一个地尝试(或者一次并行尝试计算机所能处理的数量),严格按照上面的说明逐步生成密钥。并行尝试的数量越多,所需的计算能力就越强,而且没有任何捷径可以绕过这项成本。
你想使用的计算能力越少,所需时间就越长;你想缩短所需时间,就需要更多的计算能力。
这是一项计算机无法完成的任务。一方面,所需的计算成本高到地球上的所有计算机都无力承担;另一方面,所需的时间长到在你检查完所有密钥之前,宇宙中的每一颗恒星都会熄灭。
要真正实现你的目标,你需要找到一种不同于逐个线性检查或并行检查的方法。这就是量子计算的用武之地。
量子计算机
量子计算机并不以离散状态运作。每个状态都精确地是 1 或 0。量子计算机中最基本的信息单位是量子比特(比特的量子版本)。与比特不同,量子比特处于叠加态在这种状态下,它同时既是 1 又是 0。只有当它被观察时,才会稳定为其中一种离散状态.
这是让量子计算机能够以不同方式进行计算的关键构件之一。另一个是纠缠量子比特并非只是孤立地存储起来;代表它们的物理原子在被观察时会坍缩为离散状态,而且彼此纠缠在一起。这意味着,当纠缠的原子被观察并坍缩为单一状态时,这些纠缠的原子会坍缩到相同的状态,无论它们相距多远。
现在事情开始变得有些奇怪了,我得稍微说得模糊一点;不过你仍然应该能直观地理解,为什么量子计算机在本质上不同于经典计算机。经典计算机上的算法是一组指令,用来获取一组特定的比特,并按照算法的指令逐步修改它们,直到运算结束并输出一组新的比特。因此,算法会逐步将一种离散状态转变为另一种离散状态。
量子比特在被观测并坍缩为某个状态之前,不会存储离散状态,而是存储概率。当一定数量的量子比特彼此纠缠时(比如这个假想案例中的 2256 个),它们坍缩到的每一种可能状态都有一个特定的概率。
量子算法并不是逐步操作离散状态的指令,而是一组关于如何对这些纠缠的量子比特进行操作的指令,以此改变不同结果出现的概率。相长干涉用于提高正确结果出现的概率,而相消干涉 为了降低结果出错的概率(请注意,这并不是让物理量子计算机难以准确运行的噪声或干扰,那是另一个概念)。
因此,经典计算机必须逐一检查每个私钥,才能找到与特定公钥匹配的那个;而量子计算机只需使用正确的算法运行几次,就能得出正确答案。它 并不会 通过“同时检查所有可能性”来做到这一点。它只是改变叠加态坍缩为各种结果的概率。
这就是为什么量子计算机能够打破椭圆曲线密码学赖以成立的假设,而经典计算机做不到(这也解释了为什么量子计算机只适用于某些答案候选空间极其庞大、需要从中进行检查的计算类型)。
别慌
经典计算与量子计算之间这种根本差异意味着,没错,如果真的造出了可行且运行正常的量子计算机,那么保障每位比特币持有者个人比特币安全的基础假设就会被打破。所有这些资金都将不再安全。
如果这种设备真的被制造出来并且能够运行,那确实会带来严重风险,但我们并非毫无准备。我们了解这个问题,也了解自身面临的风险敞口,而且针对问题的诸多不同方面,已经有不少可能的解决方案逐渐成形。
深呼吸,放轻松。在本期接下来的内容中,我们会带你全面了解这个问题。
本文刊载于《比特币杂志》最新一期印刷版《量子专题》。我们在这里提前分享本文,让你先睹为快,了解整期内容探讨的观点。
本文《量子专题:量子计算到底是什么鬼?》最初发表于《比特币杂志》,作者是 Shinobi。
来源:BitcoinMagazine