比特币挖矿难度:2,016 个区块调整机制如何运作
比特币的设计确保矿工无法加快出块速度。即使明天加入的矿机数量翻倍,网络仍会以平均约每十分钟找到一个区块为目标。难度就是维持这一节奏的调节机制。
本文将介绍难度衡量的内容、难度与目标值的关系、每 2,016 个区块如何调整、调整机制存在的原因,以及难度变化意味着什么、不意味着什么。本文不会引用当前难度数值,也不会预测下一次调整,因为这两者都取决于区块被找到的速度。
挖矿难度衡量什么
Bitcoin Wiki 将难度描述为:找到低于给定目标值的哈希有多困难。挖矿与其说是解决一道冗长且固定的问题,不如说更像抽奖。每次哈希运算都会产生一个实际上随机的数字;如果该数字低于目标值,矿工就赢得这个区块。否则,矿工会更改 nonce 并再次尝试。
因此,难度并不是指数学运算有多复杂,而是指矿工平均需要尝试多少次才能成功。比特币开发者文档定义了一个允许的最低难度,称为难度 1;当前难度则以此为基准表示。
目标值与难度
目标值是所有比特币软件共享的一个 256 位数字。区块头的哈希必须小于或等于该值,区块才能被接受。Bitcoin Wiki 指出,目标值越低,生成区块就越困难。难度是从另一个角度描述同一概念:难度越高,目标值越低。正如关于哈希率的文章所述,Bitcoin Wiki 还给出了一个经验法则:平均而言,找到一个区块需要进行约等于难度乘以 2 的 32 次方次哈希运算。
每 2,016 个区块如何调整
调整规则按区块数计算,而不是按天数计算。Bitcoin Wiki 解释说,每经过 2,016 个区块(如果区块恰好每十分钟产生一个,这相当于两周),每个比特币节点都会将这些区块实际耗时与两周的目标进行比较,并按时间差的百分比调整目标值。如果出块速度快于预期,目标值就会降低,挖矿难度随之增加;如果出块速度较慢,目标值就会提高,挖矿难度随之降低。
单次调整中,目标值无论朝哪个方向变化,都不会超过 4 倍,以此防止出现剧烈波动。没有人负责设定难度。每个节点都会根据区块链,按照同一规则独立计算难度;Bitcoin Core 软件则编码了两周的目标周期和 2,016 个区块的间隔。
由于调整由区块数量触发,“两周”只是大致时间,下一次调整也无法对应到一个确定的日历日期。区块找到得越快,调整就越早;找到得越慢,调整就越晚。
比特币为何调整难度
比特币白皮书解释了这一机制的目的:为了应对硬件速度的提升,以及随着时间推移运行节点的兴趣变化,难度会根据移动平均值确定,以实现每小时区块数量的平均目标;如果区块生成过快,难度就会提高。Bitcoin Wiki 补充说,保持平均每十分钟产生一个区块的稳定节奏,有助于确保网络稳定,并降低交易延迟。
稳定的出块节奏也能让发行计划保持稳定。根据开发者文档,比特币区块补贴每经过 210,000 个区块就会减半。因此,无论矿工使用什么硬件,只要每年的区块数量大致恒定,减半周期就能维持在约四年。
难度变化意味着什么、不意味着什么
难度上升时,表示此前的 2,016 个区块比预期更快产生,通常意味着有更多算力加入了网络。难度下降时,则表示这些区块产生得更慢。由于每个周期只调整一次,难度变化会滞后于哈希率,最长可滞后一个周期。
难度变化不会改变区块奖励或供应计划,因为两者都按区块数计算。它改变的是每个区块需要进行的尝试次数,因此每个矿工预期获得的奖励份额也会随之变化。难度反映的是挖矿条件,并不是比特币价格的信号。
WEEX 提醒:难度数据不是收益预测
WEEX 提醒用户,难度及其调整反映的是挖矿竞争程度,并不能说明任何人是否会盈利,也不能预测价格走势。对于那些引用难度或“网络算力”来为承诺收益背书的推广活动,请务必保持谨慎,因为没有人能保证挖矿一定盈利。切勿向任何声称可以替你“挖矿”的人透露助记词或验证码。本文内容不构成财务建议。
结论
挖矿难度衡量的是平均需要尝试多少次才能找到有效区块。每经过 2,016 个区块,每个节点都会比较这些区块的实际耗时与两周目标,并调整目标值,调整幅度最多为 4 倍,从而让区块继续以平均约每十分钟一个的速度产生。难度变化会滞后于哈希率,且与价格无关。
常见问题
1. 什么是比特币挖矿难度?
它衡量的是找到低于当前目标值的区块哈希有多困难。难度越高,矿工平均需要进行越多次尝试,才能找到有效区块。
2. 难度多久调整一次?
每经过 2,016 个区块调整一次。如果区块每十分钟产生一个,这大约相当于两周;不过,调整按区块数计算,而不是按天数计算。
3. 难度是否恰好每两周调整一次?
不是。固定的条件是 2,016 个区块,而所需时间取决于区块被找到的速度,因此无法提前确定下一次调整的日期。
4. 如果矿工退出,难度会怎样变化?
区块产生速度会变慢,下一次调整时难度就会下降。单次调整的幅度最多为 4 倍。
5. 难度提高是否意味着比特币价格会上涨?
不会。难度反映的是挖矿活动以及区块产生的速度,并不是价格信号。