这是白话区块链的第1245期原创 作者 | 三黎出品|白话区块链(ID:hellobtc)

关于比特币有句传言:一币一别墅。尽管现在的价格还没有那么夸张,但目前一个比特币 22 万人民币左右的价格也是令人心动不已。

那么除了拿钱去买可以获得比特币之外,还有什么办法可以得到它呢。这就是我们今天要讲的话题:通过挖矿来获得,那么挖矿是什么?

 01 一场全球性的知识竞赛?

比特币挖矿跟山西挖矿不一样,不用扛着工具去外面,在家里使用电脑或挖矿设备就可以开工了。

对于比特币挖矿的理解,我们可以将其比喻成一场全球性的知识竞赛,老师出题,同学们答题,最快且正确答对题目的同学就会得到一些奖励。

比特币挖矿机制下,矿机相当于大脑,而挖矿的快慢则却决于大脑计算过程的快慢,即矿机自身的算力。

计算正确答案最快的矿工即可获得出块奖励,也就是最快答对题的奖励。另外还可以获得交易手续费,即一些成本费,比如纸和笔的费用等。

不过没有人规定矿工费是多少,具体多少是由市场和交易占用字节数来计算的,矿工费出价越高,交易就会被越快处理。

 02 比特币挖矿是如何运作的?

那么,在这场知识竞赛中,具体需要做什么题呢?这就得先介绍一下比特币区块的组成部分。

比特币区块主要由两部分组成:区块头和区块体。

区块头里包含的信息有:版本信息、父区块头哈希值、该区块中默克尔树根的哈希值、时间戳、难度目标、随机数6个字段;区块体用来装载该区块打包的所有交易。

对于挖矿而言,收集到区块头里的6个字段,就可以获得比特币奖励,包括创建新区块的奖励及该区块中所含交易的交易费。

而区块头里的 6 个字段中,除了随机数需要不断试错寻找,其他 5 个字段都是很容易获得的。比如:

版本信息是用来跟踪软件升级的版本号,可自动从软件信息得到。父区块头的哈希值,也就是前一个区块的哈希值,在父区块被挖出后就确定了。你可以把哈希值简单地理解成是一段数据或文件的DNA,只要大数据发生了变化,哪怕是一个微小的变化,其哈希值也会发生变化,用来判断两个文件是否相同。当一个区块打包的交易确定了,该区块中默克尔树根的哈希值,即用来确保从其他节点接受的,数据块没有损坏且没有被替换,甚至检查其他节点不会欺骗或者发布虚假的块,就确定了。时间戳指该区块产生的近似时间,可以自动记录。该区块工作量证明算法的难度目标,同样是系统给出的。

那么,什么是合适的随机数呢?对区块头里的 6 个字段取哈希值,如果这个值小于或等于系统给定的难度目标值,那么就算是找到了合适随机数。

矿工通过不断试错,直到找到合适的随机数,新的区块被挖出,就可以得到对应的区块奖励和交易手续费奖励。

这就是比特币挖矿的过程。

 03 小结

比特币矿工挖到比特币的概率,取决于他拥有的算力占全网算力的比值,并非是一门稳赚不赔的生意。

能否赚钱,不仅要看挖矿的收益,包括挖到比特币的数量和比特币的价格;还要看挖矿的成本,包括矿机成本、矿机的算力、功耗、电费以及其他营运成本等。

关于比特币挖矿,你还想知道什么?欢迎在留言区分享你的观点。