比特币基础教学之:block产生难度及挖矿

比特币矿工的工作是找到新的比特币block(数据区块、数据块),每产生一个新的block矿工便得到一定的奖励。随着挖矿的比特币矿工越来越多,数据区块产生的难度也会越来越大,那么数据区块的产生难度是如何衡量的呢?

不知道什么是bitcoin?
区块的产生难度是矿工们在挖矿时候的重要参考指标,它能很好的反映在一定难度下用多长时间才能挖到一定量的比特币。数据区块产的难易程度是由难度值(difficulty)来衡量的。我们可以将difficulty简单的可以理解为:挖到数据区块的所用时间多少。
难度值 difficulty的计算公式为:
难度值 = 最大目标值 / 当前目标值
什么是目标值:
目标值是当前区块生成所达成目标值的hash值,用于矿工的工作量证明。矿工挖掘的区块的头部hash值必须小于目标值,数据区块才能被挖掘成功。
当前目标值是指现在产生数据区块的头部信息hash值参考指标。
最大目标值是一个定值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
关于数据区块的结构信息可以参考:比特币基础教学之:数据区块结构解析(一)
如何将难度值转化为时间度量
我们可以将难度值换算成为时间,来直观的了解现在数据区块产生的难度。
公式:

一个block产生的产生时间 = 难度值 x 2的32次方 / hashrate
hashrate是每秒运算的hash值数量。

例如:
今天的难度值 = 19339258
hashrate=1G/s
那么,
一个block产生的时间(秒为单位) = 19339258 x 2的32次方 /10的9次方 = 83061481.8 秒
一个block产生的时间(小时为单位)=83061481.8089/(60*60)= 23072.6338358 小时

也就是说按照今天的难度值在1G/s的运算能力下, 23072.6个小时才能产生一个数据区块,即25个比特币。
按照现在106美元一个比特币来计算:
以1G/s的算力,每天挖矿的收益 = 24*106*25 /23072.6 = 2.75$
即每天可以得到2.75美元的收益。
关于挖矿常见问题FAQ
我们经常听到的难度调整是怎么回事?
数据区块运算难度值每产生2016个区块后调整一次。
数据区块的最大难度是多少?
确切的说没有最大难度。
我多久可以挖掘出一个数据区块?
这取决于你的算力,参见上面的计算。
我用CPU和GPU可以挖矿么?
可以,但是不推荐。在ASIC(集成专用电路)的时代,CPU和GPU效率太低已经被基本抛弃了。
买昂贵的ASIC设备挖矿划算么?
不好发表意见,可以参考大掘金时代,挖金子的没有赚到钱,卖铲子的发财了。
哪里有比特币挖矿计算程序?
比特币挖矿难度值及收益计算程序

请输入Hashrate(兆 Hash 每秒),如 1G/s 则输入1000:



作者:P2PBUCKS ,转载请注明出处并保持文章完整。