10.1 简介

“挖矿”这个词有点误导。 一般意义的挖矿类似贵金属的提取,更多将人们的注意力集中到创造每个区块中获得的奖励。 虽然挖矿能够获得这种奖励作为激励,但挖矿的主要目的不是这个奖励或者产生新币。 如果您只是把挖矿视为创建新币的过程,则会将比特币系统中的这个手段(激励)作为挖矿过程的目标。 挖矿最重要的作用是巩固了去中心化的清算交易机制,通过这种机制,交易得到验证和清算//清除。 挖矿是使得比特币与众不同的发明,它实现去中心化的安全机制,是P2P数字货币的基础。

​挖矿确保了比特币系统安全,并且在没有中央权力机构的情况下实现了全网络范围的共识。 新币发行和交易费的奖励是将矿工的行动与网络安全保持一致的激励计划,同时实现了货币发行。

提示:挖矿的目的不是创造新的比特币。 这是激励机制。 挖矿是一种机制,这种机制实现了去中心化的安全。

​矿工们验证每笔新的交易并把它们记录在总帐簿上。每10分钟就会有一个新的区块被“挖掘”出来,每个区块里包含着从 上一个区块产生到目前这段时间内发生的所有交易,这些交易被依次添加到区块链中。我们把包含在区块内且被添加到 区块链上的交易称为“确认”(confirmed)交易,交易经过“确认”之后,新的拥有者才能够花费他在交易中得到的比特币。

矿工们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费。为了得到这些奖 励,矿工们争相完成一种基于加密哈希算法的数学难题,这些难题的答案包括在新区块中,作为矿工的计算工作量的证 明,被称为”“工作量证明”。该算法的竞争机制以及获胜者有权在区块链上进行交易记录的机制,这二者是比特币安全的基石。

新比特币的生成过程被称为挖矿,是因为它的奖励机制被设计为速度递减模式,类似于贵重金属的挖矿过程。比特币的货币是通过挖矿发行的,类似于中央银行通过印刷银行纸币来发行货币。矿工通过创造一个新区块得到的比特币数量大约 每四年(或准确说是每210,000个块)减少一半。开始时为2009年1月每个区块奖励50个比特币,然后到2012年11月减半为每个区块奖励25个比特币。之后在2016年7月 再次减半为每个新区块奖励12.5个比特币。基于这个公式,比特币挖矿奖励以指数方式递减,直到2140年。届时所有的比特币(20,999,999,980)全部发行完毕。换句话说 在2140年之后,不会再有新的比特币产生。

矿工们同时也会获取交易费。每笔交易都可能包含一笔交易费,交易费是每笔交易记录的输入和输出的差额。在挖矿过程中成功“挖出”新区块的矿工可以得到该区块中包含的所有交易“小费”。目前,这笔费用占矿工收入的0.5%或更少,大 部分收益仍来自挖矿所得的比特币奖励。然而随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿 工收益中所占的比重将会逐渐增加。在2140年之后,所有的矿工收益都将由交易费构成。

在本章中,我们先来审视比特币的货币发行机制,然后再来了解挖矿的最重要的功能:支撑比特币安全的去中心化的共识机制。

​为了了解挖矿和共识,我们将跟随Alice的交易,以及上海的矿工Jing如何收到并利用挖矿设备将交易加入区块。 然后,我们将继续跟踪区块被挖矿,加入区块链,并通过共识被比特币网络接受。

10.1.1 比特币经济学和货币创造

​通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块 都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低50%。在比特币运 行的第一个四年中,每个区块创造出50个新比特币。

2012年11月,比特币的新发行速度降低到每区块25个比特币。2016年7月,降低到12.5比特币/区块。2020年的某个时候,也就是在区块630,000,它将再次下降至6.25比特币。新币的发行速度会以指数级进行32次“等分”,直到第6,720,000块(大约在2137年开采),达到比特币的最小货币单位1 satoshi。最终,在经过693万个区块之后,所有的共 2,099,999,997,690,000聪比特币将全部发行完毕。也就是说,到2140年左右,会存在接近 2,100万比特币。在那之后,新的区块不再包含比特币奖励,矿工的收益全部来自交易费。图10-1展示了在发行速度不断降低的情况下,比特币总流通量与时间的关系。

10.1 简介 - 图1

​ 图10-1 比特币发行与时间的关系

注意:比特币挖矿发行的最大数量也就成为挖矿奖励的上限。 在实践中,矿工可能故意挖掘哪些不足全额奖励的区块。 这些块已经开采了,未来可能会有更多被开采,这样导致货币发行总量的下降。

​ 在例10-1的代码展示中,我们计算了比特币的总发行量

​ 例10-1 比特币发行总量的计算脚本

  1. code/max_money.py[]

Running the max_money.py script说明了运行脚本的输出结果

例10-2 显示上述脚本的输出

  1. $ python max_money.pyTotal BTC to ever be created: 2099999997690000 Satoshis

总量有限并且发行速度递减创造了一种抗通胀的货币供应模式。法币可被中央银行无限制地印刷出来,而比特币永远不会因超额印发而出现通胀。

通货紧缩

最重要并且最有争议的一个结论是一种事先确定的发行速率递减的货币发行模式会导致货币通货紧缩(简称通缩)。通缩是一种由于货币的供应和需求不匹配导致的货币增值的现象。它与通胀相反,价格通缩意味着货币随着时间有越来越强的购买力。

许多经济学家提出通缩经济是一种无论如何都要避免的灾难型经济。因为在快速通缩时期,人们预期着商品价格会下跌,人们将会储存货币,避免花掉它。这种现象充斥了日本经济“失去的十年”,就是因为在需求坍塌之后导致了滞涨状态。

比特币专家们认为通缩本身并不坏。更确切地说,我们将通缩与需求坍塌联系在一起是因为过去出现的一个特例。在法币届,货币是有可能被无限制印刷出来的,除非遇到需求完全崩塌并且毫无发行货币意愿的情形,因此经济很难进入滞涨期。而比特币的通缩并不是需求坍塌引起的,它遵循一种预定且有节制的货币供应模型。

​通货紧缩的积极因素当然是与通货膨胀相反。 通货膨胀导致货币缓慢但不可避免的贬值,这是一种隐性税收的形式,惩罚在银行存钱的人从而实现解救债务人(包括政府这个最大的债务人)。 政府控制下的货币容易遭受债务发行的道德风险,之后可能会以牺牲储蓄者为代价,通过贬值来抹去债务。

比特币这种不是因经济快速衰退而引起的通缩,是否会引发其他问题,仍有待观察。