主页 > imtoken新版本 > 如果量子计算时代到来,我们的比特币会安全吗?

如果量子计算时代到来,我们的比特币会安全吗?

imtoken新版本 2023-04-17 07:27:19

作者:李华,安比实验室创始人郭宇

更正:郭宇,每次有关于量子计算的新闻,人们不得不担心比特币。原因很简单,比特币是基于密码学的,而密码学之所以能够成立,是基于某种计算上的不可行性。如果量子计算使原本不可行或难以实现的计算变得可计算,那么这种密码学方法就会失败。 ,但这种担心是多余的。原因同样简单:我们只是有量子计算无法完成的计算,不是吗?建立在这种计算基础上的密码学方法(quantum-safe cryptography),量子计算无法破解,然后比特币可以升级为这种密码学方法。 , “lattice-hard problem”是一个典型的代表,即使对于量子计算,它仍然在计算上是不可行的。基于人类的“无知”,我们基本上总能在密码学的保护下找到生存之道。 , 我们知道比特币钱包地址对应一个公钥和一个私钥。只有有了私钥才能使用钱包里的比特币,但是​​私钥是安全的,不能从钱包地址或公钥中计算出来。 ,这是如何实现的?让我们从台球厅开始。 ,你去台球厅打台球,把一个球放在台球桌底边的一个位置,叫它A点,然后你把球打出去,假设你把球打得很用力,那么球从A点开始,它总是会碰到台球桌一侧的一个点,然后从那个点弹到台球桌另一侧的另一个点……它可能已经像这样弹了B次(说10000次)比特币中计算hash目的是啥,最后停在台球桌一侧的一个点,叫它C点,这个时候你的朋友来了,他可以看到C点台球的位置,你告诉他初始位置球在A点的角度和击球的角度,问他球在中间反弹了多少次,也就是B是多少?你的朋友应该暂时无法回答。 ,这是一个简单的公私钥生成算法,C(位置)是公钥,B(次数)是私钥。如果我们知道A点和B点反弹,我们可以得到C点;但是如果我们只知道A点和C点,就很难计算B点的反弹次数。在真实密码学中,台球桌的边缘被一条椭圆曲线代替,其中A是椭圆曲线上的一个不动点(实际上是椭圆组)击中自己(从该点的切线位置被击出的球),球在椭圆组中碰撞了B次,最后落在了椭圆组的一个点上,并且是需要再次映射该点。 a点C。C是公钥,B是私钥。 ,这就是大名鼎鼎的

椭圆曲线算法,用于生成公钥和私钥,是比特币系统中第一个密码学方法。 ,椭圆曲线算法很难破解(基于“离散对数难题”),但也不是不可能破解,足够强大的量子计算可以找到多项式算法,通过A和C计算B,即,可以通过公钥计算出私钥。钥匙。因此,如果真的进入量子计算时代,椭圆曲线算法就需要被一种新的抵抗量子计算的算法所取代。 , 在比特币系统中,还有另外一种密码学方法,

哈希函数SHA-256,用于生成公钥对应的钱包地址。算法很好理解,就是将输入以不可逆的方式转换为输出。它具有很强的单向性,通过输出来计算输入是不可行的。 , 因此,哈希函数只能通过蛮力破解,即改变输入值,反复尝试,直到可以用一定的输入值计算出目标输出值。 , 与经典计算机相比,量子计算机在蛮力搜索方面具有相当大的优势,但它仍然是多项式级别的性能优化,我们可以通过将安全比特数增加一倍来保持安全性,例如使用 SHA-512。 , 比特币钱包地址是通过两次散列公钥得到的,一个是

SHA-256和另一个是

