比特币挖矿收益是怎么计算的?很多刚入币圈的小白都想要了解这个问题,我们知道,比特币的挖矿实际上就是找出符合0的个数的Hash值,如下图:
那么比特币挖矿收益是怎么计算的呢?
这个问题居然在网上找不到明确的中文解释,矿叔从Bitcoin官网上找到了一些资料,精简后,解释如下:
首先Hash(哈希)加密算法会产生一个256位的二进制数,为了在这256位数中“猜到”前N个字节为0的成功概率为【2的256次方-1】分之一,也就是平均需要计算2的256次方 – 1次才能算出。
即:
2**256-1 =115792089237316195423570985008687907853269984665640564039457584007913129639935
由此,当难度为D时,需要计算如下次数。(**符号代表幂运算)
(0xffff * 2**208)/D
因此总的哈希次数为:
D * 2**256 / (0xffff * 2**208)
由于比特币规则设定每10分钟产生一个区块,10分钟等于600秒,所以将上面换算成每秒算力:
D * 2**48 / 0xffff / 600
换算成10进制就是:
D * 2**32 / 600
以上公式是个通用公式,变量只有两个:挖矿难度和矿机算力。
举例:2017年8月15日,难度D为:923.233.068.448 (点击 https://blockexplorer.com/api/status?q=getDifficulty 可获取当前难度)
代入上述公式,在本轮难度下,需要算力为:6.608.759.725.949.815.794.即6609P/秒的算力,才能在10分钟内产生1个区块,即12.5个BTC。
也就是需要:6609P /12.5BTC = 528.72P 的算力才能挖出一个比特币。
目前最通用的蚂蚁S9矿机13.5T/s算力,也就是528720T / 13.5T/s = 39164台机器挖矿,能在10分钟内产生一个BTC。
也就是 39164 / 144个10分钟 = 272台S9矿机,每天能挖一个BTC。
将以上过程整理成公式,设D为难度,H为算力(G为单位),每天能挖的比特币数量为:
600 * 10**9 * 12.5 * 144 * H / 2 ** 32 / D
将以上公式简化为:
251457 * H / D
从公式可以看出,产出与挖矿难度成反比,与矿机算力成正比。随着难度的不断攀升,每天能挖的比特币数量不断降低。
因此,只要能给出一个难度的增长比例预期,就能计算出回本时间与投资回报。
备注:常用单位换算:1P =10^15.1T = 10^12. 1G =10^9. 1M = 10^6. 1K = 10^3
以上就是比特币挖矿收益是怎么计算的?详细内容介绍, 通过上面的算法我们完整地回顾了比特币区块链的工作量证明算法,如果各位完全理清了其中的思路,也就可以手动实现自己的挖矿程序,更多比特币挖矿内容可见币圈子站内知识。