[投稿]比特币的总量是2100万个,到底为什么?优质

46次浏览 | 2024-07-19 08:28:49 更新
来源 :互联网
最佳经验

简要回答

题图来自网路。

本文来自于一位读者朋友的投稿,他自己的公众号叫做“区块链的故事”,感兴趣的同学可以在文末扫码关注。正文的内容因经过细微调整,所以没有原文转发,图片也是经过重新上传和水印的。同时,如果大家有自己的观点或者想要表达的内容,也欢迎给笨笨君投稿!以下是正文。

比特币其中一个有争议的属性就是它的固定供应量,这一属性保证了它不会通货膨胀的基本设计理念,也成为了最近8年来疯涨万倍的关键因素。但是2100万的总量上限到底为什么呢?很多人都知道,这是中本聪写在算法里的,固定的数额,可是他这么设计的原因确一直以来都没有一个明确的解释。出于满足大家的好奇心,今天我们就来分析一下比特币2100万的总量为什么这么设立。

2100万到底是怎么算出来的

在比特币的算法中,新的比特币的产生是有周期和数量限制的。根据算法规定,每个区块所的产生的比特币(或者叫挖矿奖励)从最开始的50到25再到12.5逐渐递减,递减(halving)每21万个区块发生一次(大约每10分钟产生一个新的区块,所以是大约每四年发生一次),所以一共是 (50 + 25 + 12.5 + 6.25 + 3.125 + ...) * 21万 = 2100万的总量。当然,以上只是按照比特币的算法推导了一遍比特币总量的计算,还是没有从根本上解释这个2100万总量为什么这么规定。下面我们就来试着分析中本聪设计这个数字上限的原因究竟是什么。

设计为2100万的原因究竟是什么

设计货币时必须要考虑的一点就是可分割性,这也是纸币出现之前,金属作为流通货币的一个重要因素。如果我们只有百元大钞而没有小面额货币,生活将会变得十分不方便。那么我们带着这个眼光再去重新审视比特币,看看它有没有可分割的特性。其实,比特币的最小单位是“聪”(“satoshis”),一个比特币可以换分成一亿 “聪”,也就是说比特币的数量最多精准到小数点后的8位数。所以比特币的总量也可以理解为2100万亿聪,或者2的50.899次方聪。这样一来,就算比特币大幅度升值也不会出现因不易分割而无法购买低价值物品的问题。

读到这里,可能有的读者已经开始疑问了。 既然可分割性决定了货币能分割的越小越好,那为什么要固定2100万这个数值呢?

其实,在选择这个数值方面,中本聪也许比大多数人想的要远的多。 根据以太坊创始人Vitalik Buterin的分析,这个数值可能与计算机编程语言支持的整型数据范围有关,也是对比特币后续开发者的维护开发提供便利。 首先,2的50.899次方远小于常用编程语言支持的最大整数,也就是2的64次方减1,俗称64位整数。这使得比特币软件在编写的过程中可以使用编程语言自带的数据类型,降低了编码的成本。事实上在比特币软件的参考版本(用C++语言实现)中,就是用64位整型变量来定义比特币的数额的。

比特币软件源码CAmount.h

其次,大家要知道,比特币的软件除了可以用C++实现之外,还可以用Python和JavaScript这样的脚本语言实现,很多的比特币钱包,如blockchain.info都是用JavaScript来实现的。不用C++而使用这些脚本语言,最大的好处就是加速了开发者的编码,提升了开发效率。而在这些脚本语言中,比如JavaScript,精确整数的最大范围就是2的52次方。比特币选择了2的50.899次方作为其数额的最大范围,不知道是中本聪有意为之,还是纯属巧合。但在后人看来,推敲起来总是颇有一番趣味。

除此之外,还有观点认为比特币设计货币总量的时候比对参考了一个国家的货币总量,为此,我专门查阅了2008年中本聪发表论文(10月31号)时的美国M1货币总量(狭义货币供应量,几乎等于一个国家通货,也就是纸币,硬币,加上活期存款的总量)。根据美联储官方数据显示,2008年10月美国的M1货币总量为13695亿美元,2100万亿远远高于这个数值,完全足以支撑起作为货币的体量。

当然了,中本聪从来没有针对这个数值做出过官方的解释,所有的分析都是大家在现有条件下的合理猜想。2100万的总量设计,看似随意,实则包含了很多背后的逻辑,类似这样的设计在比特币软件和协议中屡见不鲜。

本文地址:https://www.huajie.net.cn/btc/44477.html

发布于 2024-07-19 08:28:49
收藏
分享
海报
46
上一篇:比特币分叉之旅:硬实力与共识的力量 下一篇:币圈惊现“分叉狂潮”?比特币今年最多或分叉50次

推荐阅读

0 条评论

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码