许多人只是听说比特币的总数为2100万个,但不知道这个数字的准确来源。实际上,2100万个只是一个近似数,精确的数值为 20999999.9769 ,比2100万个少了一点点。
这个20999999.9769数值可以根据初始发行量和增发的规则推算出来: 1)最早的区块奖励数为 50 BTC
2)每产生210000 个区块后,新币奖励数减半
3)当新币奖励数少于 1 聪时,所有BTC发行完毕
比特币平均10分钟挖矿产生一个新区块,210,000个区块需要2,100,000分钟,换算成年则为 2100000 / 60 / 24 / 365 = 3.995,约等于4年,大家常说的4年新币减半就是这样推算出来的。
2009年1月3日,创世区块的奖励为50BTC;
2012年11月28日,第一次减半,为25 BTC;
2016年7月9日,第二次减半,为12.5 BTC;
第三次减半预计在2020年5月发生,此时只奖励6.25 BTC。
精确的时间戳可以在这些链接里找到:
https://www.blockchain.com/btc/block-height/0
https://www.blockchain.com/btc/block-height/210000
https://www.blockchain.com/btc/block-height/420000
明白了这些道理,现在就用C#程序来模拟新币产生的过程:
运行结果中,前两列为起始区块编号和结束区块编号,第三列为新币奖励数,第四列为某个区间内产生的BTC个数,最后一列为累计BTC数量。
还可以得出另外两条结论:
- 最后一个有新币奖励的区块编号是6929999,以后矿工只能赚交易手续费
- 总共33行数据,表示132年后,大概是2140年全部挖完
--- END ---