作者:Kalle Rosenbaum & Linnéa Rosenbaum

本章探究了比特币的供给量限制(2100 万 BTC)—— 或者说,它的实际供给量到底是多少?我们介绍了这一限制的强制执行方式,以及,你可以怎样验证现状并没有违反这条规则。此外,我们还抚摸了一下水晶球,看了看当区块奖励从增发货币补贴主导转变为手续费主导时,会有哪些因素显现出来。
众所周知的 2100 万 BTC 的有限供给量,被认为是比特币的基本属性。但这个限制真是不可动摇的吗?
我们先来看看当前的共识规则,关于比特币的供给量是怎么规定的,以及其中到底有多少是真正可以使用的。Pieter Wuille 曾在 Stack Exchange 上撰写了一篇短文,计算了在所有比特币都被挖出之后,总共会有多少数量:
如果你把所有数字都加起来,你会得到 20999999.9769 BTC 。
—— Pieter Wuille,Stack Exchange(2015)
但是,因为许许多多的原因 —— 比如早期跟 coinbase 交易有关的问题,导致矿工会无意识领取少于可领取的数值;还比如,有人会弄丢了私钥 —— 这个供给量上限实际上是永远不会达到的。Wuille 的结论是:
这留给了我们 20999817.31308491 BTC (将区块 528333 及以前的所有事情都考虑进去)。
…… 然而,许多钱包都丢失了,或者被盗了,有些交易被发到了错误的地址上,有人会忘记自己有过比特币。这些数字,加起来可能高达几百万。人们尝试在这里统计所有已知的丢失数量。
所以,最终我们有:**???** BTC 。
—— Pieter Wuille,Stack Exchange (2015)
所以,我们可以肯定,比特币的供给量最多只有 20999817.31308491 BTC 。任何丢失,或者说无法验证地销毁了的钱币,都会让这个数字下降,只是我们不知道会下降多少。有趣的事情是,这其实并不重要,或者说,它对比特币的持有者来说是好事,正如中本聪所说的:
丢失的钱币只是让其他所有人的钱币都稍微更有价值一些。你可以认为,它是给所有人的赠与。
—— 中本聪论丢失的比特币,Bitcointalk forum (2010)
有限的供给量会收缩,而且这应该(至少在理论上)会导致价格通缩。
比流通中的确切数量更重要的是,这个供给量限制,是在没有任何中心权威的前提下实施的。昵称为 “chytrik” 的人在 Stack Exchange 网站上这么解释:
所以,答案是,你不需要信任别人不会增加供给量。你只需要运行一些代码,就能自己验证没人突破了供给量。
—— chytrik,Stack Exchange (2021)
即使一部分全节点变节了、决定接受带有更高价值的 coinbase 交易的区块,所有剩余的全节点都会直接忽略这些区块,继续原来的道路。一些全节点可能会(有意或无意地)运行恶意软件(详见章节 9.2.2 ),然而,整个集体会有力地保护区块链。结论是,你可以选择信任这个系统,而无需信任任何一个人。
4.1 区块补贴和交易手续费
一个区块(给挖出它的矿工)带来的奖励由 “区块补贴” 和 “交易手续费” 两部分组成。这些区块奖励需要覆盖比特币的安全成本(security cost)。我们可以肯定地说,在当前的条件下,考虑到区块补贴、交易手续费、比特币汇率、交易池规模、哈希算力以及去中心化程度等等,让每一个玩家都遵守规则的激励是足够的,足以保护一个货币系统。
但是,当区块补贴趋近于 0 的时候,也就是比特币不再增发的时候,会发生什么事?为简单期间,我们假设它就是 0 。这时候,整个系统的安全成本就要仅仅由交易手续费来支付了。当这一切发生的时候,会是什么样,我们无从知晓。不确定的因素是数都数不清的,我们只能猜测。比如说,Paul Sztorc 在他的博客 “Truthcoin” 中对这个话题的讨论,绝大部分都是猜测,但至少有一点,是可靠的(先提醒一句,Sztorc 所说的 “M2”,是法定货币供给量的一种度量指标):
虽然两种奖励合并成了一项 “安全预算”,但区块补贴和交易手续费是完全不一样的。它们的差异,就像 “VISA 在 2017 年的总利润” 与 “2017 年的 M2 总增量” 的差异一样。
—— Paul Sztorc,《长期安全预算》(2019)
当前,是比特币的持有者(通过货币增发的形式)在给安全性付费。以后,将轮到花费者逐渐担负起这种责任,如下图所示:

