故事窝

当前位置:主页 > 儿童故事 > / 正文

一个经典故事,让你 3 分钟搞懂比特币挖矿

2021-07-31 20:55:4263 ℃

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

在之前的科普文章里,白话区块链(ID: hellobtc)介绍过比特币挖矿:矿工通过不断试错,直到找到合适的随机数,新的区块被挖出,得到对应的区块奖励和交易手续费奖励。

有部分小伙伴在后台留言,希望能更具体的介绍一下挖矿的过程。今天白话区块链就换一个角度来介绍,让你三分钟搞懂比特币挖矿。

01

讲个故事给你听

一个经典故事,让你 3 分钟搞懂比特币挖矿

这是一个远古的传说,世界上散落着 7 颗龙珠,谁集齐这 7 颗龙珠,并念出咒语,就能召唤神龙;神龙会实现他的一个愿望。神龙在实现愿望后,7 颗龙珠便会自动飞散,变成石头,一年后才可再次使用。没错,这个故事来自大家耳熟能详日本著名动漫《七龙珠》。只要能看懂这个故事,就能搞懂比特币挖矿。不信,咱走着瞧,

02 比特币挖矿就是召唤 " 神龙 "

召唤神龙需要集齐 7 颗龙珠。比特币挖矿和召唤神龙很相似,需要集齐 6 颗 " 龙珠 ",才能召唤出比特币。

我们先来了解一下,比特币区块的构造。

比特币区块主要由两部分组成:区块头和区块体。区块体用来装载该区块打包的所有交易,一个装载满交易信息区块体,其大小约在 1M 左右(为了便于理解,我们以最原始的 1M 限制来举例,目前常常会突破 1M)。

一个经典故事,让你 3 分钟搞懂比特币挖矿

▲区块结构简易示意图

区块头里包含的信息有版本、父区块头哈希值(也就是前一个区块)、该区块中默克尔树根的哈希值、时间戳、难度目标、随机数Nonce6 个字段。区块头的大小是固定的,只有 80 字节,12500 个区块头容量大小也只有 1M。

请注意:读到这里,如果发现这些名词看不懂,没关系,忽视它们,把它们当成是一颗颗 " 龙珠 ",制服控,不会影响到你对挖矿的理解。

一个经典故事,让你 3 分钟搞懂比特币挖矿

▲区块结构简易示意图

对于挖矿而言,收集到区块头里的 "6 颗龙珠 " 就有机会 " 召唤神龙 "。6 颗 " 龙珠 " 就是区块头里的 6 个字段," 神龙 " 就是挖出的新区块,你对 " 神龙 " 许的愿便是比特币奖励,包括创建新区块的奖励及该区块中所含交易的交易费。

我们先来了解一下比特币挖矿的 6 颗 " 龙珠 " 分别是什么,容不容易得到?

6 个字段中,除了随机数需要不断试错寻找,其他的 5 个字段都是很容易获得的。

1、版本字段:是用来跟踪软件升级的版本号,可自动从软件信息得到;

2、父区块头的哈希值:父区块被挖出后,其区块头哈希值就确定了,也很容易得到;

3、该区块中默克尔树根的哈希值:当一个区块打包的交易确定了,这个字段也就确定,So Easy;

4、时间戳,是指该区块产生的近似时间,也是确定;

5、难度目标:该区块工作量证明算法的难度目标,系统给出的,同样是确定的;

也就是说,区块头中,6 颗 " 龙珠 " 中的 5 颗是很容易获得的,并且是相对确定的。只有第 6 颗 " 龙珠 " ——随机数(Nonce),是个不确定的、需要矿工不断试错去需找的变量。

只有找到了合适的 Nonce,才能召唤出 " 神龙 " ——挖出新的区块,得到比特币奖励。

什么是合适的随机数呢?对区块头里的 6 个字节取哈希值,如果这个值小于或等于系统给定的难度目标值,那么就算是找到了合适随机数,就能成功 " 召唤神龙 " ——挖出新区块,得到比特币奖励。这就是比特币挖矿的过程。

03

小结

一个经典故事,让你 3 分钟搞懂比特币挖矿

我们来总结一下:比特币挖矿和《七龙珠》里召集神龙类似,集齐 6 颗 " 龙珠 " 就有机会 " 召唤神龙 "。

6 颗 " 龙珠 " 中,其中 5 颗很容易得到,只有第 6 颗——随机数,需要矿工不断试错寻找。直到找出合适的随机数,也就是对区块头里的 6 颗 " 龙珠 " 整体进行哈希运算,得到的值小于等于难度目标值,才算挖出新的区块,得到相应的比特币奖励。

机智如老铁,这下肯定清楚了比特币挖矿是怎么回事了!如果觉得不错,尝试给身边的小伙伴科普一下吧。

往期专题

本文为旧文重发,内容略作调整

原文链接:一个经典的故事,让你 3 分钟搞懂比特币挖矿

—— End ——

热门图片
最近更新

Powered By 故事窝 津ICP备17010653号-1 网站地图