架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 893|回复: 1

[区块链知识]什么是区块难度?对挖矿有什么影响

[复制链接]
发表于 2018-2-15 00:19:55 | 显示全部楼层 |阅读模式
我们都知道,比特币是由计算机生成的一串串复杂的代码组成,每隔一段时间,比特币系统会在节点上随机生成一个数据区块,大量的运算去寻找此区块,谁能够在第一时间找到,谁就获得一个比特币,这个寻找区块的过程就是我们所说的挖矿。随着挖矿队伍的越来越壮大,获取数据区块的难度也将变得越来越大。

什么是区块难度?
区块难度是用来衡量挖出一个区块平均所需要的运算次数,反映了在一定难度下用多长时间才能挖到一定数量的区块,也是矿工挖矿时重要的参考指标。数据区块产生的难易程度是由难度值(difficulty)来衡量的,我们也可以将difficulty简单的理解为挖到数据区块所用的时间。
这里简单的举个例子:现在有一道数学题,已知X是0-99中任意一个数字,求X<100。答案非常简单,该范围内所有的数字都符合要求。再求X<50,那么现在该范围内只有一半的数字符合要求,换句话说,现在的求解难度比之前大了。之前要想求解只需要尝试一次就可以了,现在求解则需要尝试两次,从而我们可得出x<50的难度是x<100的2/1=2倍。同样的,如果让我们求解X<10,难度就是x<100的100/10=10倍。这里的参数100、50、10就相当于是难度值(difficulty),由此我们可以得出以下计算公式:

QQ截图20180215001756.jpg

我们也可以将难度值与时间进行换算,这样可以更直观的了解数据区块产生的难度,计算公式如下:
一个block产生的时间=难度值x2的32次方/hashrate
(hashrate是每秒运算的hash数量)

决定区块难度的因素有哪些?
数据区块难度是没有最大值的,每产生2016个区块后,数据区块运算难度会调整一次。以比特币为例,平均每隔10分钟会产生一个区块,那么每14天(2016*10/60/24=14)会调整一次区块难度,在未到调整周期时,区块难度是保持不变的。影响区块难度的因素有很多,这里主要介绍一下难度与算力的关系。区块难度的计算是与算力成正比的,当全网的算力越高时,区块难度就越高,反之当未来算力降低时,区块难度也会随之降低。你可以想象,如果算力突然暴涨,是原来的一倍,那么原本需要14天才能挖完2016块区块,现在只需要7天就能完成,到调整周期时难度增加一倍;如果发生意外,算力损失一半,那么原来14天的工作需要28天才能完成,到调整周期时,难度降低为原来的一半就可以了。因此,我们可以得出结论,区块难度的调整,可以通过算力情况进行自动匹配,当算力增加时,反应调整会加快;当算力降低时,反应调整会缓慢。

区块难度对于挖矿收益有何影响?
在了解区块难度对于挖矿的影响之前,我们需要知道(以比特币为例):
每天挖出比特币的数量=当前每天新生成比特币数量*我的算力/全网算力
每日收益 = 比特币价格*每天挖出比特币的数量 - 每日电费
前面我们也讲到,区块难度的计算是和全网算力是成正比的,区块难度的调整和全网算力是自动匹配的,所以针对不同的矿工群体,区块难度对于挖矿的影响大致可以分为两类:一类,对于那些拥有固定算力的矿工来说,区块难度和挖矿收益是成反比的,全网算力越大,区块难度越大,所以每天挖出比特币的数量越少,收益也就越低;全网算力越小,区块难度越小,所以每天挖出比特币的数量越多,收益也就越高。另一类,对于那些刚准备投资挖矿的矿工来说,区块难度增速越快,全网算力增加越快,意味着挖矿收益下降越快,在核算时需要充分考虑这些因素。

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2018-8-22 09:35

Powered by Discuz! X3.4

© 2001-2014 Comsenz Inc.

快速回复 返回顶部 返回列表