- 图 5. 随着时间推移,安全成本的负担将逐渐从持有者转移到花费者 -
当交易手续费成为挖矿的主要动力时,激励机制整个就转变了。最重要的是,如果矿工无法从交易池中收集到足够多的交易手续费,重写比特币的历史可能就比延伸历史更加吸引人。Bitcoin Optech 曾有专门的一个章节讨论这种叫做 “ 手续费狙击 ” 的行为,由 David Harding 撰写:
“手续费狙击” 是一种可能随着比特币的区块补贴逐渐消失、交易手续费成为区块奖励的主要部分而发生的问题。如果交易手续费就是区块奖励的全部,那么,一个占有全网
x% 哈希率的矿工,就有x% 的概率挖出下一个区块,所以诚实挖矿的预期收益就是他们交易池中手续费率最高的交易集合的(交易费的)x%。然而,矿工可以不诚实地尝试重新在以往的区块链位置上挖矿,并挖出新的区块来延伸它(即挖出另一条链)。这种行为被称为 “手续费狙击”,如果其他所有矿工都是诚实的,那么这个不诚实矿工的成功概率是
(x/(1-x))^2。虽然手续费狙击的成功概率比诚实挖矿低得多,但如果以往的区块支付了高得多的手续费率(相比现在交易池中的交易),那么尝试不诚实挖矿就有可能更加吸引人 —— 一个小概率乘以一个大数字,可能比一个大概率乘以一个小数字更大。—— David Hard,《手续费狙击》,Bitcoin Optech 网站
令人沮丧的是,如果有矿工开始了手续费狙击,这会激励其他矿工也做同样的事,从而让诚实矿工的数量变少。这可能会严重影响比特币的整体安全性。Harding 接着列举了一些可以采取的对抗措施,例如,依赖于交易的时间锁来限制交易可以出现在区块链上的起点位置。
所以,因为对有限供给量的共识不变,而且 BIP42 修复了一个长期的通胀漏洞,区块补贴将在大约 2140 年降低到 0 。那时候交易手续费足以保护整个网络吗?这是无法确定的事,但我们至少知道几件事:
- 一个世纪,从比特币的视角来看是 很长 的时间。如果比特币历经了这么长时间而依然能存活,那它大概率已经发生了很大的变化。
- 如果压倒性数量的经济主体认为必须变更规则,比如引入永续的年化 0.1% 或者 1% 的通货膨胀,那么比特币的供给量就不再是有限的了。
- 如果区块补贴没有了,交易池又几乎是空的,那么系统就会因为手续费狙击而变得不稳定。
因为迁移为仅有交易手续费作为区块奖励的时刻太遥远了,明智的做法也许是不要太早下结论,趁现在尽可能修复潜在的问题。比如说,Peter Todd 就认为,比特币在未来的安全预算不足,是一种真实的风险,并且主张要有一项小额的永续通货膨胀。但是,他也认为,现在可能不是讨论这个问题的好时机,如他在 “What Bitcoin Did” 播客中所说:
但是,这是 10 年、20 年以后的风险。这是很长的一段时间。而且,谁知道那时候的真实风险会是什么呢?
—— Peter Todd 论安全预算,What Bitcoin Did podcast (2019)
也许,我们可以认为比特币是一种有机物。想象有一棵小的、生长得很缓慢得小橡树。可是,你从来每见过一棵完全长成的大树。那么,克制自己的控制欲,而不是提前设定这棵树可以怎么长的所有规则,岂不是更加明智?
4.2 结论
比特币的供给量是否会超过 2100 万 BTC,这我们今天无法下定论,而这(我们无法下定论这件事)可能并不是什么坏事。确保安全预算足够高,是极为重要的事,但不紧急。我们可以继续讨论 10 到 50 年时间,直到我们了解更多 —— 如果那时候这还算个事的话。