区块链入门 | 矿工遍历所有随机数,仍得不到正解,是爱情誓言错了?

[复制链接]
40658 |11
发表于 2019-4-17 08:14:45 | 显示全部楼层 |阅读模式
在《为什么有的区块没有打包交易,是矿工忘记了吗?》一文中,有读者留言提问:

这个问题梳理成如下表述:
假设最新的区块高度为1万,在10:00整被挖出,矿工快速构建区块高度为1万零1的区块,然后在10:05,大白发布了一个交易,在10:06最新的区块被挖出,而且打包了大白发布这笔交易,这是为什么呢?按理说,这个新交易发布的时候,矿工早就构建好了候选区块,这个交易肯定不在他当初构建的候选区块里。
今天我们就来试着解答这个问题。

01
挖矿就是不断尝试随机数

在《一个经典的故事,让你3分钟搞懂BTC挖矿》一文中,白话区块链介绍过,挖矿的过程就是不断尝试随机数,试图找到符合要求的解的过程。矿工在构建好区块后,不断尝试随机数,直到有人找到符合要求的随机数(区块头的哈希值≤目标值),新区块被挖出,该矿工获得出块奖励。
02
有限的随机数

BTC系统中的可以尝试的随机数是有限的,只有2^32种可能的取值。矿工构建区块后,遍历所有的随机数,很可能仍没得到符合要求的解。这种情况,矿工该怎么办呢?哈希函数特点是,输入值改变哪怕一点:可以是改变顺序、增加内容、减少内容等,输出值的结果都会有天差地别般的变化。所以这种情况下矿工可以重新构建区块,比如其他内容不变,将一笔刚刚发布交易打包进区块,然后再尝试随机数,这种情况下,如果刚好找到了符合要求的解,新的区块就被挖出来了,这笔新发布交易也就被确认了。这也就回答了我们开头的那个问题。
03
矿工的其他调整方法
在遍历所有随机数后仍没有找到符合要求的解的情况下,矿工除了调整区块里打包的交易,还有哪些其他调整方案呢?
我们知道挖出新区块的条件是:区块头的哈希值≤难度目标。
而区块头内容包含:

除去随机数字段,块头里的版本字段、父区块头哈希值、难度目标都是确定的,无法调整,而时间戳字段可调的范围非常有限。这样下来,方便调整的部分还就剩默克尔树根字段。区块头内并没有包含该区块的交易数据,而是对这些交易信息取哈希值,然后再对交易的哈希值两两合并再取哈希值,直到形成最后形成一个字段,这个字段就是默克尔树根字段,它将被存储进区块头里。

▲图片来自网络:默克尔树
所以当出现遍历所有随机数都没有找到合适解的情况下,矿工可以调整区块里的交易:包括交易的顺序、增加打包的交易、减少打包的交易等,这些调整最终都将造成区块头里默克尔树根哈希值的变化,从而影响整个区块头的哈希值。但这样的处理都是辅助的方式,矿工更普遍的方式修改一个特殊交易的额外的随机数(Extra Nonce),这种调整方法相对来说更加高效。
这个特殊的交易就是BTC出块奖励的创币交易。这笔交易是由系统"凭空创造"的,所以这笔交易是没有输入的,也就是说它的输入域(input 字段)默认是空的。矿工可以对这个字段进行修改,以期找到符合要求的解。创币交易输入域为额外的随机数提供了8个字节空间,换句话说,这使得随机数由原来的2^32种可能性扩大为2^96种可能性,矿工遍历2^96种可能性,一般都能找到符合要求的解。
另外值得一说的是,这个特殊交易的输入域还是很多人信息上链的"窗口",比如神鱼的"执子之手,与子偕老。神鱼 to 冬冬"就写在创币交易的输入域里。
如果你是矿工,想在创币交易输入域"秀恩爱",你应该在区块挖出之前上写“秀恩爱“的信息,还是等区块挖出之后再写呢?为什么呢?欢迎在留言区写下你的看法。

——End——
作者 | 晏文春
出品|白话区块链(ID:hellobtc)

『声明:本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。

201904160815253364.jpg

201904160815253364.jpg
回复

使用道具 举报

发表于 2021-11-16 15:27:55 | 显示全部楼层
hjfghljghjghgyhjgkiuhjghb
回复 支持 反对

使用道具 举报

发表于 2022-1-5 13:43:44 | 显示全部楼层
啊所发生的法撒旦法
回复 支持 反对

使用道具 举报

发表于 2022-1-5 14:06:12 | 显示全部楼层
etrhytuyregterytryreuyrythytyu
回复 支持 反对

使用道具 举报

发表于 2022-1-7 15:20:21 | 显示全部楼层
rghtruytijgffbdfruhytkuktyhrgfgtjhfgh
回复 支持 反对

使用道具 举报

发表于 2022-1-7 15:29:13 | 显示全部楼层
ghjyjhgngbvjukjhyhjrfgfjhgxjukhjh
回复 支持 反对

使用道具 举报

发表于 2022-3-4 09:10:13 | 显示全部楼层
抗量子 比特币现金!!!!是否将成功超过BTC,成为新的币王
回复 支持 反对

使用道具 举报

发表于 2022-3-4 09:10:57 | 显示全部楼层
瑞瓦特其他手续中信出版社噶女许下
各类矿机厂商大陆销售代理(可发大陆、海外) 微信:19979963337 Telegram电报群
回复 支持 反对

使用道具 举报

发表于 2022-3-4 09:13:56 | 显示全部楼层
热特粉丝勋章v出现阿萨德DASF
各类矿机厂商大陆销售代理(可发大陆、海外) 微信:19979963337 Telegram电报群
回复 支持 反对

使用道具 举报

发表于 2022-3-4 09:38:40 | 显示全部楼层
sddgdzhdiskgndzknshfs
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块
快速回复 返回顶部 返回列表