百科问答小站 logo
百科问答小站 font logo



比特币的算法到底在算什么? 第1页

  

user avatar   dgon 网友的相关建议: 
      

比特币跟本就不是算出来的啊!你在哪找的介绍?百度?那个词条完全就是错的。

比特币所谓的计算,就是计个帐,把交易内容打个包,这个包大概1M大小的数据块,然后算一个验证码而已。这个过程就叫哈希计算,计算结果是一个256位的2进制数。对电脑来讲很简单的一个计算,万分之一秒的时间都不到就算好了。验证码算好以后,包里的内容就锁死了,不能再改了。

但是,(什么事都怕“但是”),比特币是去中心化的,所有人都可以来计算这个验证码,那么以谁算的为准呢?中本聪提出的解决办法是:大家一起算,谁算出来的这个256位的2进制数,前10位是零,谁就赢了。他打的包就成了一个合法的区块,被链到整个区块链的最后面去,这个幸运儿就能得到50个币的奖赏(每四年减半,现在是12.5个)。再然后,大家都再去算下面一个区块。

打包的数据里专门留了一个随机数的位置,如果你算出来的验证码前10位不是零,那你就能改一改这个随机数,再算一次。如果还不行,再改一改这个随机数,再算一次。。。。。。因为哈希计算不可逆,所以不可能从后面的验证码来反推这个随机数,只能这样一次次的算,一次次的碰运气,一直到碰出一个前10位为0的验证码为止(或者收到别人先你一步碰出了一个前10位为0的验证码的消息)。这个过程,就叫哈希碰撞。后来,有人发现用显卡比用CPU做哈希碰撞的速度更快,于是显卡被买断了货;再后来专业矿机出现了,就不做别的事,专心的做哈希碰撞;再后来,大家发现一个人单打独斗,想碰出这个码太难太难了,那就好多人联合在一起碰,像联合买彩票一样,碰出来以后再按出力多少平分这个奖赏,所谓的矿池就这么出来了。

参与计算的人越来越多,参与计算的机器越来越高端,算出来的速度当然是越来越快。中本聪很早又规定死了,平均每十分钟只能有一个人碰出来。(重点是保证这个十分钟)于是,规则就从“前10位是0”变成了“前20位是0”、”前30位是0“、”前40位是0“。。。。碰撞难度(不是计算难度哦)就这样越来越大了,消耗的电力能源自然越来越多。

总结一下:所谓比特币的计算其实是在记帐,本来万分之一秒就能完成的记帐被重复了很多很多很多次,而矿工们重复很多次记帐的目的是为了抢夺记帐权,因为抢到了有奖赏(12.5个凭空生成的比特币)。




  

相关话题

  如何看待国家电网董事长舒印彪表示「再电气化是破解能源发展难题的必然选择」? 
  2021-05-28:跳跃游戏 II。给定一个非负整数数组,你最初位于数组的第一个位...如何解答呢? 
  为什么有人说弄懂了《算法导论》的 90%,就超越了 90%的程序员? 
  算法岗诸神黄昏,算法初级职位内卷,如何选择适合自己的方向? 
  EOS声称的每秒百万级的交易速度靠谱么? 
  感觉算法在程序员中快被吹上天了,如果只是搞编程的话,是不是没必要死磕算法? 
  如何学习视频识别技术? 
  比特币改变了我的三观,请问这正常吗? 
  全面普及新能源汽车能让中国大幅度降低石油进口依赖吗? 
  区块链3.0到底是什么? 

前一个讨论
微积分体系几百年前就建立起来了,为什么我们现在学习它仍存在困难?
下一个讨论
消融实验是什么?





© 2024-05-16 - tinynew.org. All Rights Reserved.
© 2024-05-16 - tinynew.org. 保留所有权利