主页 > imtoken钱包最新下载 > 为什么比特币总数是2100万?

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

imtoken钱包最新下载 2023-01-17 00:08:59

比特币下半场临近,比特币总量为何定为2100万?这篇文章有一点玩笑,但都是有目的的,值得一读。{:。信息}

文本

比特币总数为2100万,这可能是刚接触比特币的新手记得最清楚的数字,也是最容易混淆的数字。

中本聪在任何公开言论中都没有提到他为什么选择这个号码,因此网上出现了各种猜测和逻辑推理。

我们来谈谈这个数字:

2100万是怎么来的?

最终生成的比特币数量准确地说是 20999999.97690000,略低于 2100 万。

比特币生成时间表:

比特币的数量

我们挑几个关键点来分析这张表。

2009 年 1 月 3 日格林威治标准时间 18:15:05,创世区块诞生了。创世区块的数量为 0。“阶段 1”从创世区块开始,每个区块产生 50 个新比特币或 50 亿聪。

创世区块:

格林威治标准时间 2012 年 11 月 28 日 15:24:38,生成了块号 210000。从这个区块开始的“第 2 阶段”,每个区块中包含的新比特币数量减半至 25,这是历史上的第一次减半。未来每产生21万个区块,比特币数量将依次减半。直到第 33 次减半,每个区块产生的 0.0021 个新比特币数量直接减少到 0。

210,000 个区块:

每 4 年减半是一个不太严格的说法。现实:比特币大约每 10 分钟产生一个区块,210,000 个 10 分钟接近 4 年(4 年等于 210,384 个 10 分钟。这应该是中本聪故意选择的数字)。

第二次减半将在 2016 年发生,但现在讨论这个还为时过早。我说的是 2016 年区块问题。

比特币的数量

比特币系统调整挖矿难度的原理是:根据前2016个区块产生的总时间,调整2016个区块的挖矿难度,使得这2016个区块的挖出时间为14天。因为,6 每小时 10 分钟乘以 24 小时乘以 14 天 = 2016。所以,所谓的 10 分钟只是一个平均目标。由于目前算力快速提升,实际挖出2016个区块的速度往往不到14天。

难度调整的话题涉及到挖矿,后面会分析。

选择2100万的真正原因

网上的猜测有很多种,有的很靠谱,有的不靠谱但是很开心。

【答案1】

是答案的前半部分:42. 翻译:因为21是答案42的一半。(注:英文中2100万表示为:2100万。所以老外通常会直接问:为什么是21 .)

当然,他是在开玩笑。不过我个人最喜欢这个猜测,也是reddit上最喜欢的。

比特币的数量

这个梗来自电影《银河系漫游指南》中的终极答案。

【答案2】

因为我们生活在21世纪!翻译:因为我们生活在 21 世纪!

太天真了,不敢吐槽。

【答案3】

他选择了奖励计划和 10 分钟的区块。他算了一下,结果是2100万。他没有选择2100万,他只是接受了他选择的参数的后果。翻译:中本聪订购了 10 分钟,50 枚硬币,4 年减半的原则比特币的数量,结果自然而然就出来了。他没有选择,而是接受了自然的结果。

这个答案也是可以的。中本聪在比特币中的很多选择确实是幸运的,但都是“经验运气”。

比特币的数量

【答案4】

人类历史上开采的所有黄金都可以装进一个每边大约 21 米的立方体。中本聪创建比特币的想法是有点像黄金的数字模拟(有限供应、采矿等),以及它建立在 Nick Szabo 的“比特黄金”提案的基础上,所以我认为 2100 万是这是一个聪明的点头。中本聪用这个概念来比喻比特币是一种虚拟黄金。

原来,阴谋论不仅限于中国……

【答案5】

我本来想说:中本聪喜欢玩维加斯二十一点。翻译:我认为中本聪喜欢玩二十一点。

上帝会掷骰子吗?

【答案6】

比特币的数量

计算机双精度浮点数最多可存储 253 个精度数。比特币最小单位的总精度是251,刚好够用。(英文太长不能发)

这个答案出现在一篇非常好的文章“中本聪的天才:比特币以意想不到的方式躲过了一些密码学子弹”

详细的:

比特币有争议的属性之一是它的固定供应量。目前每 10 分钟产生 25 个新比特币,这个数字每 4 年减半。总共将存在不超过 2100 万个比特币。另一方面,每个比特币可以分成 1 亿份(每份被称为 1 个“聪”),如果一分钱足够买一辆汽车,用美元交易会很麻烦,但即使比特币升值了上面假设的美元的情况下,它不会遇到这个问题。因此,总而言之比特币的数量,将存在的货币单位总数为 2,100,000,000,000,000,或 2100 万亿,或 250.899。中本聪在选择这个数字时比大多数人意识到的更幸运或更聪明。一、数量远小于264-1,这是可以作为标准整数存储在计算机中的最大整数,超过该值将像里程表一样归零。第二,然而,总“satoshi”数字设法低于一个较小的阈值:可以用浮点格式表示的最大可能整数。整数不是计算机可以存储的唯一数字。为了处理小数,计算机使用一种进行浮点表示的格式。浮点表示法本质上是科学计数法的二进制版本。举个例子,这是你在学习物理时会遇到的一个值: 地球质量:5.972 1024 kg 太阳质量:1.989 1030 kg 光速: 2.@ >998 108 m/s 一光年:9.460 1015 m 质子质量:1.

浮点记数法本质上是二进制的科学记数法;当您存储数字 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(添加了其他改进)使用通用数字。

【答案7】

我的猜测是,中本聪在开发早期就从这里得出了 2100 万的限制,后来意识到这还不够货币单位,因此将小数位数从 2 位扩展到 8 位,并将变量从 32 位更改为64 位。翻译:答案6的解释很接近,但有点牵强。IEEE 双精度浮点数为 53 位,可表示的最大数字为 9,007,199,254,740,991 聪,而比特币为 2,099,999,997,690,000 聪。差距还是很大的。

我认为更好的解释是:带符号的 32 位整数可以存储最多 232-1 的数字,即 2,147,483,647。如果比特币有两位小数,则为 21,474,836.47 个比特币。那是2100万。我猜中本聪在最初的开发中使用了32位精度的整数,但是后来发现这个精度对于一个全球货币来说是不够的,所以他将小数点后2位扩展为8位,并从32位存储改为64位贮存。

这是我认为最靠谱的答案,因为中本聪过去的言论可以看出他不是完美主义者,而是实用主义者。