找回密码
 立即注册

QQ登录

只需一步,快速开始

门户 百科 查看内容
  • QQ空间
  • 回复
  • 收藏

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

admin 2019-04-17

在《为什么有的区块没有打包交易,是矿工忘记了吗?》一文中,有读者留言提问:

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

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

今天我们就来试着解答这个问题。


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

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

 02 
有限的随机数

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

 03 
矿工的其他调整方法

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

我们知道挖出新区块的条件是:区块头的哈希值≤难度目标。

而区块头内容包含:

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

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

所以当出现遍历所有随机数都没有找到合适解的情况下,矿工可以调整区块里的交易:包括交易的顺序、增加打包的交易、减少打包的交易等,这些调整最终都将造成区块头里默克尔树根哈希值的变化,从而影响整个区块头的哈希值。但这样的处理都是辅助的方式,矿工更普遍的方式修改一个特殊交易的额外的随机数(Extra Nonce),这种调整方法相对来说更加高效。

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

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

来自: 白话区块链
文章点评
相关文章

热门货币

恒星币XLM
恒星币XLM

恒星币(Stellar),一个由前瑞波币(Ripple)创始人Jed McCaleb

柚子币EOS
柚子币EOS

EOS (Enterprise Operation System)是由 Block.one公司主导开发

比特币BTC
比特币BTC

比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的

新经币NEM
新经币NEM

新经币(New Economy Movement,缩写 NEM),是一种点对点虚拟货币

艾达币ADA
艾达币ADA

ADA,中文称为艾达币,是Cardano项目的产物,Cardano项目发起于2

交易平台

火币网
火币网

火币网成立于2013年,是中国最大的比特币(btc)、莱特币(ltc)、以

火币pro
火币pro

火币全球专业站,是火币全球旗下服务于全球专业交易者的创新数字

OkCoin国际
OkCoin国际

okcoin国际站是全球着名的数字资产交易平台之一,主要面向全球用

币安Binance
币安Binance

币安交易平台是由赵长鹏(CZ)领导的一群数字资产爱好者创建而成

P网Poloniex
P网Poloniex

poloniex成立于2014年,俗称p网,是世界领先的加密货币交易所之

币圈大佬

V神:以太坊创始人
V神:以太坊创始人

萌萌的天才少年Vitalik Buterin,圈内人一般称他为V神。这个94年

中本聪:比特币创始人
中本聪:比特币创始人

中本聪,比特币创始人,谜一样的人物。2008年中本聪在互联网上一

李笑来:中国比特币首富
李笑来:中国比特币首富

李笑来,原新东方名师,中国比特币首富,著名天使投资人,比特基

沈波:分布式资本创始人
沈波:分布式资本创始人

沈波,分布式资本合伙人,分布式资本是中国最大的专业投资区块链

老猫:硬币资本联合创始人
老猫:硬币资本联合创始人

老猫,硬币资本联合创始人,现为Bigone交易所的CEO。巴比特专栏