一个经典的故事,让你3分钟搞懂比特币挖矿
在之前的科普文章里,白话区块链(ID: hellobtc)介绍过 比特币挖矿 :矿工通过不断试错,直到找到合适的随机数,新的区块被挖出,得到对应的区块奖励和交易手续费奖励。
有部分小伙伴在后台留言,希望能更具体的介绍一下挖矿的过程。今天白话区块链就换一个角度来介绍,让你三分钟搞懂比特币挖矿。
01
讲个故事给你听
这是一个远古的传说,世界上散落着7颗龙珠,谁集齐这7颗龙珠,并念出咒语,就能召唤神龙;神龙会实现他的一个愿望。神龙在实现愿望后,7颗龙珠便会自动飞散,变成石头,一年后才可再次使用。没错,这个故事来自大家耳熟能详日本著名动漫《七龙珠》。只要能看懂这个故事,就能搞懂比特币挖矿。不信,咱走着瞧?,

02 比特币挖矿就是召唤“神龙”
召唤神龙需要集齐7颗龙珠。比特币挖矿和召唤神龙很相似,需要集齐6颗“龙珠”,才能召唤出 比特币 。 我们先来了解一下,比特币区块的构造。
比特币区块主要由两部分组成:
区块头和区块体
。区块体用来装载该区块打包的所有交易,一个装载满交易信息区块,其大小一般不超过1M。
▲区块结构简易示意图
区块头里包含的信息有 版本、父区块头哈希值 (也就是前一个区块) 、该区块中默克尔树根的哈希值、时间戳、难度目标、随机数 ( Nonce ) 6个字段。 区块头的大小是固定的,只有80字节 ,12500个区块头容量大小也只有1M。
请注意:读到这里,如果发现这些名词看不懂,没关系,忽视它们,把它们当成是一颗颗”龙珠“,不会影响到你对挖矿的理解。
▲区块头结构简易示意图
我们先来了解一下比特币挖矿的6颗“龙珠”分别是什么,容不容易得到?
6个字段中,除了随机数需要不断试错寻找,其他的5个字段都是很容易获得的。
1、版本字段:是用来跟踪软件升级的版本号,可自动从软件信息得到;也就是说,区块头中,6颗“龙珠”中的5颗是很容易获得的,并且是相对确定的。只有第6颗“龙珠”—— 随机数(Nonce),是个不确定的、需要矿工不断试错寻找的变量。2、父区块头的哈希值:父区块被挖出后,其区块头哈希值就确定了,也很容易得到;
3、该区块中默克尔树根的哈希值:当一个区块打包的交易确定了,这个字段也就确定,So Easy;
4、时间戳,是指该区块产生的近似时间,也是确定;
5、难度目标:该区块工作量证明算法的难度目标,系统给出的,同样是确定的;
只有找到了合适的Nonce,才能召唤出“神龙”——挖出新的区块,得到比特币奖励。
什么是合适的随机数呢? 对区块头里的6颗“龙珠”取哈希值,如果这个值小于或等于系统给定的难度目标值,那么就算是找到了合适随机数, 就能成功“召唤神龙”——挖出新区块,得到比特币奖励。这就是比特币挖矿的过程。
03
小结
我们来总结一下: 比特币挖矿和《七龙珠》里召集神龙类似,集齐6颗“龙珠”就有机会“召唤神龙”。
6颗“龙珠”中,其中5颗很容易得到,只有第6颗——随机数,需要矿工不断试错寻找。直到找出合适的随机数,也就是对区块头里的6颗“龙珠”整体进行哈希运算,得到的值小于等于难度目标值,才算挖出新的区块,得到相应的比特币奖励。相比于集齐7颗龙珠能召唤神龙,集齐6颗“龙珠”能召唤比特币,你觉得哪个更难呢? 快来留言区写下你的思考吧,精彩留言有机会中奖哦。
来源:白话区块链
作者:晏文春
Ai sẽ là người được lợi trong đợt Bull Run của Bitcoin?
Theo báo cáo của sàn giao dịch OKEx trong thời kỳ Bull Run hiện tại của Bitcoin, những ch...
MCDEX khởi chạy trên mạng thử nghiệm Arbitrum Rollup L2
MCDEX vui mừng thông báo về việc ra mắt testnet của mình trên Arbitrum Rollup, một giải pháp khả năn...
[Tổng kết AMA] Cùng BigcoinVietnam tìm hiểu về Lien.Finance
Vào 11:00 AM - 12:00 PM, thứ tư, ngày 02/12/2020 Lien.Finance và BigcoinVietnam đã tổ chức một ...