收藏本站 网站导航 开放平台 Saturday, May 24, 2025 星期六
  • 微信

挖矿难度是根据什么变化的_比特币挖矿原理是什么

来源 中金网 10-21 03:26
摘要: 本资讯是关于比特币挖矿原理是什么,什么是比特币挖矿难度如何调整原理是什么,比特币挖矿的难度和算力,自学区块链(六)BTC-挖矿难度相关的内容,由数字区块链为您收集整理请点击查看详情

  ❶ 什么是比特币挖矿难度如何调整原理是什么

  比特币挖矿难度(Difficulty),是对挖矿困难程度的度量,挖矿难度越大,挖出区块就越困难。目标值(Target)与挖矿难度成反比。难度越高,目标值越小。而难度目标是目标值通过转化得到,是一个只有 4 个字节的字段(为了便于理解,本文将难度目标等同目标值处理)。比特币系统正是通过调整区块头中难度目标来控制挖出区块所需平均时间的。

  目标值是个长度为 256 比特的字符串,换句话说目标值约有 2^256 种可能的取值。调整难度目标就是调整目标值在整个输出空间的占比。

  举例说明:挖矿就如射击,所有射出去的子弹都会落在一个很大的靶子上。难度目标就是这个大靶子上圈出一个范围,这个范围越小,被射中的难度就越高。调节难度目标,就是调节这个圈在整个靶子上的占比。

  挖矿算力增大,单位时间射击的次数就越多,目标范围被射中所需的时间就越短。反之,挖矿算力减小,目标范围被击中所需的时间就越长。而比特币系统追求的平均出块时间为 10 分钟,这时候就需要调整难度目标来实现。

  02 如何调整难度目标?

  比特币系统是怎样调整难度目标的呢?在《白话区块链入门 080 | 数说比特币,了解 比特币 必须知道这 10 个数字》一文中,我们介绍了比特币系统每过 2016 区块(大约为 14 天时间),会自动调整一次难度目标。所有区块高度为 2016 整数倍的区块,系统就会自动调整难度目标。如果上一个难度目标调整周期(也就是之前 2016 个区块),平均出块时间大于 10 分钟,说明挖矿难度偏高,需要降低挖矿难度,增大难度目标(准确地说是目标值);反之,前一个难度目标调整周期,平均出块时间小于 10 分钟,说明挖矿难度偏低,需要缩小难度目标。

  03 难度目标的可调范围

  比特币系统设定,难度目标上调和下调的范围都有 4 倍的限制。举例说明:假设上一个难度目标调整周期内的 2016 个区块,由于算力暴涨,只用 7 天就全部挖出来了,通过难度目标调整,将难度目标缩小一倍,可以将平均出块时间维持在 10 分钟左右,但如果算力暴涨,前 2016 个区块全部挖出只用了 1 天,那么难度目标最小只能调整为原来的四分之一。

  04 总结

  比特币的算力是持续波动的,比特币系统通过难度目标的调整,使得平均出块时间维持在 10 分钟左右。难度目标和挖矿难度成反比,挖矿难度越大,难度目标越小。当区块高度为 2016 的整数倍时,比特币系统就会在该区块上,自动调整难度目标。如果上一个难度目标调整周期内,平均出块时间超过 10 分钟,那么降低挖矿难度,增大难度目标;反之则提高挖矿难度,减小难度目标。难度目标上调和下调的范围都有 4 倍的限制。

  比特币每 2016 个区块(大约 14 天)调整一次挖矿难度,相比于 BCH 每个区块都调整(大约 10 分钟调整一次),有明显的滞后性。你认为是哪种调整方式更合理呢?为什么呢?欢迎在留言区分享你的观点。

  ❷ 比特币跌破关键技术水平:挖矿即将接近成本区,要凉了

  随着比特币价再度格大幅下跌至7000美元关口,一些人开始担心比特币跌破“挖矿成本”,矿工们或将陆续罢工,而导致币价得到一定支撑?

  这样的想法略显天真。

  首先来分析一下比特币的挖矿成本到底有哪些。

  引述Fundstrat的成本模型包含三个因素:设备成本,电力和包括维护冷却设施在内的其他花销。

  Fundstrat的托马斯·李在本月报告中表示:“当前,比特币交易基本上是以比特币开采盈亏平衡的成本进行的。基于我们的数据科学团队开发的挖矿模型,比特币开采盈亏平衡的成本为8038美元。”

  所以当最近比特币跌至8000关口时,各路散户就开始非常紧张。

  但其实,这里的8000是包括了“沉没成本”或者说“固定成本”的,在实际的商业运营过程中不应该考虑沉默成本。

  比如一家饭店,你已经交了12万房租,每月人员成本2万,平均下来,每月成本3万,如果毛利润达不到3万你是不是就不做了呢?当然不是,因为12万的房租你是无法回收或转让的,只要毛利不低于人员成本2万,你都应该做下去。

  换到挖矿也是一样,简单的来说,只要比特币价格不跌破“运营成本”也就是电价,矿工们是没理由停止的。

  目前挖比特币效率最高的蚂蚁S9矿机9500元/台,每天产出0.001 BTC , 每日耗电32.8度,这是基本固定的效率和耗能,但成本各个矿工可能差别很大,如果是偏远山区用水电的成本可能为3毛钱一度,折合挖一个比特币的“运营”成本是9840元人民币,才1600美元。

  当然如果你是在家扯电线挖矿的,那电费成本可能是6毛钱一度,“运营成本”会一下升至3200美元。

  但如果算上矿机折旧的话成本会大幅增加3~4000美元一个,再加上人员和周边设备、维护费用,这才接近了Fundstrat所估算的8000美元总成本。

  如下图所示,以0.5元/度电费计算,S9矿机在比特币7000多美元的情况下,每日还是可以赚到27块钱人民币,在这种情况下你会不开机挖矿吗?

  这里还有另外一点需要注意的是,以上计算逻辑还是简单的,实际比特币的世界跟现实中挖矿石挖石油是完全不一样的模式——比特币的挖矿难度会根据总算力变化。

  也就是说,比特币的出币速度是固定的,挖矿的人多了,挖矿难度就升高,所有人的成本都会上升,而一旦有人陆续开始退出,则剩下的人在同样的投入情况下,挖到的比特币数量会增加,他的成本其实降低了!打个不恰当的比方,如果全世界就一个人在挖矿,那么他拿一个手机的CPU挖,比特币也会源源不断。

  所以说这里还存在一个博弈的过程,如果你想占有更多后续挖矿的“红利”,你就不能退出这个游戏,你的策略应该是向对手展示自己的强大,逼迫对手退出这个挖矿游戏。

  而最好的展示强大的办法就是“熬”,越是在亏本或不赚钱的情况下展示出你愿意坚持,对手就越有可能被吓退缩(感觉自己熬不到未来吃红利的时候)。

  所以,再打个不恰当的比方,就是即便比特币跌倒1块钱,只要有矿工相信它未来能够涨到运营成本之上,他就应该挖下去。另外需要注意的是这个运营成本会随着参与的人越少而升高,不过问题是参与的人越少比特币届时的价格可能也越低。

  总结:

  比特币的挖矿成本是一个动态的、复杂的计算过程,只要不低于电费矿工都不应该停止挖矿,请不要盲目上下车

  需要矿机订购和托管可以关注私信

  ❸ 比特币挖矿的难度和算力

  难度是对挖矿困难程度的度量,即指:计算符合给定目标的一个HASH值的困难程度。

  difficulty = difficulty_1_target / current_target

  difficulty_1_target 的长度为256bit, 前32位为0, 后面全部为1 ,一般显示为HASH值:, difficulty_1_target 表示btc网络最初的目标HASH。 current_target 是当前块的目标HASH,先经过压缩然后存储在区块中,区块的HASH值必须小于给定的目标HASH, 区块才成立。

  例如:如果区块中存储的压缩目标HASH为 0x1b0404cb , 那么未经压缩的十六进制HASH为

  所以,目标HASH为0x1b0404cb时, 难度为:

  比特币的挖矿的过程其实是通过随机的hash碰撞,找到一个解 nonce ,使得 块hash 小于 目标HASH 值。 而一个矿机每秒钟能做多少次hash碰撞, 就是其“算力”的代表, 单位写成 hash/s 或者 H/s

  算力单位:

  比特币系统的难度是动态调整的, 每挖 2016 个块便会做出一次调整, 调整的依据是前面2016个块的出块时间, 如果前一个周期平均出块时间小于10分钟,便会加大难度, 大于10分钟,则减小难度,目的是为了保证系统稳定的每过 10分钟 产出一个块,所以难度调整的时间大概是2周(2016 * 10 分钟)

  全网算力是btc网络中参与竞争挖矿的所有矿机的算力总和。当前难度周期全网算力会影响下一个周期的难度调整, 如果全网算力增加,挖矿难度增大,单台矿机固定时间的产出就会减少。目前全网算力大概是24.42EH/s, 一台蚂蚁S9矿机的算力大概是14TH/s

   那么, 已知当前全网算力,下一个周期难度将如何调整呢?

  根据公式:

  因为出块时间要稳定在10分钟, 也就是600s:

   那么,在3.46e+12的难度下, 一台算力为14TH/s的矿机平均要花多长时间才能出一个块呢?

  根据公式:

  有:

  结果大概是12270天

  ❹ 自学区块链(六)BTC-挖矿难度

  我们来看下挖矿的计算公式

  H(block header) target,这个target就是 目标阈值

  BTC用的哈希算法是SHA-256,它产生的哈希值是256位,那么就有2^256种取值,这个就是他的输出空间,要增大挖矿难度, 就调节目标值在这个输出空间所占的比例 。

  挖矿难度和目标阈值是成反比的, 当算力强时,调节难度,使目标阈值变小 。

  不调节难度,随着矿工数量增多,随着算力的上升,那么挖到区块的时间就会变短,从10分钟缩短到1分钟甚至几秒钟,这个会带来什么样的问题呢?可能很多人觉得这不是挺好吗,交易等六个确认就会缩短时间了,交易就会变快了。其实出块时间缩到很短,风险是很大的,因为网络延迟,出块时间变短,不同节点很可能接到不同的区块信息,导致会有很多分叉节点出现。矿工会根据自己认为正确的区块接着挖。这种情况下,恶意节点发动分叉攻击就比较容易成功,因为诚实节点的算力被分散了。

  导致不需要51%的算力就能成功,所以缩短出块时间是不利于BTC系统的稳定的。虽然10分钟不一定是最优的时间,但是也算是比较合理的。

  下面是 算力增长曲线

  下面是 挖矿难度曲线

  下面是 平均出矿时间

  我们来看下难度公式:每2016个区块调整一次挖矿难度,10分钟出一个平均算下来是两星期调整一次。

  previous_difficulty是上一次的挖矿难度,分母是最近2016个区块花费的时间

  每个节点挖矿是独立的,BTC的协议也是开源的,会不会有矿工不修改挖矿难度呢?可能性是存在的,但是不影响结果,因为广播给其他节点需要独立验证block header的哈希值, 这个header里面有难度的一个压缩编码,修改难度产生的结果是不会被诚实的节点认可的。

  ❺ 比特币挖矿原理是什么

  比特币挖矿就是通过挖矿节点,然后比特币挖矿机(电脑)不断消耗自身的算力,来换取比特币。在比特币系统,通过自身的算法可以动态调整全网节点的挖矿难度,保证每过大约10分钟,就会有一个节点挖矿成功,这时比特币系统就会奖励此人一定数量的比特币。挖比特币是一个比较复杂的过程,不过挖比特币一般会经过这几个步骤,分别是准备工作、找到矿池、注册矿池账号、矿池账号设置、下载比特币挖矿器(软件)、比特币挖矿机配置;经过以上步骤就可以挖矿了。

  本条内容来源于:中国法律出版社《中华人民共和国金融法典:应用版》

免责声明:中金网发布此信息目的在于传播更多信息,与本网站立场无关。中金网不保证该信息的准确性、真实性、完整性、有效性等。相关信息并未经过本网站证实,不构成任何投资建议,据此操作,风险自担。