百科问答小站 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个凭空生成的比特币)。




  

相关话题

  圆桌上 1000 个人轮流开枪,最后活下来的是几号? 
  央行联合多部委发布的《关于防范代币发行融资风险的公告》与2013年《关于防范比特币风险的通知》矛盾吗? 
  比特币最近狂跌是怎么回事,会不会崩盘? 
  如何看待王欣王铁匠的新产品灵鸽? 
  机器学习的算法和普通《算法导论》里的算法有什么本质上的异同? 
  Java对于int变量a,如何以最快速度计算34*a? 
  3 月 17 日油价调整呈现「七连涨」,油价调整后预计挂牌价实现奔9 元/升,如何看待本次上涨? 
  手上有1万,全买了EOS,这个币有前景吗? 
  如何看待比特币中国将于 2017 年 9 月 30 日停止所有交易业务? 
  如果世界统一使用比特币,经济运行会更稳定吗? 

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





© 2024-11-23 - tinynew.org. All Rights Reserved.
© 2024-11-23 - tinynew.org. 保留所有权利