链资讯 链资讯
Ctrl+D收藏链资讯
首页 > 比特币 > 正文

白话区块链入门085 | 比特币是如何维持平均10分钟出一个区块的

作者:

时间:

作者 | 晏文春出品|白话区块链

之前有读者在《白话区块链入门038 |  比特币矿工一天赚多少钱?》留言区提问:

1、谁最先找出难题的答案,谁就获得了这一次的记账权,其中比特币系统出的难题是什么样子的?2、随全网算力的提高,难题的的难度系数亦提高,这是怎么实现的?

对于第一个问题,白话区块链曾在《一个经典的故事,让你3分钟搞懂比特币挖矿》一文给出过解释:

比特币系统给矿工出的难题就是让矿工找出符合要求的随机数。矿工构造区块,确定区块头中其他5个字段,另一个需要不断试错的变量就是随机数。只有符合要求的随机数才能召唤“神龙”。符合要求的意思是:对整个区块头取哈希值,使得该哈希值小等于难度目标(准确的说是小于目标值Target)。

我们今天主要来回答第二个问题:比特币系统挖矿难度目标是什么,它是怎么调整的?

 01 什么是难度目标?

难度目标是比特币系统中调控挖出区块所用平均时间的参数,是区块头中6个字段之一。

ZEC跌破64美元关口 日内跌幅为3.05%:火币全球站数据显示,ZEC短线下跌,跌破64美元关口,现报63.99美元,日内跌幅达到3.05%,行情波动较大,请做好风险控制。[2020/10/23]

比特币挖矿难度(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分钟调整一次),有明显的滞后性。你认为是哪种调整方式更合理呢?为什么呢?欢迎在留言区分享你的观点。

——End——

标签:比特币BSPNBS区块链玩比特币的都是什么人啊BSPT价格nbs币前景区块链存证的特征有

比特币热门资讯
BTC、ETH和EOS相比较有什么区别?| 白话区块链入门143

在白话区块链之前的推文《被称为区块链 3.0 的 EOS 是什么》中提到:比特币就像大哥大,只有打电话功能;以太坊像小灵通,除了打电话,还可以有一些小游戏;EOS 就像第一代的 iPhone,除了支持一些小游戏外,还有一些高级的应用,像上网、发电子邮件等。

必学丨今天又增发3亿?教你怎么查看USDT大额交易记录

USDT又双叒叕增发了!! 今天凌晨2点41分,泰达公司又增发了3亿USDT。 这是本月以来第4次增发了,目前市场上USDT总发行量为31.2亿,流通量为28.28亿。 关于USDT增发的话题,小白在之前也分析过很多。

温水煮青蛙 以太坊如何让矿工接受PoS?| 白话区块链入门105

3月初以太坊的君士坦丁堡升级,其中包含了一条,将难度炸弹(Difficulty Bomb)往后推迟12个月的改进协议。有读者给白话区块链留言说,这句话每个字都认识,但就是没看懂这句话是什么意思。那我们今天就来简单介绍下难度炸弹吧。

Staking是什么 | 金色百科

Staking是POS共识机制下的一个验证过程。由于PoS 机制中的所有节点通过质押token的方式参与共识,其网络中的验证者同时也是 token 持有者。由于 token 的价值直接被抵押,激励机制的作用开始出现。一般来说,质押者必须将他们的 token 锁定为抵押品。作为交换,他们有获得验证区块和挖矿奖励的权利。

“闪电火炬”是个怎么样的活动 | 金色百科

最近,一个名为“闪电火炬”的活动在币圈非常盛行,从名字看它是“闪电网络”与“火炬传递”的组合,意思比较容易猜出来,就是一场利用闪电网络进行的转账传递活动。但它究竟怎么玩,目的是什么? 闪电火炬是在2019年2月初,由一个网名为@Hodlonaut的比特币爱好者发起的活动,它的玩法类似于奥运火炬传递,使用闪电网络在参与者之间不断传递。

较链上交易量指标更有意义的“币天” 更能反应资金流动 | 白话区块链入门150

“刚刚察觉到过去24小时,转账的比特币总量达到了 7,149,570.84BTC。这个数字是目前最大的吗?还有其他大额转账吗?难道中本聪又活跃了?” 这是 2011 年 4 月 20日,一位昵称为 S3052 的用户在 Bitcointalk 论坛上发的帖子。随后,论坛上的其他用户纷纷加入探讨比特币的经济活动水平。