主页 > 苹果下载imtoken钱包下载哪一个 > 比特币减半及总量计算

比特币减半及总量计算

1. 区块奖励基础知识 区块生成的间隔时间约为10分钟。 其实有长有短,少则一两分钟比特币2024下一轮减半,多则几十分钟。 每21万个区块为一个奖励周期,第一个奖励周期为0~209999个区块,第二个奖励周期为210000~419999个区块,第三个奖励周期为420000~629999个区块,……以此类推。 第一个造币周期,每个区块奖励50BTC,之后每个周期奖励减半,即第二个造币周期,每个区块奖励25BTC,第三个周期12.5BTC,……类推。 1 BTC = 10^8 Satoshi,即100000000 Satoshi,1亿Satoshi。 比特币的最小单位是聪(Satoshi),所以在减半的过程中,没有0.5聪这个概念。 在第28个产币周期,每个区块奖励37聪,在第29个产币周期,每个区块的奖励减半,不是18.5聪,而是18聪,舍去小数点。 到第31个货币生产周期比特币2024下一轮减半,每个区块的奖励不是4.5 Satoshi,而是4 Satoshi.2。 Python程序

比特币.py

程序参考《精通比特币》(第二版)第10章10.1节。

from datetime import datetime, timedelta
delta = timedelta(minutes=10*210000)
time0 = datetime.strptime('2009-1-3 18:15:05', '%Y-%m-%d %H:%M:%S')
# Original block reward for miners was 50 BTC
start_block_reward = 50
# 210000 is around every 4 years with a 10 minute block interval
reward_interval = 210000
def max_money():
    # 50 BTC  = 50 0000 0000 Satoshis
    current_reward = 50 * 10 ** 8
    total = 0
    i = 0
    while current_reward > 0:
        print('{0:>2} {1:>12} Satoshi  {2}'.format(i+1, current_reward, time0+delta*i))
        total += reward_interval * current_reward
        current_reward //= 2
        i += 1
    return total
# print("Total BTC to ever be created:")
print('\nTotal: {0} Satoshi'.format(max_money()))

结果:

 1   5000000000 Satoshi  2009-01-03 18:15:05
 2   2500000000 Satoshi  2013-01-01 02:15:05
 3   1250000000 Satoshi  2016-12-29 10:15:05
 4    625000000 Satoshi  2020-12-26 18:15:05
 5    312500000 Satoshi  2024-12-24 02:15:05
 6    156250000 Satoshi  2028-12-21 10:15:05
 7     78125000 Satoshi  2032-12-18 18:15:05
 8     39062500 Satoshi  2036-12-16 02:15:05
 9     19531250 Satoshi  2040-12-13 10:15:05
10      9765625 Satoshi  2044-12-10 18:15:05
11      4882812 Satoshi  2048-12-08 02:15:05
12      2441406 Satoshi  2052-12-05 10:15:05
13      1220703 Satoshi  2056-12-02 18:15:05
14       610351 Satoshi  2060-11-30 02:15:05
15       305175 Satoshi  2064-11-27 10:15:05
16       152587 Satoshi  2068-11-24 18:15:05
17        76293 Satoshi  2072-11-22 02:15:05
18        38146 Satoshi  2076-11-19 10:15:05
19        19073 Satoshi  2080-11-16 18:15:05
20         9536 Satoshi  2084-11-14 02:15:05
21         4768 Satoshi  2088-11-11 10:15:05
22         2384 Satoshi  2092-11-08 18:15:05
23         1192 Satoshi  2096-11-06 02:15:05
24          596 Satoshi  2100-11-04 10:15:05
25          298 Satoshi  2104-11-01 18:15:05
26          149 Satoshi  2108-10-30 02:15:05
27           74 Satoshi  2112-10-27 10:15:05
28           37 Satoshi  2116-10-24 18:15:05
29           18 Satoshi  2120-10-22 02:15:05
30            9 Satoshi  2124-10-19 10:15:05
31            4 Satoshi  2128-10-16 18:15:05
32            2 Satoshi  2132-10-14 02:15:05
33            1 Satoshi  2136-10-11 10:15:05
Total: 2099999997690000 Satoshi
Process finished with exit code 0

减半时间按10分钟计算,其实不是。

(创世区块信息)

第一次减半发生在 2012 年 11 月 28 日(区块 210000

),第一次减半发生在2016年7月9日(区块420000),均早于理论。

第三次是2020年5月24日左右,见减半。 (减半后点击区块630000查看。)

附录:

北京时间块GMT

浏览器