Block Subsidy 规定一个区块最多可以生成多少新的比特币。它是矿工找到有效、且被网络接受的区块后获得的奖励的一部分。矿工还可以收取该区块中交易的手续费。不过,手续费来自用户已有的比特币,本身不会增加供应量。把两者分开,就更容易理解新比特币从哪里来。
假设某个区块按规则最多可以生成 3.125 BTC,其中的交易另外带来 0.075 BTC 手续费,作为示例。矿工最多可给自己分配 3.2 BTC,但新生成的只有 3.125 BTC。这个分配记录在区块的第一笔交易中,称为 Coinbase Transaction;这里的名称指一种比特币交易,而不是 Coinbase 交易所。每个进行完整验证的节点都会检查总额。矿工领取过多,节点就会拒绝该区块,即使它有有效的 Proof of Work。少领取是允许的,但未用掉的新币发行额度不能留到下一个区块。 [1]
比特币最初的上限是每个区块 50 BTC。在主网上,每过 210 000 个区块,上限就减半,这就是 Halving。因此,之后依次是 25、12.5 和 6.25 BTC。从高度 840 000 到 1 049 999,上限为 3.125 BTC。高度指区块在链中的位置,不是价格或日期。大约四年的间隔来自平均十分钟一个区块的目标,并没有预先固定哪一天发生。币价上涨或电价变贵,都不能让矿工多发行比特币。 [1] [2]
Coinbase Transaction 的输出必须先成熟。高度 H 产生的奖励,最早可在高度 H+100 的区块中花费。例如,高度 900 000 的奖励,在满足其他条件时,可以在区块 900 100 中花费。这个等待期给短暂竞争的链分支留出解决分歧的时间。如果某个区块最终不在有效的活动链历史中,它的奖励在该历史中也不可用。最初的 Genesis Block 有一个特殊的、无法花费的输出;它的情况不能用普通的成熟等待来解释。 [1] [3] [4]
每次减半都按整数 satoshi 计算,satoshi 是比特币的最小单位,不会生成不足一个 satoshi 的部分。因此,从高度 6 930 000 起,补贴变为零。按预期出块速度估算,这大约在 2140 年,而不是程序里写死的日历日期。支付、区块以及用户支付的手续费仍可继续存在。不过,协议不保证这些手续费能带来多少收入,也不保证将有多少算力保护网络。深入核查时,要区分按高度计算的上限、实际领取金额和手续费;Bitcoin Core 在 GetBlockSubsidy 函数中计算这个上限。 [1] [2]
要获得更完整的理解,请将本词条与以下词条结合阅读: Halving, 21 Million, 挖矿, Transaction Fees, Genesis Block, Coinbase交易. 反向关联还来自: Genesis Block, Proof of Work, 挖矿, Difficulty Adjustment.