主页 > 安卓版下载imtoken官网 > 为什么比特币的总数是2100万

为什么比特币的总数是2100万

安卓版下载imtoken官网 2023-10-17 05:07:20

比特币的一个有争议的属性是它的固定供应。 目前,每 10 分钟铸造 25 个新比特币,这个数字每 4 年减半。 总的来说,存在的比特币永远不会超过 2100 万>。 另一方面,每个比特币可以分为 1 亿股(每股称为 1“satoshi”)。 如果一分钱够买车,用美元交易会很麻烦,但即使比特币升值到上面假设的美元的情况,你也不会遇到这样的问题。 因此,总而言之,将永远存在的货币单位总数为 2,100,000,000,000,000,即 2100 万亿,即 250.899。 在选择这个值时,中本聪比大多数人意识到的要幸运或聪明得多。 首先,这个数远小于264-1,后者是计算机能够以标准整数形式存储的最大整数。 如果超过那个值,>值就会像里程表一样归零。

其次,还有一个更小的阈值,即中本聪的总数试图低于:可以用浮点格式表示的最大可能整数。 整数不是计算机可以存储的唯一一种数字。 为了处理小数,计算机 > 使用一种进行浮点表示法的格式。 浮点数本质上是科学记数法的二进制版本。 例如,这是您在学习物理时会遇到的一个值:

地球质量:5.972 1024 kg

太阳质量:1.989 1030 kg

光速:2.998 108米/秒

一光年:9.460 1015 m

质子质量:1.672 10-27 kg

普朗克长度:1.616 10-35 m

我们可以注意到科学记数法如何让您以合理的精度表示所有这些数字,即使它们的大小差异很大。 浮点数本质上是二进制科学记数法; 当您存储数字 > 字 9.625 时,您的计算机将存储“1.001101

* 1011”(或者,它存储 01000000 00100011 01000000 00000000 00000000 00000000

>00000000

00000000,这在高精度串行形式中是一样的)。 在这种高精度形式下,系数(即不是指数的部分)有52位(52bits)。 这意味着高精度(更准确地说为什么比特币总量是2100万个,“双精度”)浮点数足以存储高达 253 的数字,但不能超过 253,并且您在最后开始砍掉数字。 比特币的 250.9 聪总数,以指数形式表示,刚好低于这个最大值。

如果我们有整数,为什么还要关心浮点数呢? 因为更多的高级编程语言(如Javascript)不开放低级的“浮点数”和“整数表示法”,而只是给程序成员提供>“数”的概念

– 当然是浮点数。 如果中本聪选择 2.1 亿而不是 2100 万的价值为什么比特币总量是2100万个,比特币用多种语言编程会比现在麻烦得多。

请注意,不幸的是,Stefan Thomas 在编写 BitcoinJS 时没有及时注意到这一点,因此该库使用专用的“大

number' 对象而不是普通数字来存储教程输出值; 我自己的 BitcoinJS 分支(添加了其他改进)使用纯数字。