刚挖出的比特币为什么不能马上花?

 / 
4

刚挖出的比特币不能马上花,是因为比特币协议里有一条硬性规则:区块奖励的输出必须经过 100 个区块的"成熟期"后,才能被花费。这不是矿池或钱包的限制,而是所有比特币节点共同执行的共识规则。你看到的"余额"可能已经在矿池账户里显示了,但那只是矿池的内部记账,不等于链上那笔新币已经可以动用。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

问题出在"新币可能消失"

比特币的区块链偶尔会发生链重组(chain reorganization)。一个刚被挖出的区块,在极短时间内有可能被另一条积累了更多工作量证明的链取代,从而从主链上被"踢出去"。如果矿工在区块刚出时就立刻把奖励花掉,而那个区块随后被重组淘汰,这笔花费就会变成无效交易,依赖它的后续交易也会一并失效。

100 个区块的等待期,就是为了让一个区块被重组淘汰的可能性降到极低。等到某个区块后面已经堆了 99 个新区块,再想推翻它就需要付出极其庞大的算力成本,几乎不可能发生。协议用这段延迟换取了新币的"确定性"。

具体规则:N 号区块的币,要到 N+100 才能花

规则本身很直接:在区块高度 N 中产生的 coinbase 输出,最早只能被包含在区块高度 N+100 的交易中花费。比特币核心代码里把这个常量定义为 COINBASE_MATURITY = 100。

这里容易混淆的是"100 个确认"这个说法。当链尖到达 N+99 时,区块 N 里的 coinbase 交易确实已经有了 100 个确认,但花费它的交易最早仍然要等到下一个区块,也就是 N+100。所以"100 个确认"和"成熟可花"在时间点上差了一个区块,不能直接划等号。

别把矿池记账和链上成熟混为一谈

如果你是在矿池挖矿,可能会看到账户余额在区块刚出后不久就增加了。这并不矛盾。矿池的记账规则和比特币的成熟度规则是两套独立的东西。

矿池可以在 coinbase 输出尚未成熟时,就根据你的算力贡献在内部账本上给你记一笔收益。但如果矿池要在链上给你打款,它不能用那笔还没成熟的 coinbase,只能动用自己的其他可用资金。所以,矿池账户里显示的数字,不代表那笔特定的新币已经可以在链上流通了。你从矿池提现到外部钱包的时机,取决于矿池的支付政策,而不是 coinbase 成熟度本身。

一个可以自己核验的方法

如果你想知道某笔区块奖励是否已经成熟,可以在区块浏览器里找到那笔 coinbase 交易所在的区块高度 N,确认它仍在主链上。然后看当前链尖高度是否已经达到 N+99 或更高。如果达到了,花费该输出的交易最早可以在下一个区块(N+100)中被确认。不过这只解决"成熟"这一个条件,你还需要确认那笔输出没有被矿池或其他人花掉。

常见问题

100 个区块大概多久?
按比特币平均 10 分钟一个区块估算,100 个区块大约需要 16 小时 40 分钟。这是平均值,实际时间会因算力波动而变长或变短。

矿池显示已到账,我能立刻提到交易所卖吗?
能不能提,取决于矿池自己的提现规则和它手头有没有其他可用资金。矿池记给你的账,和链上那笔 coinbase 是否成熟,是两件事。小额提现可能很快处理,但不要因为矿池余额显示了数字,就假设那笔新挖出的币已经在协议层面可以流通。

所有比特币交易都要等 100 个确认吗?
不是。普通转账的确认等待是接收方自己设定的策略,常见的是 6 个确认,金额小的交易甚至 0 确认也可能被接受。100 个区块的成熟期是专门针对coinbase 交易(也就是区块奖励)的协议级限制,不适用于你从交易所提币或朋友转给你的普通比特币。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

参考资料

  1. ViaBTC·Coinbase成熟度与矿池结算的区别:为何比特币出块奖励不能立即支取,日期:2026-11-08
  2. Bitcoin Core·consensus.h 中 COINBASE_MATURITY 定义,日期:2026-11-08
  3. HashKey Exchange·Coinbase 交易术语解释,日期:2026-11-08