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

  • 时间:
  • 浏览:0

图片来源图虫:已授站长之家使用

作者 | 晏文春

出品|白话区块链(ID:hellobtc)

在《为哪些地方有的区块没法打包交易,是矿工忘记啥就让?》一文中,有读者留言提问:

你这个问题梳理成如下表述:

假设最新的区块淬硬层 为 1 万,在10: 00 整被挖开,矿工快速构建区块淬硬层 为 1 万零 1 的区块,而且 在10:05,大白发布了2个交易,在10: 06 最新的区块被挖开,而且 打包了大白发布这笔交易,这是为哪些地方呢?按理说,你这个新交易发布的就让,矿工早就构建好了候选区块,你这个交易肯定没法他当初构建的候选区块里。

今天亲戚人们人们人们都人们人们人们都就来试着解答你这个问题。

 01 

挖矿可是不断尝试随机数

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

 02 

有限的随机数

比特币系统中的可不不需要 尝试的随机数是有限的,没法2^ 32 种机会的取值。矿工构建区块后,遍历所有的随机数,很机会仍没法到符合要求的解。你这个情況,矿工该缘何办呢?哈希函数特点是,输入值改变哪怕或多或少:可不不需要 是改变顺序、增加内容、减少内容等,输出值的结果都在有天差地别般的变化。好多好多 你这个情況下矿工可不不需要 重新构建区块,比如或多或少内容不变,将一笔就让发布交易打包进区块,而且 再尝试随机数,你这个情況下,机会刚好找到了符合要求的解,新的区块就被挖开来了,这笔新发布交易也就被确认了。这也就回答了亲戚人们人们人们都人们人们人们都开头的那个问题。

 03 

矿工的或多或少调整土办法

在遍历所有随机数后仍没法找到符合要求的解的情況下,矿工除了调整区块里打包的交易,还哪些地方地方或多或少调整方案呢?

亲戚人们人们人们都人们人们人们都知道挖开新区块的条件是:区块头的哈希值≤难度目标。

而区块头内容含晒 :

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

▲图片来自网络:默克尔树

好多好多 当经常老出遍历所有随机数都没法找到最少解的情況下,矿工可不不需要 调整区块里的交易:包括交易的顺序、增加打包的交易、减少打包的交易等,哪些地方地方调整最终都将造成区块头里默克尔树根哈希值的变化,从而影响整个区块头的哈希值。但可是 的外理都在辅助的土办法,矿工更普遍的土办法修改2个特殊交易的额外的随机数(Extra Nonce),你这个调整土办法相对来说更加高效。

你这个特殊的交易可是比特币出块奖励的创币交易。这笔交易是由系统"凭空创造"的,好多好多 这笔交易是没法输入的,也可是说它的输入域(input 字段)默认是空的。矿工可不不需要 对你这个字段进行修改,以期找到符合要求的解。创币交易输入域为额外的随机数提供了 8 个字节空间,换句话说,这使得随机数由可是 的2^ 32 种机会性扩大为2^ 96 种机会性,矿工遍历2^ 96 种机会性,一般都能找到符合要求的解。

另外值得一说的是,你这个特殊交易的输入域还是好多好多 人信息上链的"窗口",比如神鱼的"执子之手,与子偕老。神鱼 to 冬冬"就写在创币交易的输入域里。

机会你是矿工,想在创币交易输入域"秀恩爱",你应该在区块挖开就让上写“秀恩爱“的信息,还是等区块挖开就让再写呢?为哪些地方呢?欢迎在留言区写下你的看法。

声明:本文转载自第三方媒体,如需转载,请联系版权方授权转载。协助申请