比特币的 Coinbase 成熟度规则意味着,在区块高度 N 由 coinbase 交易创建的输出,最早只能在区块 N+100 中被花费。矿池可以在此之前就将收益计入矿工账户,因为内部记账并不涉及对该 coinbase 输出的花费。如果矿池在该输出可被花费之前就进行链上打款,就必须使用其他可支配资金。
这是两个相互独立的流程:比特币共识机制决定某个特定 coinbase 输出何时可以被花费,而矿池的支付方式与提现规则则决定账户入账与打款的时机。二者的时间线并不需要一致。
什么是 coinbase 交易
每个比特币区块都恰好包含一笔 coinbase 交易,并且它始终是区块中列出的第一笔交易。与普通交易不同,coinbase 交易的输入并没有真实的前序输出;它是新比特币被创造出来的机制,也是产出该区块的矿工或矿池借以领取该区块区块奖励的方式。
coinbase 交易所领取的奖励由两部分组成。第一部分是区块补贴(block subsidy),这是由比特币发行计划设定的固定数额,大约每四年减半一次。在 2024 年 4 月、区块高度 840,000 处发生第四次减半之后,每个区块的补贴为 3.125 BTC。第二部分是该区块中包含的所有其他交易所支付的交易手续费总和。这两部分的合计通常被称为区块奖励(block reward),但补贴与手续费总额是由不同的逻辑所决定的,不应被视为一个单一的固定数字——手续费收入会因网络拥堵程度不同而逐区块变化。
补贴代表新发行的 BTC;交易手续费则来自已有的 BTC。两者都通过 coinbase 输出领取,并且这些输出都受到比特币共识规则下相同的成熟度限制约束。该限制并不仅适用于补贴部分(Bitcoin Developer Guide)。
成熟度与确认数
如果某笔花费 coinbase 输出的交易所在区块的高度,相较于该 coinbase 被创建时的区块高度,差距不足 100 个区块,比特币节点将拒绝该交易。换句话说,在区块 N 中创建的输出,最早只能被包含在区块 N+100 中的交易所花费。这并不意味着必须等到区块 N+100 已经被挖出之后,花费交易才能被打包进某个区块(Bitcoin Core consensus validation,maturity constant)。
之所以存在这一规则,是因为一个刚刚挖出的区块原则上有可能被链重组(chain reorganization)所取代——即一条积累了更多工作量证明的竞争链,将原区块及其 coinbase 交易从主链中移除。要求在 coinbase 输出可被花费之前存在这样一个间隔,可以降低后续交易依赖于一笔可能在重组中消失的奖励的风险。
需要特别注意,不要将这一成熟度要求与接收方服务自身的确认数政策混为一谈。对于已被纳入主链的交易而言,其确认数等于当前链尖高度减去该交易所在区块高度,再加一。当链尖高度为 N+99 时,区块 N 中的 coinbase 交易已有 100 个确认,而花费该输出的交易最早可以被包含进下一个区块,即 N+100。
一笔普通的比特币交易通常在达到接收方或服务方所设定的若干确认数之后,才被视为已结算——常见的是六个确认,不过合适的确认数取决于交易金额以及接收方自身的风险承受能力。相比之下,coinbase 成熟度是协议强制规定的、对花费 coinbase 输出的固定限制,而不是一项可自行配置的验收策略。
矿池记账与链上奖励的区别
在本文讨论的托管型矿池支付模式下,coinbase 交易会将补贴和手续费支付给由矿池控制的输出,而矿工则获得单独的打款。从这一刻起,coinbase 输出与矿池的记账分别受到不同规则的约束。
在协议层面,无论矿池规模或基础设施如何,它都无法在被允许的区块高度之前花费其新获得的 coinbase 输出。
在矿池记账层面,矿池会运用其支付方式来确定每位参与矿工应得的收益。根据 ViaBTC 公布的规则,具体计算方式会因支付方式而异。在 PPS+ 模式下,来自补贴部分的收益按小时结算,采用基于已提交份额(share)和当前网络难度的 PPS 逻辑进行计算。这类入账无需矿池先找到对应的区块。而交易手续费部分则采用 PPLNS 逻辑:在找到的区块完成六个确认后进行一次性计算,依据每位矿工在此前五个难度轮次(difficulty round)中所贡献算力的占比来分配。在 PPLNS 模式下,这一计算方式则同时适用于补贴和交易手续费(ViaBTC Help Center)。
六个确认这一条件,决定的是相关矿池收益何时被计算出来,而并不会使该 coinbase 输出因此变得可被花费。将收益计入账户余额属于一项记账行为,并不等同于花费该输出。等待确认数通常有助于降低遭遇短时链重组的风险,但这与比特币强制性的成熟度规则是两件不同的事情。
当矿池随后通过一笔单独的普通比特币交易将 BTC 发送到矿工的外部钱包时,矿工收到的是一个普通的交易输出,不受 coinbase 成熟度限制。如果该笔支付发生在某个特定 coinbase 输出尚不可花费之前,该笔支付就必须使用其他可花费资金——例如此前已成熟的挖矿收益。这是依据比特币的支出规则得出的结论;并非对 ViaBTC 具体资金管理做法的断言,也不意味着每一笔账户入账与每一个被发现的区块之间存在一一对应关系。
为何时间点会有所不同
有三组各自独立的条件分别决定着区块奖励的成熟、账户入账以及外部支付。它们并不构成一个通用的先后顺序——并非矿池必须先找到区块,矿工才能获得账户入账。
- Coinbase 成熟度: 比特币共识机制决定了某个特定 coinbase 输出最早可在哪个区块被花费。矿池无法缩短这一要求。
- 矿池结算: 支付方式决定了收益如何计算与入账。ViaBTC 的 PPS 部分按小时结算,并不要求有对应的已发现区块;其 PPLNS 计算则依赖于实际区块以及文档中所述的确认条件。
- 提现处理: 所选的支付模式、适用的最低支付额以及处理时间表,共同决定符合条件的金额何时被发出。
例如,ViaBTC 文档规定的 BTC 自动提现至外部地址的最低额度为 0.001 BTC,但适用的门槛还取决于账户所设置的最低支付额。在账户余额模式下,余额必须满足适用的支付条件。ViaBTC 还提供按日收益模式,该模式将相应条件应用于前一天的收益。自动提现每天处理一次,时间为 10:00 至 18:00(GMT+8);仅仅达到 0.001 BTC 不应被视为即时支付的保证(自动提现规则、最低支付额设置)。以上产品规则的核实时间为 2026 年 10 月 14 日。
因此,账户余额入账并不能证明某个特定区块奖励已经成熟,提现门槛也并非成熟度要求。
期待获得支付前应思考的问题
Coinbase 成熟度会延迟我的矿池账户余额吗?
不一定。Coinbase 成熟度限制的是链上某个特定输出的花费。矿池可以在该输出可被花费之前,就记录一笔内部账户入账。在 PPS 模式下,收益的产生也不要求矿池先找到相应的区块。
如果我的余额更新很快,是否意味着矿池绕过了 100 个区块的规则?
不是。账户更新只是一笔记账条目。如果在某个特定 coinbase 输出仍未成熟时就进行了链上支付,该交易就必须使用其他可花费的资金。
为什么我的矿池在将已发现的区块计入账户之前要等待多次确认?
等待确认通常可以降低短暂链重组导致已发现区块在奖励分配前被移除的风险。ViaBTC 文档规定其 PPLNS 计算(包括 PPS+ 中的交易手续费部分)需满足六次确认的条件。该结算条件与 coinbase 成熟度是相互独立的。
提现最低额度是否等同于成熟度要求?
不是。提现最低额度是矿池支付的一项条件。对于 ViaBTC 面向外部地址的 BTC 自动提现,文档规定的最低额度为 0.001 BTC,而是否符合条件还取决于所设置的门槛以及所选的支付模式。这些设置都不会改变某个 coinbase 输出何时可被花费。
我该如何核实某个特定区块奖励最早何时可被花费?
在区块浏览器中查找该 coinbase 交易所在的区块高度 N,并确认该区块仍处于主链之中。能够包含花费该输出之交易的最早区块是 N+100。如果当前链尖高度为 N+99,则该 coinbase 已获得 100 次确认,其输出可在下一个区块中被花费。这一方法只能核实成熟度要求;该输出还必须保持未被花费,并满足其他支出条件。
参考资料
- Bitcoin Developer Guide,区块链(Block Chain)
- Bitcoin Core,交易输入验证(Transaction Input Validation)
- Bitcoin Core,共识常量(Consensus Constants)
- ViaBTC 帮助中心,收益如何计算?
- ViaBTC 帮助中心,如何设置自动提现
- ViaBTC 帮助中心,如何为自动提现设置最低支付额?


