杨帆John7星评价
2020-08-13 15:00:04
比特币私钥如何生成?我简单说说原理。如果你丢一枚硬币,正面的话 写1, 反面的话写0。 如果你连丢256次后,把所有的1和0连在一起,这就是一个很好的随机数。随机数就是私钥。
因为,另一个人要丢出和你一样的随机数,几乎为0,不信你找另一个人练练,看看你们能丢出几次相同的,记住要顺序一模一样,大概前6次你们还能相同,到10次你就能中彩票特等奖了,何况还是256次。
256位全部用0和1表示,因为计算机只认识0和1,我们所有存在计算机的内容最终全是0和1,这是计算机的世界。
那么,256位长度的随机数,就是2的256次方,大概是10000……一共有77个0。可以有这么多个随机数,也就是可以有这么多个私钥。
关于随机数的产生,也是有相关的算法的,也就是我们听到的SHA256哈希算法。不是真的让去丢硬币,总之,你只要记住,它是一个很长的数字。
SHA256哈希算法,通过读入一段随机的字典,就会生成一个256位的随机数。这个数必须小于2的256次方,那么这个随机数就是合格的私钥,如果不符合就再生成一次。随机字典就是我们钱包里的助记词,由12到24个单词组成,用这个来产生私钥。
赚钱买学区房6星评价
2020-08-12 15:04:27
私钥的本质是一个数字,公钥的本质也是一个数字,如果把任何数字当成私钥,都可以利用椭圆曲线加密算法生成这个数字对应的公钥,即,Function椭圆曲线加密算法(私钥)=公钥
如果让用户随机生成数字,并且数字的随机范围足够大,就可以避免两个用户生成了相同的私钥,即,私钥冲突。
多大的数字够用呢?
答案是2的256次方,2的256次方也就是8个2的32次方相乘。
2^256 = 2^32✖️2^32✖️2^32✖️2^32✖️2^32✖️2^32✖️2^32✖️2^32
2的32次方约等于40亿——这个数字有概念了吧?就是新闻标题里会出现的那种数字。
所以我们要做的,就是去理解40亿连续相乘8次是什么概念。
勿怠勿忘7星评价
2020-03-27 13:29:02
目前比特币70%的提交都是由 10 个人完成的,而且97%的节点都采用core的软件。我们可以假装每人检查所有 30 万+行代码,对所有的更改达成共识。但事实上,我们只是遵循一些明星core开发者的建议。core开发者团队做出一些阴险代码或错误决定的几率非零。看看cve-2010-5139+cve-2013-3220,这些只是诚实的错误,并非针对性的攻击。
可能看到这里,有的朋友就会问,量子计算机呢?比特币网络难道不会被破解吗?
关于这个问题,我确实纠结了一会,但是,最终笔者认为就目前而言,量子计算机想要破解比特币网络是非常难的。
那么就不会有一丝威胁吗?
我认为,量子计算机对比特币的唯一威胁,就是比特币独有的椭圆曲线算法在新构架的硬件和软件下有可能被破解。
但是目前的量子计算的量子比特连100都达不到,想要挑战RSA/椭圆曲线加密还是严重不足的,即便谷歌的量子计算机真的推出,真的能够破解比特币的私钥和算法,我们也可以在受到威胁之前找到对策和方案。
要知道比特币走过风风雨雨十年,是没那么容易被瓦解”和终结”的,而且区块链技术本身和加密算法也在不断拓展和升级。