深入理解比特币系列(8):挖矿

在进一步学习比特币特性之前,应部分朋友要求,穿插整理一下挖矿的知识。

8月1日比特币分叉之后,价格一路走高,曾一度暴涨至接近4500美元,现虽稍有回落依然在4000美元上下。这不禁又让人产生了能否通过挖矿在比特币上赚钱的想法。那么挖矿是什么?具体是怎么操作的?现在个人投资者还能参与吗?我将分两篇文章来回答这些,本篇先回答前两个问题。

什么是挖矿?

在比特币白皮书中提到了一种类似挖掘金矿的激励机制,简称挖矿(Mining)。让我们来看看Bitcoin.org上的定义:

Bitcoin mining is the process of making computer hardware do mathematical calculations for the Bitcoin network to confirm transactions and increase security.

比特币挖矿是利用计算机硬件对比特币网络进行数学计算以确认交易并增加安全性的过程。

挖矿的具体过程是怎样的?

还记得比特币白皮书中提到的工作量证明(PoW)吗?挖矿的核心是围绕着PoW的,具体的挖矿过程是这样的:

1. 新的交易不断的广播到网络中
2. 比特币网络中的矿工节点尝试将收集到的新交易打包成一个区块,每个区块包含一个时间戳、一个随机数nonce、一个对上一个区块的引用哈希和上一区块生成起来所发生的交易列表
3. 矿工节点努力找到工作量证明的随机数nonce,使得其打包的区块内容与随机数nonce一起作哈希运算时,其结果小于网络设定的难度目标
4. 当某一矿工节点成功找到了nonce时,该节点即向全网络广播该区块
5. 其他节点接收到该区块后会依次验证区块引用哈希的有效性、时间戳的有效性、交易信息的有效性、PoW的有效性(非常容易验证,只需使用挖矿者找到的nonce及区块内容做哈希运算来验证结果是否小于网络难度目标),如没问题,即可确认交易
6. 接受确认该区块的节点在该区块后继续步骤2的工作(将该区块哈希作为其新区块的上一区块引用哈希)

难度目标定期调整

比特币挖矿的设备一直在升级,已由最开始的CPU、GPU、FPGA进化到如今的ASIC,这就意味着全网络算力在不断提升。为了保持生成新区块的平均时间在10分钟,系统会依据网络算力在每生成2016个区块(约14天)时自动调整难度目标。

原创文章,版权所有,转载请注明出处。