一、为什么比特币的私钥无法被攻破
关于:为什么比特币的私钥无法被破解?
以下为正文:
破解比特币私钥,实际上就是要在 1到 2²⁵⁶之间找到一个数,这个数对应的钱包里面有比特币。
2²⁵⁶约等于 10⁷⁷,这是个巨大的数字,对比的话,人类可观测宇宙的基本粒子也就是在 10⁸⁰这个数量级上。
人类现有的超级计算机,前 500强加起来的算力,大约是每秒进行 10¹⁸次浮点运算,有兴趣的人可以算一算,就算每次浮点运算能完成一次破解比特币的尝试,那完成破解需要多少时间。简单说,一年约有 3.1536× 10⁷秒,按上文的假设,破解一个比特币需要的时间在 10⁵¹年这个数量级上。
实际上要花的时间比这多的多,比特币网络计算的是哈希值,现在比特币全网每秒可以做约 1.51× 10¹⁸次哈希运算,这差不多相当于每秒做 1.91× 10²²次浮点运算,这远超过现有的超级计算机的算力(换句话说就是超级计算机没法对比特币网络进行攻击,能力差距太大,这和比特币网络解决的是一个专门问题,超级计算机要解决的是各种不同问题有关系)。
无论如何,我觉得超过 10⁴年(也就是一万年)的时间对我们的意义都不大了,甚至超过 10²年(也就是一百年)的时间对我们都没有多大意义。想想,要花那么多年,只是破解一个钱包的私钥,还不知道这钱包里有多少比特币,这事情实在没有做的意义,就算是知道某个钱包里有很多比特币,投入产出也不可能合算。
这些年间,被盗的比特币都是从人类这边搞的,都是什么从持币人手里盗取了私钥之类的事情,直接攻击比特币网络尝试破解私钥的,闻所未闻,未来估计也不可能有了。
有些人担心量子计算机,首先,量子计算机现在还是早期,解决的都是特定问题,没有针对处理比特币网络的问题,其次,量子计算机的算力现在还是比较低的,远远威胁不到比特币网络,第三,就算量子计算机将来发展起来了,比特币网络也会一并演进的,到时肯定会有针对性的升级。总之,量子计算机并不是比特币的一个威胁。
以下为该文的参考文献;
How Hard Is It to Brute Force a Bitcoin Private Key?
超级计算机 500强
PetaFLOPS and how it relates to Bitcoin
Bitcoin Total Hash Rate(比特币全网算力)
Observable universe(可观测宇宙)
二、为什么说比特币是不能破解的,用量子计算机也不行
因为加密远比解密代价小
假设以数字+大小写字母(共62种字符)设置密码,某超级计算机1秒能暴力尝试10亿个密码,那么:
破解5位密码需要1秒(62^5=9.2亿),
破解6位密码需要62秒,
破解7位需要1小时,
破解8位需要2.5天,
破解9位需要半年,
破解12位需要10万年(超过人类文明史),
破解15位需要243亿年(超过宇宙年龄)。
15位密码不过比5位密码多输入几位,耗时几秒,却导致解密代价高到了几乎不可能的程度。
量子计算机即使带来一亿倍的破解速度提升,那也不过是抵消了比特币256位私钥长度中的27位而已(2^27=1.3亿)。就算外星人出现,连续发生了数次一亿倍破解速度提升(每次抵消27位私钥长度),比特币也只要简单地把私钥长度升级到512位即可。
三、比特币有没有可能被破解
比特币的破解是有可能但几乎不可能的,仅仅存在理论可能。
从背景和基本原理上来讲,比特币账户购物城是通过秘钥-公钥-地址的结构形式来构成的,可以大致理解成钥匙-箱子-箱子编号的基本模式,比特币的破解实际上就是从箱子编号或者从箱子入手破解到钥匙。
破解比特币的攻击手段一般意义上只有两种,一种是通过字典的方式进行攻击,也就是通过脑钱包直接破解。这种破解方式并非直接破解比特币持有者的比特币秘钥,而是去破解比特币持有者为记忆比特币秘钥而新设置的便捷密码,也就是脑钱包。如果是这种方式的话,首先需要比特币持有者通过脑账户设置一个新密码,同时需要对包含别的比特币持有者的个人生活信息十分了解才能破解。如果比特币持有者不设置脑账户的话,那么就无法通过这个方式进行破解。
其次是通过暴力破解的手段进行破解,也就是通过枚举法列举出所有可能的数字字母与符号的排列组合。以这些全部的组合一一进行尝试破解。但通过这种方式破解出比特币秘钥的可能性就更低了,因为比特币的秘钥是由256位二进制数字组成的。这是一个非常大的数字,使用十进制进行表示大约是十的77次方。目前市面上绝大多数的电脑算力是无法完成这个计算过程的,即便完成也需要花费几千年甚至上万年的时间。只有科研机构与高校内的部分量子计算机才可能实现这一目标。
四、比特币是可以破解的吗
首先讲一下背景,比特币“账户”的基本原理就是密钥-公钥-地址,你可以大致理解为“钥匙-箱子-箱子编号”。现在就是要从箱子编号或者箱子入手破解到钥匙。
攻击手段基本上就两种,一种字典攻击所谓脑钱包,另外一种就是暴力破解。
字典攻击就是把常用的密码以及其简单变种,组合作为钥匙一个一个试。只要你的pass phrase不过硬,这种手段攻击成功的可能性很高。所以要用这个的话,需要先普及一下密码学知识,不要以为密码很长再加个&就很安全了。
如果你不是用pass phrase生成的钱包,就只能暴力破解了,相当于枚举所有可能的钥匙,目前来看这个是不可能的,哪怕电子计算机越来越强大。但是,量子计算机理论上是可以做到的,不过不用太担心,真的有这么强大的量子计算机出来的话,不仅仅危及到比特币而已。
同时,比特币还有第二层防护:如果一个地址只接受而还没有输出比特币的话,他的公钥都是保密的,就是说箱子别人都看不到只能看到箱子编号。目前来看从箱子编号反推箱子这个过程连量子计算机也做不到。换句话说,真的有量子计算机的话,比特币还有最后一道防线:把你的钱转移到一个全新的地址就暂时安全了。
最后,前一段时间,Android上的客户端生成的钱包被攻击了,这个是因为底层随机数生成器有bug。其实就是这个函数不随机SecureRandom,Google很快承认并修复了这个问题。这种事情会不会再有也不好说,不过我觉得不用太过担心。
五、破解一个比特币钱包到底要花多长时间
破解比特币私钥需要多长时间?
比特币私钥本质上就是一个 256位的数字,可以用 64位的 16进制来表示,那么我们在应用程序中输入这样一个数字来估计破解时间,会发现什么呢?
结果会显示INFINITI,我们可以发现几乎不可能暴力破解比特币私钥,Better buy无法显示出其所需要的时间,而“infinity”是指没有任何边界或大于任何自然数的东西。
那钱包助记词呢?
我们当中到底有多少人确切知道自己的私钥?大多数钱包在你设置钱包时都会为你提供一个助记词,它们通常由12到 16位的字符组成,并督促你存储在安全的地方。
从我为本文目的而设置的一个空钱包中测试一个随机助记词,我们得到的结果是暴利破解它仍然需要无限的时间。
那更具体的细节呢?
我们的比特币钱包种子可能会被写在某个地方,但我们的钱包通常可以通过不那么繁杂的防御措施去访问。软件钱包可能在手机上或电脑上,只隐藏在密码或单词后面,硬件钱包可以用一个简单的 4位数字密码来保护。
坏消息是一位4位数的PIN仅仅需要 5毫秒就能破解,假如你被锁在门外之前可以尝试无数次。这款应用可以让你回到过去,你会发现这款App在1992年用的时间会更长,需要 3分半,但这样安全性在很大程度上依赖于防止攻击者一次性发送全部选项。
就密码而言,一个由 7位随机字母组成的字符串在一起,不到半毫秒就能破解,而把一个字母数字的密码增加 5个小时,所以密码要越长越好,用今天的技术来破解 12位的随机字符需要 2个世纪。
而提高其安全性的另一种方法是结合使用大小写字母,数字和特殊字符。密码大约可以在五分之一毫秒破解,如果黑客不使用单词列表,也可以在五周内破解。而类似这样的密码P@ssw0rD需要 14年时间才能暴力破解。
所以其实私钥基本上是不可能暴力破解的,但比特币钱包安保最薄弱的环节永远是自己,哪怕你是Jack Dorsey。
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/jys/154266.html
发表回复
评论列表(0条)