比特币挖矿规则的核心,是用工作量证明(pow)竞争区块记账权:矿工需要不断计算区块头哈希,使结果低于网络给定的目标值,成功者才能广播新区块并获得区块补贴与交易手续费。这个过程并不是解一道固定答案的数学题,而是依靠asic矿机高速尝试随机数。区块头由版本号、前一区块哈希、默克尔根、时间戳、难度目标和nonce等字段组成,任何交易内容或字段发生变化,最终哈希都会随之改变。

矿工拿到的交易不能直接打包进区块,节点会检查签名、输入是否存在、资金是否重复花费,以及交易脚本是否符合共识规则。区块中的第一笔交易必须是Coinbase交易,用来记录矿工收款地址和区块奖励,但可领取金额不能超过基础区块补贴加本区块全部手续费。目前比特币主网基础补贴为3.125 BTC,第四次减半发生在2024年4月20日、区块高度840000;补贴每经过210000个区块减半一次。矿工即使挖到新区块,Coinbase产出的比特币也不能立刻使用,相关输出通常要等100个新区块后才成熟。
挖矿难度并非长期固定,而是自动调节。比特币将目标出块时间设为平均10分钟,每2016个区块,也就是大约两周,根据上一周期实际用时重新计算难度。出块速度过快,目标值会收紧,矿机需要投入更多哈希计算;速度过慢,目标值则会适度放宽。10分钟只是长期平均值,现实中可能连续几分钟没有新区块,也可能短时间内接连出现多个区块。难度调整让算力增长、矿机升级或部分矿工离场,都不会轻易改变发行节奏。

区块容量同样受到限制。现行规则下,区块最大重量为4000000个Weight Unit,同时还存在签名操作数量上限,防止恶意构造超重区块拖慢全网验证。矿工通常会从内存池挑选手续费率较高、依赖关系合理的交易,但优先打包高费交易属于矿工策略,不等于共识硬规则;只要交易和区块满足协议要求,矿工也可以选择其他交易。见证数据引入后,区块重量不再简单等同于传统字节数,交易结构和手续费计算也更多使用虚拟字节作为市场报价单位。

当不同矿工几乎同时挖出新区块,网络可能短暂出现分叉。节点不会单纯按照谁先收到来永久决定,而是继续跟随累计工作量最大的有效链;另一条分支若没有继续增长,通常会成为孤块,其中交易可能重新回到内存池。矿工需要把新区块的前一区块哈希填入区块头,想修改历史交易,就必须重做该区块及后续区块的工作量,并追赶主链算力。比特币挖矿规则并不只是算哈希拿奖励,而是把交易验证、发行节奏、区块容量、难度调整和链上竞争整合在同一套经济与技术约束中。