比特币挖矿本质是矿工通过专用硬件完成交易校验、区块打包与密码学算力竞赛,争夺新区块记账权,在维护网络安全的同时获取区块奖励的完整流程,整个流程会循环往复,支撑比特币整条区块链持续向后延伸。当用户发起比特币转账之后,交易信息会通过P2P网络扩散到全网各个节点,矿工节点收到这笔交易并不会直接写入区块,而是先完成基础校验,核对交易签名、余额状态,过滤掉双重支付和格式异常的无效交易,把合规的交易存入内存交易池等待处理,交易池会同时堆积网络中大量待确认的转账请求,成为矿工打包区块的素材来源。

矿工开始构建候选区块时,会优先挑选手续费更高的交易填充区块,受区块体积上限约束,无法把交易池内全部交易一次性收纳,同时会在区块最开头写入一笔特殊的coinbase交易,这笔交易用来存放挖矿产出的奖励,填写矿工自身的收款地址。完成交易整理之后,矿工生成默克尔根汇总区块内全部交易数据,再拼接上父区块哈希、时间戳、网络难度目标值,共同组成仅80字节的区块头,真正参与哈希运算的只有区块头,区块体的交易内容不会重复参与算力计算,这也是挖矿硬件只需要反复迭代区块头参数的核心原因。

算力竞赛阶段是挖矿最消耗资源的环节,矿工不断修改nonce随机数,对区块头执行双重SHA‑256哈希运算,反复生成全新哈希结果,寻找数值小于网络目标阈值的输出。哈希算法具备单向不可逆特性,没有捷径可以直接算出答案,只能依靠设备每秒亿万次的试错来碰概率,单机独立挖矿中奖概率极低,绝大多数从业者会选择加入矿池,把分散算力聚合在一起,按照算力贡献分摊最终收益。当nonce全部遍历完毕依旧没有找到有效结果,矿工还会微调coinbase额外随机数、区块时间戳来改变输入,继续开展计算,直到找到符合条件的哈希值。

一旦矿工算出合法哈希,立刻把完整新区块向全网广播,网络中其余全节点会快速校验区块的各项规则,验证工作量证明、交易合法性,确认无误之后就将该区块挂载到现有区块链的末端。比特币内置难度调节机制,每产出2016个区块就自动重新校准难度,不管全网算力暴涨还是回落,把平均出块速度稳定维持在十分钟左右,避免出块节奏失控。成功挖出区块的矿工拿到两部分收益,分别是系统增发的区块补贴,还有区块内所有用户支付的交易手续费,补贴会按照固定周期不断减半,未来手续费会成为矿工主要收入来源。