主页 > imtoken2.0下载 > 为什么有 2100 万比特币的限制?

为什么有 2100 万比特币的限制?

imtoken2.0下载 2023-02-06 05:54:07

比特币的一个有争议的特性是它的固定供应量。为什么总数上限是2100万?

首先,我承认我的高数确实不好。我很难从算法的角度解释为什么有 2100 万比特币。让我们这样理解:

目前每 10 分钟产生 25 个新比特币,这个数字每 4 年减半。你可以简单地用一个极限数列表来展示这个描述,然后,就可以计算出这个极限数序列的总和,大约是2100万。所以,在比特币的世界里,你不需要担心通货膨胀,你需要担心通货紧缩。

总共不会超过 2100 万比特币。另一方面,每个比特币可以分成1亿份(每份被称为1个“聪”),那么总量应该是2100万亿,而对于整个世界经济来说,这个份额很可能会在一些年。这还不够,所以比特币不能成为唯一的货币。近期比特币暴涨的原因是,现实中一些国家不分青红皂白地发行主权货币,导致部分资金买入比特币作为避风港。

总共不会超过 2100 万比特币。另一方面,每个比特币可以分成 1 亿份(每份被称为 1 个“聪”),如果一分钱足够买一辆汽车,用美元交易会很麻烦,但即使比特币升值了上面假设的美元的情况,它不会遇到这个问题。因此,总而言之,将存在的货币单位总数为 2,100,000,000,000,000,或 2100 万亿,或 250.899。中本聪在选择这个数字时比大多数人意识到的更幸运或更聪明。首先,该数字远小于 264-1,这是计算机中可以作为标准整数存储的最大整数,超过该值将像里程表一样归零。

然而,其次,总“satoshi”数设法低于一个较小的阈值:可以用浮点格式表示的最大可能整数。整数不是计算机可以存储的唯一数字。为了处理小数,计算机使用一种进行浮点表示的格式。浮点表示法本质上是科学计数法的二进制版本。例如,这是您在学习物理时会遇到的一个值:

地球质量:5.972 * 1024kg

太阳的质量:1.989 * 1030kg

光速:2.998 * 108m/s

一光年:9.460 * 1015m

质子质量:1.672 * 10-27kg

普朗克长度:1.616 * 10-35m

我们可以注意到,科学记数法如何让您以合理的精度表示所有这些数字,尽管它们的大小差别很大。浮点记数法本质上是二进制的科学记数法;当您存储数字 9.625 时,您的计算机存储“1.001101 * 1011”(或者更确切地说,它存储的是 01000000 00100011 01000000 00000000 00000000 00000000 00000000 00000000比特币的数量,这在高精度中是一样的序列形式)。在这种高精度形式中,系数(即不是指数的部分)有 52 位(52bits)。这意味着高精度(更准确地说是“双精度”)浮点数足以存储高达 253 的数字,但不会更高,如果超过,您将不得不开始切断尾随数字。比特币的 250.9,以指数形式表示的 satoshis 总数,刚好低于这个最大值。

如果我们有整数,为什么要关心浮点值?因为更多的高级编程语言(比如Javascript)并没有暴露低级的“浮点”和“整数表示法”,而只是为程序员提供了“数字”的概念——当然是浮点形式。如果中本聪选择 2.1 亿而不是 2100 万的价值,比特币多语言编程会比现在麻烦很多。

请注意,不幸的是,Stefan Thomas 在编写 BitcoinJS 时没有及时注意到这一点比特币的数量,因此该库使用专门的“大数字”对象而不是普通数字来存储教程的输出值;我自己的 BitcoinJS 分支(添加了其他改进)使用通用数字。