比特币挖矿的难度与收益计算
前言
近期大家很关心的一个事情,就是BCC分叉后,由于难度调整以及价格上涨,矿工们为了获得更高的收益,开始迁移到BCC挖矿,但由于算力的涌入,下个难度周期又会提高难度,矿工又迁移到BTC矿池,如下图所示,两种币的挖矿收益分别计算出来了,按现在的价格,挖BCC的收益会高一点。这是一个很有意思的“跳矿”现象,那么这个现象的背后,到底是什么在起作用呢?
图1-BTC挖矿收益计算器
图2-BCC挖矿收益计算器
这个现象的直接原因是收益,比特币的挖矿收益是和难度有关的,比特币每2016个块调整一次难度,那么这个难度是从何而来,收益又如何被影响的呢?
比特币的难度
首先来看看难度是怎么来的,比特币的挖矿里面,是有一个计算哈希的目标值的,如果这个目标值越小,那么难度越大。简单来说,难度是一个指标,用于标示计算当前的目标值的困难程度。
难度计算公式如下:
diff = diff_1_target / target
目标值是一个很大的数字,这里出现了一个 diff_1_target,这是常数,是一个很大的数字,这个数字也被称作是矿池难度,即矿池挖矿时的最大难度。这个最大难度值是标记为0x1d00ffff的数,这个标记是压缩标记,它的实际值是:
0x00ffff * 2*(8(0x1d - 3)) = 0x00000000FFFF0000000000000000000000000000000000000000000000000000
计算时,后面三个字节作为底,前面一个字节1d表示的是次方数,最终得出上面这个数字,挖矿时矿池也可以保留的尾数,即
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
而比特币的挖矿难度,根据上面的公式可知,它和diff_1_target及当前网络目标值(target)有关,将diff_1_target值代入,得到:
diff = 0x1d00ffff / target
在调整难度的时候,只需要调整target大小即可,target越小,难度越大,反之,难度越小。矿池一般用后面全是FF的值来代表diff_1_target,计算出来的难度就叫做矿池难度pdiff,如果用后面全是00的值来代表diff_1_target,那么计算出来的难度值是比特币客户端难度bdiff。这里只是说明,它们有两个值,代表不同计算方式,实际上,它们计算出来的难度并不会相差很远。
网络调整难度的目的,是为了调整出块的速度保持在平均10分钟1个块,每2016个块作为一个周期调整,这样刚好2周作为一个周期,如果这2016个块中,平均出块速率快过10分钟1个块,那么难度将会增大到,维持这个难度的情况下,满足10分钟出一个块的水平。什么时候调整难度呢?由于2016的周期从来没有变过,那么该周期内还剩余的区块数量是可以计算出来的:
该周期剩余区块数量 = 2016 - (当前区块高度 % 2016)
以当前最新一个块 #482017 为例
当前高度 % 2016 = 482017 % 2016 = 193
该周期剩余区块数量 = 2016 - 193 = 1823
也即该周期内才出193个区块,得等到1823个块以后才会调整难度,对于BCC来说,也是一样的。
挖矿收益计算
挖矿时,计算出来的区块哈希值,是要小于当前target值的,这个哈希值是一个范围很大的值(从0到(2^256)-1),只有靠矿机的暴力破解,才能算出这个值。
diff_1_target,即0x00000000FFFF0000000000000000000000000000000000000000000000000000 , FFFF后面有26个字节,即8 * 26 = 208位,所以diff_1_target又可以写成 0xffff * (2 ** 208)。
如果当前难度是D的话,那么根据上面我们讲过的公式
diff = diff_1_target / target
那么
target = (0xffff * (2 ** 208)) / D
需要要搜索出这个target值,需要计算的哈希次数是
2 ** 256 / target
将D移到左边,得到
D * (2 ** 256) / (0xffff * (2 ** 208))
将2 ** 208移到左边,得到
D * (2 ** 256) / (2 ** 208) / 0xffff
化简得到
D * (2 ** 48) / 0xffff
也即10分钟(600秒)内要计算这么多次,才能得到一个块,那么平均每秒就是:
D * (2 ** 48) / 0xffff / 600
将0xffff写成十进制是2 ** 16
D * (2 ** 48) / (2 ** 16) / 600
化简得到
D * (2 ** 32) / 600
假设现在全网难度是888171856257,那么平均要计算 6357781793085713285次哈希运算才能得到一个块。我们不妨用现在的算力验证一下,现在的全网算力是5.68 EH/s, 大概接近这个值。
难度和算力的关系我们已经看出来了,难度越大,需要的算力就越大。那么以单位为1Th/s的云合约标准算力来计算,一天的收益能够达到多少呢?
一天能够计算的哈希次数 = 1T * 86400
假设当前难度为D,那么
收益 = 1T * 86400 / D / ( 2 * 32) * 块收益
挖矿收益计算器
基于上面这个公式,获取到网络参数后,你就能计算出现在挖矿的理论收益了,也就可以做一个BTC和BCC的收益计算器了,当然,你如果只是想要理解原理,那么可以使用现成的收益计算器,输入你的算力,将会计算出产出多少个币,乘以币价,就可以计算出当前挖BTC划算还是BCC划算,当然,汇集历史数据,可以通过查看曲线的方式,看到更直接的难度和收益变化。
Leave 比特币挖矿的难度与收益计算 to:
Read more #cn posts
Best Posts From 红杏爱翻墙
We have not curated any of frank9587's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From 红杏爱翻墙
- 全球排名第一的Express VPN翻墙速度测试
- 用ExpressVPN看youtube 4K视频速度
- 别再用蓝灯翻*墙VPN了,非常不安全
- 用全球最牛的VPN-expressvpn看youtube 4k视频的速度截图
- 你懂的网址大全 全球各国顶级宅男福利应有尽有
- 这可能是我用过最好的付费VPN:Expressvpn
- 还在使用蓝灯、自由门、无界浏览等翻墙软件的网友要注意
- VPN的几种常见连接类型有什么区别
- 还在用蓝灯的朋友要小心了,他很可能会记录你的上网日志
- 用VyprVPN的香港节点看youtube 4K速度展示
- 兄弟姐妹们,你们还敢用蓝灯吗?
- 更便宜的大牌VPN来了
- 全球速度最快的VyprVPN评测,看youtube4K视频毫无压力
- 全球最好用的付费VPN推荐:VyprVPN,只需要4美刀一个月
- 号称世界上最强大的VPN,高速稳定,永不掉线,70多个节点,支持全平台,强烈推荐使用
- 为什么说 vyprvpn速度快,看这个youtube上的评测视频就知道了
- 超高速VPN各种国家IP都有,轻松玩转谷歌、推特、youtube
- 翻墙看youtube 4K视频不卡顿,这个VPN速度太快了
- 推荐一个翻墙VPN的大牛,全球排名前三
- 秦岭沣峪关石村:小坝沟穿越大坝沟,遇高山瀑布,银链挂于峭壁