比特币挖矿并不是挖掘实物矿产,本质是矿工依靠算力完成交易验证、打包区块、执行工作量证明竞赛,争夺记账权并获取区块奖励与交易手续费的完整网络运行流程,整个过程由P2P网络、密码学哈希算法和网络共识规则共同驱动,也是比特币新币唯一的发行渠道。

当用户发起比特币转账之后,交易信息会扩散到点对点网络,各个全节点校验签名、余额以及是否存在双花问题,合法的交易存入内存池等待处理。矿工节点持续监听内存池,会优先挑选手续费费率更高的交易进行收集,单个区块最多可以容纳两千至三千笔交易。在正式打包时,矿工需要构造一笔特殊的Coinbase交易放在区块首位,这笔交易没有输入,专门用来向矿工地址发放区块补贴和区块内全部交易的手续费。完成交易集合整理后,系统会生成默克尔树,把所有交易的哈希逐层运算压缩为默克尔根,只用这一串摘要就可以代表区块内全部交易数据,大幅压缩区块头存储空间。随后矿工组装80字节大小的区块头,内容包含上一个区块哈希值、默克尔根、时间戳、网络难度目标以及可变随机数Nonce,这就是参与算力竞赛的核心计算输入。

组装好候选区块之后,挖矿正式进入工作量证明解题环节,这也是整个挖矿最消耗算力的阶段。矿工需要反复修改区块头内部的Nonce随机数字,对区块头执行双重SHA‑256哈希运算,不断生成全新哈希结果。这套计算不存在捷径算法,只能依靠设备暴力穷举试错,只有运算输出的哈希数值小于网络规定的难度目标,才算完成解题拿到记账权。全网所有矿工同步开展这场哈希竞赛,算力越高的矿工,率先找到合格随机数的概率就越大。比特币网络会每产出2016个区块,大约两周时间自动调整一次难度目标,当全网算力上涨就抬高难度,算力下降则降低难度,以此保证长期平均每十分钟产出一个新区块,避免出块速度失控。

一旦某个矿工率先找到满足条件的Nonce数值,会立刻把完整新区块向全网广播。网络上其余节点收到区块后会开展多重独立校验,核对区块哈希是否符合难度规则、区块内每一笔交易签名是否真实有效、不存在重复花费。全部校验通过之后,各个节点就会把这个区块追加到本地区块链的末端,同步更新账本。如果校验发现数据造假或者规则不匹配,区块会直接被网络拒绝,矿工也拿不到任何奖励。现实中个体矿机算力很难独立挖出区块,绝大多数普通矿工选择加入矿池,将算力集合在一起共同参与竞赛,挖出区块之后按照各自贡献算力占比分摊收益。
完成一轮挖矿之后,获胜矿工的Coinbase交易生效,对应的比特币奖励正式生成进入流通。区块补贴会按照既定规则每21万个区块进行减半,不断压缩新币发行规模,最终实现比特币2100万枚的总量上限。等到区块补贴逐步趋近于零,矿工的主要收入来源就会完全转变为用户转账缴纳的交易手续费。整个挖矿循环不会停止,网络会继续接收新交易,矿工基于刚刚确认完成的新区块,开始构造下一个候选区块,持续往复维护比特币分布式账本的更新与安全。
