挖矿与共识

  每10分钟就会有⼀个新的区块被“挖掘”出来,每个区块⾥包含着从上⼀个区块产⽣到⽬前这段时间内发⽣的所有交易,这些交易被依次添加到区块链中。我们把包含在区块内且被添加到区块链上的交易称为“确认”交易,交易经过“确认”之后,新的拥有者才能够花费他在交易中得到的⽐特币。

  矿⼯们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费

  换句话说在2140年之后,不会再有新的⽐特币产⽣。

 

  ⼤约每⼗分钟产⽣⼀个新区块,每开采 210,000(21W) 个块(1年5.25W个区块),⼤约耗时4年,货币发⾏速率降低50%。在⽐特币运⾏的第⼀个四年中,每个区块创造出50个新⽐特币。

  到2140年左右,会存在接近2,100万⽐特币。

  比特币发行量脚本:

# 初始的块奖励为50BTC
start_block_reward = 50

# 以10分钟为⼀个区块的间隔,210000个块共约4年时间
reward_interval = 210000

def max_money():
    # 50 BTC = 50 0000 0000 Satoshis
    current_reward = 50 * 10**8
    total = 0
    while current_reward > 0:
        total += reward_interval * current_reward
        current_reward /= 2
    return total

print "Total BTC to ever be created:", max_money(), "Satoshis"
View Code

相关文章: