比特币中算的哈希值需要跟目标值比较。那么目标值是谁给定的呢?

来源:3-10 实战应用-Hash在比特币中的应用

LanceMai

2022-07-15

比特币中算的哈希值需要跟目标值比较。那么目标值是谁给定的呢?

写回答

1回答

马里布

2022-07-15

比特币通过动态调整区块难度的方法来实现区块生成速度的调整,比特币被设计为每隔2016个区块时全网均会自动统计过去2016个区块生成耗时,然后重新计算出下一个2016个区块的目标值。

PPT中所指的目标值是一个虚拟概念,实际中通过个区块头中都有一个 Bits 字段,被称为“目标位”,也就是所谓的难度值。

参考 https://btc.com/stats/diff 例如最近的一条交易,Bits=0x1709a7af

其中0x17称为指数,后面0x9a7af称为系数,

目标值计算 target = 0x9a7af * 2^ (8 * (0x17 -3))

等于 0x9a7af0000000000000000000000000000000000000000

在比特币系统中,难度值越小,挖矿难度就越大,因为哈希值可落的范围会越小;反之难度值越大,挖矿难度就越小。


0
2
马里布
回复
LanceMai
这个值就是做target 可以叫做目标值也可以叫做难度值。 说它难是因为target 如果越小,那么算出来的哈希能比这个值还要小的可能性就急剧下降,因为我们知道哈希结果是不可预测的,也可以从随机预言的角度来理解它,正因为随机性不可预测性导致计算值小于这个目标值的难度就比较大,需要无脑尝试非常多的次数才可能正好“撞到”一个比target还要小的值,这个就是难度的意思,当全世界的算力在上升的时候,比特币系统也会上调难度,也就是减小target的值,也就是PoW机制的控制比特币生成速度的关键点。
2022-07-18
共2条回复

人人都该懂密码学,通用密码学原理与应用实战

万物互联时代,更新你的安全保障能力

249 学习 · 26 问题

查看课程