比特币简介 比特币设计为2100万的原因所在

比特币(BitCoin)是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。

14.jpg

一、比特币简介

比特币(BitCoin)是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。

二、比特币设计为2100万的原因所在

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

而既然可分割性决定了货币能分割的越小越好,那为什么要固定2100万这个数值呢?

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

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

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

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


郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
   
验证码:
微信号已复制,请打开微信添加咨询详情!