RIPEMD-160(另一种哈希函数),量子计算很难突破两个哈希阈值比特币中计算hash目的是啥,通过钱包地址“撞”公钥。总结一下:比特币中有两种基本的密码算法,一种是椭圆曲线算法,一种是哈希函数SHA-256。目前可以找到并破解前者的高效量子计算方法;但是,尚未找到针对后者的有效量子计算方法。当然,破解的前提是量子计算真的够发达。要知道,谷歌最新的量子芯片只有 54 个量子比特。 ,如果我们进入量子计算时代,只需要用抗量子计算的密码算法生成公钥、私钥和钱包地址即可。但是如果用户没有升级公钥和私钥,钱包里的比特币会被盗吗?答案是否定的。 ,大致有以下几种情况:,1.如果钱包地址里的比特币从来没有被使用过,那么地址的公钥是不知道的,只有钱包地址是别人知道的(只有当我们在一个地址上花费比特币,我们只需要给出公钥,但即使只花费一次,公钥也会广播到整个网络)。 , 如前所述,SHA-256 很难被量子计算破解,这意味着其他人无法通过钱包地址计算出公钥。因此,即使可以从公钥中计算出私钥,那些没有暴露公钥的钱包地址也是安全的。 ,2.如果你有良好的比特币使用习惯,一个钱包地址只使用一次,那么同理,新地址的公钥也是未知的,新地址中的比特币是安全的。 ,3. 如果用户重复使用某个钱包地址,则该地址对应的公钥被暴露;如果量子计算破解了椭圆曲线算法,地址中的比特币就有被盗的风险。 ,截至目前,据统计,有近500万比特币存储在公钥暴露的地址中,近177万比特币使用P2PK地址,这是最早的比特币账户格式。公钥是公开的,包括被认为是中本聪的账户。如果这些比特币不改变地址,它们就属于量子计算攻击的范围。 (数据来源:Ambi Labs),除了钱包地址,比特币系统中还有一个重要的地方使用了SHA-256,那就是挖矿。挖矿是对哈希函数进行暴力破解的过程。通过调整输入值,使落在目标范围内的输出值“碰撞”。 ,如前所述,理论上,量子计算机芯片可以在暴力搜索中“粉碎”经典计算机芯片,但我们也需要考虑到它的技术发展水平和芯片制造工艺。此外,随着技术的发展,芯片也在不断升级,量子计算对挖矿的影响更多是芯片升级的经济问题,而不是安全问题。 ,在量子计算发展的同时,量子安全密码学也在飞速发展,其中最具代表性的就是“

lattice cipher”,即基于lattice的密码学(lattice-based cryptography)。,“lattice”是具有整数系数的向量空间,可以理解为高维空间。它有两个基本的“lattice” “困难”,一个是最短向量问题,另一个是最近向量问题。该问题需要指数时间复杂度,所以如果因子是多项式,则此类问题没有多项式时间算法,这在计算上也是不可行的对于量子计算,这个听起来有点抽象,或许可以这样理解:用钢笔在一张A4纸上画很多黑点,然后换一支笔在纸上画一个红点,我们要做的就是找到红点之间的距离 点最近的黑点,这很容易;现在从A4纸的二维空间到一个三维空间,想象有很多黑点漂浮在空间中,然后放一个红点,然后lso 求距离红点最近的黑点,这个难度不是很大,但是和二维空间比起来,它的难度就不是一个档次了。 , 现在,我们把三维空间变成三百维空间,给定一个红点找到离它最近的黑点,这个黑点肯定存在,但是想想,是不是几乎不可能找到这就是网格难度的问题。 ,晶格空间类似于椭圆曲线。在椭圆曲线上,可以有数学公式(椭圆曲线算法)把公钥和私钥放在一个方程的两端,而在格子空间里,也有数学公式(比如LLL算法)放东西在等式的两端,那么我们可以使用这些公式来生成公钥和私钥。 ,在椭圆曲线算法中,由于“

离散对数难度问题”,传统计算机无法通过公钥计算出私钥;在格密码算法中,因为“

格困难问​​题”,而量子计算机无法从公钥计算出私钥。,格密码学发展迅速。基于格,我们不仅有抗量子计算的公钥和私钥,而且一系列抵抗量子计算的密码算法或协议,对应经典密码学概念,可用于数字签名、密钥交换、零知识证明等,“宇宙相信加密。加密容易,解密难。”在可预见的未来,这种情况依然存在。所以,不用担心,比特币如此,区块链也是如此。,

如果量子计算时代到来,我们的比特币安全吗?

ChainNews作为关注区块链长期价值的观察者,与The Blockchainer联合发起Proof of VALUE 2019峰会,将于2019年12月举行。6日至7日在上海举行。 ,PoV官网:

PoV 业务合作:

sponsors@povconf.com

PoV 访客应用程序:

chainnews.mikecrm.com /W0B79wj,发光发热,捕捉价值,

点击进入官网,来源链接:

链闻 ChainNews,与经典计算机相比,量子计算机在暴力搜索方面具有相当大的优势,但仍然是多项式级别的性能优化,我们可以通过将安全比特数增加一倍来保持安全性,例如使用 SHA-512。 , 比特币钱包地址是通过两次散列公钥得到的,一个是

SHA-256和另一个是

RIPEMD-160(另一种哈希函数),量子计算很难突破两个哈希阈值,通过钱包地址“撞”公钥。 ,2.如果你有良好的比特币使用习惯,一个钱包地址只使用一次,那么同理,新地址的公钥也是未知的,新地址中的比特币是安全的。