每次有关于量子计算的新闻,金银行情人们就不得不担心一次比特币。原因很简单。比特币是基于密码学,而密码学是基于某种计算上的不可能性。
量子计算对采矿的影响更多的是芯片升级的经济问题,而不是安全问题。
每次有关于量子计算的新闻,人们就不得不担心一次比特币。原因很简单。比特币是基于密码学,而密码学是基于某种计算上的不可能性。如果量子计算使原本不可能或难以实现的计算变得可测量,那么这种加密方法将会失败。但这种担心是多余的。原因同样简单:只要我们有量子计算不可能完成的计算,我们就不能吗?建立在这种计算基础上的密码学方法(量子安全密码学)是量子计算无法解决的,可以将比特币升级为密码学方法。“点阵难题”是一个典型的代表,即使对于量子计算,它也保持了计算的不可能性。基于人类的“无知”,我们总能找到在密码学保护下生存的方法。
我们知道,比特币钱包地址对应一个公钥和一个私钥。只有私钥可以使用钱包中的比特币,但是私钥是安全的。钱包地址或公钥不能使用它。计算。
这是如何实现的?我们从台球厅开始吧。你去台球大厅打台球,把一个球放在一个位置底部的台球桌子,称它为一个点,然后你击球,假设你击球的力量,然后球开始从a点总是打一个点的一侧台球桌,然后它会反弹从点到另一个点在台球桌的另一边……它可能会反弹B次(比如10000次),最后停在台球桌一边的一点上,叫它c。这时你的朋友来了。他可以看到台球在c点的位置。你告诉他球的初始位置A的角度和击球的角度。他打了多少次中场,也就是B是多少?你的朋友现在不应该接电话。这是一个简单的公钥和私钥生成算法,C (location)是公钥,B (number of times)是私钥。在已知点A和B反弹的情况下,我们可以得到点C;但是如果我们只知道点A和C点,很难计算的反弹B .真正的加密,台球桌被旁边的一个椭圆曲线,是一个固定的点在椭圆曲线上(实际上是一个椭圆组),点击自己(球击中的切线位置点)),球击中椭圆组和B乘以。最后,它落在椭圆群的一点上。它还需要在点上做另一个映射,在椭圆组上有一个点C。C是公钥,B是私钥。这是著名的椭圆曲线算法,用于生成公钥和私钥,是比特币系统中的第一种加密方法。椭圆曲线算法是一种难于破解的算法(基于“离散对数难题”),但却无法破解。强大的量子计算可以找到多项式算法,通过A和C计算出B,即私钥可以由公钥计算出。因此,如果你真的进入了量子计算的时代,椭圆曲线算法需要被一种新的反量子计算算法所取代。
量子计算和椭圆曲线算法
比特币使用的椭圆曲线数字签名算法的安全性为2^128 (secp256-k1曲线组的阶数接近2^256,椭圆曲线攻击算法的复杂度约为O(sqrt() N)),对于2^256平方,得到2^128)。这是个天文数字。在量子计算中,使用Peter Shor提出的Shor算法,攻击椭圆曲线的复杂度可能是O(log(N)^3)。对于比特币来说,理论计算量是128^3。次了。相关论文表明,构建一个攻击secp256-k1曲线的量子计算机,假设计算机可以将误码率降低到10^-4,那么在1.7天内完成170万个量子位的计算是有希望的。
在比特币系统中,还有另一种加密方法,哈希函数SHA-256,用于生成与公钥对应的钱包地址。通过以不可逆的方式将输入转换为输出,该算法很容易理解。它具有很强的单向性,不可能通过输出来计算输入。因此,哈希函数只能通过暴力手段来破解,即对输入值进行变换,反复尝试,直到用输入值计算出目标输出值。
与经典计算机相比,量子计算机在蛮力搜索方面具有相当大的优势,但它们仍然是一个多项式级的性能优化。我们可以通过加倍安全位的数量来维护安全性,比如SHA-512。比特币钱包地址通过公钥的两次哈希计算获得,一个是SHA-256,另一个是RIPEMD-160(另一个哈希函数)。量子计算很难突破通过钱包地址的两次哈希传递。“碰撞”公钥。
量子计算和SHA-256
目前量子算法中SHA-256的加速是由Lov Grover在1996年提出的Grover算法,该算法可以将穷举搜索的性能提高到平方倍。假设我们要在一个巨大的N×N正方形中找到一个大头针。经典的电脑需要一个一个地搜索每一个方块。在最坏的情况下,我们需要搜索N×N次;但格罗弗算法甚至是在最坏的情况下。也只需要搜索N次。
综上所述,比特币有两种基本的加密算法,99金银一种是椭圆曲线算法,另一种是哈希函数SHA-256。目前可以找到并破解前者的高效量子计算方法;但后者的高效量子计算方法尚未找到。当然,破解的前提是量子计算足够强大,知道谷歌最新的量子芯片只有54个量子位。
我们的比特币安全吗?如果我们进入量子计算时代,我们只需要使用量子计算的密码算法生成公钥、私钥和钱包地址。但是如果用户不能升级公钥私钥,他们钱包里的比特币会被偷吗?答案是否定的。
量子计算和椭圆曲线算法
比特币使用的椭圆曲线数字签名算法的安全性为2 ^ 128 (secp256-k1曲线组的阶数接近2 ^ 256,椭圆曲线攻击算法的复杂度约为O (N sqrt())),对于2 ^ 256平方,得到2 ^ 128)。这是个天文数字。在量子计算中,使用彼得·肖提出的肖算法,攻击椭圆曲线的复杂度可能是O (log (N) ^ 3)。对于比特币来说,理论计算量是128 ^ 3。次了。相关论文表明,构建一个攻击secp256-k1曲线的量子计算机,假设计算机可以将误码率降低到10 ^ 4,那么在1.7天内完成170多万个量子位的计算是有希望的。
在比特币系统中,还有另一种加密方法,哈希函数sha - 256,用于生成与公钥对应的钱包地址。通过以不可逆的方式将输入转换为输出,该算法很容易理解。它具有很强的单向性,不可能通过输出来计算输入,因此,哈希函数只能通过暴力手段来破解,即对输入值进行变换,反复尝试,直到用输入值计算出目标输出值。
与经典计算机相比,量子计算机在蛮力搜索方面具有相当大的优势,但它们仍然是一个多项式级的性能优化。我们可以通过加倍安全位的数量来维护安全性,比如sha - 512。比特币钱包地址通过公钥的两次哈希计算获得,一个是sha - 256,另一个是ripemd - 160(另一个哈希函数)。量子计算很难突破通过钱包地址的两次哈希传递。“碰撞“公钥。
量子计算和sha - 256
目前量子算法中sha - 256的加速是由值列表Grover在1996年提出的Grover算法,该算法可以将穷举搜索的性能提高到平方倍。假设我们要在一个巨大的N×N正方形中找到一个大头针。经典的电脑需要一个一个地搜索每一个方块。在最坏的情况下,我们需要搜索N×N次;但格罗弗算法甚至是在最坏的情况下,也只需要搜索N次。
综上所述,比特币有两种基本的加密算法,一种是椭圆曲线算法,另一种是哈希函数sha - 256。目前可以找到并破解前者的高效量子计算方法;但后者的高效量子计算方法尚未找到。当然,破解的前提是量子计算足够强大,知道谷歌最新的量子芯片只有54个量子位。
我们的比特币安全吗?如果我们进入量子计算时代,我们只需要使用量子计算的密码算法生成公钥,私钥和钱包地址。但是如果用户不能升级公钥私钥,他们钱包里的比特币会被偷吗?答案是否定的。