
需要了解的是:比特币的安全性依赖于椭圆曲线密码学,这是一种单向数学函数,使得从公钥推导出私钥对传统计算机几乎不可能。肖尔算法允许一个足够强大的量子计算机有效地逆转这一单向函数,将比特币公钥转变为其对应的私钥,从而实现盗窃。一篇最近由谷歌主导的论文概述了一种现实攻击,在这一攻击中,未来的量子计算机可以在约九分钟内从一个暴露的公钥推导出私钥,并可能优先执行或耗尽脆弱的比特币钱包。
本系列的第一部分解释了量子计算机实际上是什么。不仅是常规计算机的更快版本,而是一种利用仅在原子和粒子规模上适用的奇怪物理规则的根本不同的机器。
但知道量子计算机的工作原理并不意味着您知道它如何能被恶意行为者用于盗取比特币。这需要理解它实际攻击的内容,比特币的安全性是如何构建的,以及确切的弱点在哪里。
本文从比特币的加密开始,讲述了破解所需的九分钟窗口,如谷歌最近的量子计算论文所指出的。
单向映射
比特币使用一种称为椭圆曲线密码学的系统来证明谁拥有什么。每个钱包有两个密钥。一个是私钥,它是一个保密的数字,长度为256位的二进制数,大致与这个句子一样长。公钥是通过在特定的曲线上执行数学运算从私钥推导出来的,称为“secp256k1”。
可以将其视为一个单向地图。从一个每个人都同意的已知位置开始,称为生成点 G (如下图所示). 根据曲线的数学模式走一定数量的步骤。步数就是您的私钥。在曲线上的位置就是您的公钥 (图中的点 K)。任何人都可以验证您最终位于该特定位置。没有人能够弄清楚您走了多少步到达那里。
从技术上讲,这可写为 K = k × G,其中 k 是您的私钥,K 是您的公钥。“乘法”并不是普通的乘法,而是一种几何操作,您在曲线上不断地将一个点加到自身上。结果将在一个看似随机的地方出现,而这个地方只有您特定的数字 k 能够产生。
关键特性是前进很容易,而对于经典计算机来说,后退几乎是不可能的。如果您知道 k 和 G,计算 K 只需几毫秒。如果您知道 K 和 G 并想要找出 k,您正在解决数学家所称的椭圆曲线离散对数问题。
据估计,已知最佳经典算法在256位曲线上的运行时间将会 超过宇宙存在的时间。
这个单向陷阱是整个安全模型。您的私钥证明您拥有您的币。您的公钥可以安全分享,因为没有经典计算机能够逆转数学。当您发送比特币时,您的钱包使用私钥生成数字签名,这是一个数学证明,表明您知道秘密数字而不会泄露它。
肖尔算法双向打开大门
1994年,一位名叫彼得·肖尔的数学家 发现了一种量子算法,可以破解这一陷阱。
肖尔算法高效地解决了离散对数问题。相同的数学对于经典计算机而言需要比宇宙存在的时间更长,而肖尔算法在数学家所称的多项式时间内完成,意味着随着数字变大,难度缓慢增长,而不是爆炸性增长。
它如何工作的直觉回到本系列的第一部分的三个量子特性。
算法需要找到您的私钥 k ,给定您的公钥 K 和生成点 G。它将此转换为一个寻找函数周期的问题。想象一个取一个数字作为输入并返回椭圆曲线上的点的函数。
当您输入连续的数字 1, 2, 3, 4 时,输出最终在循环中重复。这个周期的长度被称为周期,一旦您知道函数重复的频率,离散对数问题的数学就会在一步中展开。私钥几乎立即释放。
找到这个函数的周期正是量子计算机的构建目的。算法将其输入寄存器置于叠加态(在量子力学中,粒子同时存在于多个位置),同时代表所有可能的值。它同时对所有值应用该函数。
然后它应用一种称为傅里叶变换的量子操作,该操作会让错误答案相互抵消,同时加强正确答案。
当您测量结果时,周期会出现。从这个周期出发,普通数学可以恢复 k。那就是您的私钥,因此也是您的币。
攻击利用了第一篇文章中的所有三个量子技巧。叠加态同时对每一个可能的输入进行函数评估。纠缠将输入和输出联系在一起,使结果保持相关。“干涉”过滤掉噪声,直到只剩下答案。
为什么比特币今天依然有效
肖尔算法已经被知晓超过30年。比特币仍然存在的原因在于运行它需要足够多的稳定量子比特的量子计算机,以在整个计算过程中保持相干性。
构建这样一台机器一直是超出能力范围的,但问题一直是“足够大”到底有多大。
之前的估计为数百万个物理量子比特。谷歌的论文在四月初由其量子人工智能部门发布,并得到了以太坊基金会研究员贾斯廷·德雷克和斯坦福密码学家丹·博内的贡献,将数目减少到不到500,000。
即相当于之前估计的约20倍的减少。
该团队设计了两个量子电路,针对比特币的特定椭圆曲线实现肖尔算法。一个大约使用1,200个逻辑量子比特和9000万个托福利门。另一个大约使用1,450个逻辑量子比特和7000万个托福利门。
托福利门是一种作用于三个量子比特的门:两个控制量子比特,影响第三个目标量子比特的状态。将其想象成三个电灯开关(量子比特)和一个特殊的灯泡(目标),只有在两个特定的开关同时打开时,其才会亮起。
由于量子比特不断失去其量子状态,正如第一部分所解释的,您需要数百个冗余量子比特相互检查工作,以保持一个可靠的逻辑量子比特。量子计算机的大部分用于捕捉机器自己的错误,以免破坏计算。物理量子比特与逻辑量子比特之间大约400:1的比例反映了机器用作自我监护基础设施的程度。
九分钟窗口
谷歌的论文不仅减少了量子比特计数。它提出了一种实用的攻击场景,改变了人们对威胁的思考方式。
肖尔算法中仅依赖于椭圆曲线固定参数的部分,这些参数是公开且对每个比特币钱包相同的,可以预先计算。量子计算机处于一种准备状态,已经完成计算的一半,正等待着。
一旦目标公钥出现,无论是通过事务广播到网络的内存池,还是已经从之前的交易中在区块链上暴露,机器只需完成后半部分。
谷歌估计后半部分大约需要九分钟。
比特币的平均区块确认时间为10分钟。这意味着如果用户广播一个交易,并且他们的公钥在内存池中可见,量子攻击者大约有九分钟的时间来推导私钥并提交一个竞争交易以重定向资金。
数学给攻击者提供了大约41%的概率在您的原交易确认之前完成。
这就是内存池攻击。虽然令人担忧,但需要一个尚不存在的量子计算机。
然而,更大的担忧是690万比特币(大约是总供应的三分之一)存放在公钥已在区块链上永久暴露的钱包中。这些币面临着一种无需与时间赛跑的“静态”攻击。攻击者可以花费所需的时间。
运行肖尔算法的量子计算机可以将比特币公钥转变为控制这些币的私钥。自Taproot(一个于2021年11月上线的比特币隐私升级)以来交易的币,其公钥已经可见。对于旧地址中的币,公钥在您支出之前是隐藏的,这时您大约有九分钟的时间,直到攻击者赶上。
在实践中,这意味着690万比特币已经暴露,Taproot改变了什么,以及硬件缩小差距的速度,都是本系列下一篇和最后一篇文章的主题。
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。