MSTR Cat

区块链/等级 II · 运作机制/2.3 区块与链/课程 6

区块补贴与减半机制

决定货币供应量的位移运算,以及新币的100个区块锁定期

材料一份Bitcoin Core源代码,尤其是包含`GetBlockSubsidy`的`validation.cpp`或`main.cpp`区块浏览器界面(例如 mempool.space 或 blockchain.com)能够进行二进制运算的计算器

好奇

  1. 为什么C++中的右移运算符能强制实现一个硬性的货币上限?
  2. 如果矿工申请的补贴金额低于最高允许额度,那差额会如何处理?
  3. 新铸造的币需要经过多少个区块才能被转移?

探索

  1. 新的比特币只能通过每个区块的coinbase交易进入流通。这并不是一条单独的账本记录,而是每个有效区块中第一笔交易里的一个特定输出,矿工借此声明对新增价值的所有权。其数额由Bitcoin Core验证逻辑中的`GetBlockSubsidy`决定,它根据当前区块高度而非日历时间来计算奖励。
  2. 初始补贴被硬编码为50 BTC,相当于50亿聪。为了每210,000个区块将这一数值减半,代码用区块高度整除210,000,以确定已经发生了多少次减半。然后,每完成一个周期,就对初始的50亿聪数值执行一次二进制右移运算。
  3. 这种位移机制具有确定性,而且高效。由于它对整数进行运算,除法产生的任何不足一聪的小数部分都会被向下截断。经过33次这样的位移后,数值归零。这种数学上的收敛确保了无论外部经济状况或挖矿算力如何波动,比特币的总量都不会超过约2100万枚。
  4. 第一次减半发生在2012年11月28日的第210,000个区块,此时奖励降至25 BTC。后续的减半分别发生在第420,000个区块(2016年7月9日)、第630,000个区块(2020年5月11日),最近一次则是在2024年4月20日的第840,000个区块,奖励进一步降至3.125 BTC。下一次减半预计将在第1,050,000个区块发生。
  5. 矿工的总收入由这笔补贴以及相关交易产生的所有手续费构成。不过,矿工可以选择领取低于最高限额的金额。未被领取的聪将永远不会被创建出来,也无法在日后再被领取。由于补贴不断减半,维护网络安全的成本就必须更多地依靠手续费来承担,这一直是关于比特币未来安全预算的长期争论话题。
  6. coinbase输出受一条共识规则锁定:在获得100次确认之前不能被花费。coinbase输出只存在于包含其区块的分支上,因此如果该区块在重组中被替换,这些新币就会消失。这一延迟可以防止这类币流入其他交易,否则那些交易也将随之失效。

关键事实

  • 区块补贴从50 BTC开始,每210,000个区块减少一半。
  • Bitcoin Core根据区块高度,对50亿聪进行右移运算来计算补贴。
  • 最近一次减半发生在2024年4月的第840,000个区块,此时补贴金额定为3.125 BTC。
  • 矿工领取的补贴可能少于全额;未领取的部分不会被创建。
  • coinbase输出需要经过100次确认才能被花费。
  • 这种不断减半的几何级数最终会收敛于约2100万BTC的最大供应量。

练习 九、六、三、一

9收集列出9个补贴时代:2009年的起点以及此后的八次减半,注明每个时代的补贴额以及是否已经发生。
6归类根据每个时代发行量占比特币总量的比例,将这9个时代分为6组:二分之一、四分之一、八分之一、十六分之一、三十二分之一,以及其余部分。
3提炼将这6组归纳为补贴缩减对矿工和手续费造成的3种后果。
1凝结用一句话解释补贴计算中的整数截断如何确保供应量的绝对上限。

事实核查

日期、数字及数据均依据下方列出的已发表资料进行核实。

在互动学院中打开 →

EN PT ES JA KO RU DE FR MS