比特币2100万什么时候挖完 比特币最多2100万枚的原因介绍
比特币交易所手机版下载安卓app
比特币交易所手机版下载安卓app

V6.0.11 / 60.72 MB

软件1 / 简体中文

查看

通过计算最多只能生成2100万个比特币。根据几何级数求和,每10分钟产生一个新区块,每小时产生6个新区块,21万个区块大约需要4年时间。这就是比特币,为什么币值每四年减半?很多投资者对比特币的最大数量只会是2100万个充满怀疑。接下来小编就来详细介绍一下比特币最大数量为2100万个的原因。

春天花儿飞舞,风儿吹着风,让人心酸。当你看着眼睛里的花朵时,不要害怕太多的酒进入你的嘴唇。

5月份的加密市场,BTC(比特币)在6万美元徘徊,春暖花开。不是很热闹,但在湖边闲逛,看着绿水青山,心旷神怡,位置也很远。

BTC是加密货币行业的根源。 2100万的总量上限是BTC的基础。一切都从这个神奇的数字开始。但为什么是这样的数字呢?

焦联在2020年12月5日的文章《为什么比特币最多只会有2100万枚?》中介绍了这个数字的计算方法。简单来说就是这样:

20240514101333764.jpg

1. 每块产量50 BTC

2.每210,000个区块,产量减半

使用几何级数之和可以很容易地计算出来。 BTC最终总产量为:(50 + 25 + 12.5 + 6.25 + 3.125 + .) x 210,000=2100万。

此外,“挖矿”难度也进行了调整,大约每10 分钟生成一个新区块,即每小时6 个新区块。 210,000 个区块相当于大约4 个人年。

这就是比特币四年产量减半周期的由来。

然而,这只是对既定事实的叙述。第一,对一些细节的审查不够;其次,它并没有真正揭示比特币发明者中本聪选择和设计这样一个数字的原因。

20240514101307506.png

先说细节首先,2100万不是2100万,而是2,099,999,997,690,000。是的,后者的数字比2100万大1亿倍,大约是2100万亿。比特币系统内有数万亿个整数。

当我们将BTC“显示”为这个整数点上方8位小数时,它就变成了2 0,99 9,99 9.97 690 000。这里我用空格来表示作为整数使用时的第千位除点。我们一眼就能看出,中本聪选择小数点后8位其实有点奇怪,因为这会导致小数点后8位的BTC整数部分的逗号分隔点与中的真实整数的逗号分隔点不一致。系统。

小数点后8 位,即一亿分之一,并不是很西方化。众所周知,英语中数字分为千分之一,所以计数单位有千、百万、十亿、万亿。英语中没有“十亿”单位。中国的计数方法略有不同。分为四位数,即千分之十,所以有万、亿、万亿。

2100万除以千分之十是这样的:2099 9999 9769 0000; 2100 万,小数点后8 位是这样的:2099 9999.9769 0000。都是4 条,每条4 位数字,不会混淆。所以看起来,小数点后8 位,一亿分之一,嗯,这非常东方。

其次,2100万亿之所以是2,099,999,997,690,000而不是确切的2,100,000,000,000,000,正是因为小数点后8位的精度限制。

上面的等比数列(50 + 25 + 12.5 + 6.25 + 3.125 + .)并不是真正的无限数列,但是当它减少到0.0000 0001时,减半就返回到零。因此,这是一个截断的有限序列,它的和将小于无限序列的和100。因此,乘以210,000后,最终结果略小于2100万。

第三,注意第一点描述。 8位小数和小数点只是“显示”层面的设计。系统内部只有数万亿个整数。

既然只是“显示”,小数点其实是可以任意移动的。现在单击小数点后8 位,稍后可以单击小数点后5 位或4 位。

例如,20,999,999,976.90000(5 位小数)或2099 9999 9769.0000(4 位小数)。

那么,1 个小数点后8 位的比特币,移至小数点后5 位时显示为1000,移至小数点后4 位时显示为10000。相应地,原来的0.001或0.0001 BTC现在将显示为1。

这种位移的想法并不是教学链编造的,而是中本聪的真实想法。在2009年4月12日中本聪给Mike Hearn的回信[1]中,他这样写道:原文:'我对硬币数量和分配时间表的选择是有根据的猜测。这是一个艰难的选择,因为一旦网络开始运行,它就被锁定了,我们就被困住了。我想选择一种能让价格与现有货币相似的东西,但在不知道未来的情况下,这非常困难。我最终选择了中间的一些东西。如果比特币仍然是一个小众市场,那么它的单位价值将低于现有货币。如果你想象它被用于世界贸易的一部分,那么全世界只会有2100 万枚硬币,所以每单位的价值会更高。值是具有8 位小数的64 位整数,因此1 个硬币在内部表示为100000000。如果典型价格变小,则有足够的粒度。例如,如果0.001 价值1 欧元,那么更改小数点的显示位置可能会更容易,因此如果您有1 个比特币,它现在显示为1000,而0.001 显示为1。

翻译:“我对代币数量和发行时间表的选择是经过深思熟虑的。这是一个艰难的选择,因为一旦网络开始运行,它就被锁定,我们就陷入困境。我想选择一个A(数字)来保持价格接近现有货币,但在不知道未来的情况下很难做到这一点。最后,如果比特币仍然是一种小众货币,我选择了中间值。单位价值将低于现有货币的单位价值。如果你想象一下比特币用于世界商业的某些部分,那么世界上只有2100万个比特币,所以它的单位价值会高出8位小数。 64位整数,因此1个币在内部表示为100000000。如果典型(用例)价格变小,就有足够的粒度,例如,如果0.001值1欧元,则更改小数点的显示位置可能会更好。很容易(查看和使用),因此如果您有1 个比特币,它现在将显示为1000,0.001 将显示为1。”

有人说,对于常见的64位计算机,如果我们用64位二进制数来表示整数和小数(也称为浮点数),那么最安全的做法就是将整数限制在可以表示的上限。用浮点数的整数部分表示。里面。

对计算机原理稍有了解的朋友都知道,计算机内部没有小数,都是0和1数字。所谓64位整数是指由64个0或1组成的二进制整数。对应的十进制值为2^64=18446744073709551616。这个数字远大于2100万亿。但是,如果想让计算机能够处理浮点数,那么就需要将64位中的一部分分割出来来表示小数部分,留下1位来表示符号。这成为IEEE 754 浮点编码标准。其中,标准定义是双精度浮点数以64位二进制编码如下:

20240514101236817.jpg

这样整数部分就只能用53位,也就是说最大不超过2^53=9007199254740992。而如果想方便测试结果是否为整数,最好不要超过2^51=2251799813685248。 这样一来,你可以选择22(一百万亿),但22不是一个“三角数”(三角数),所以中本聪选择了21(一百万亿)。

20240514101228818.jpg

基于此,很多人认为中本聪选择2100万亿大大方便了各种编程语言处理的比特币数量相关的计算。

但看了中本聪的邮件后,焦练觉得中本聪可能没有这么复杂的想法。或者也许他确实考虑过,但没有解释他所有的考虑。他只是说他也考虑过其他数字,比如4200万亿,但觉得太大了,所以妥协到2100万亿。中本聪在2011 年1 月10 日回复Mike Hearn 的电子邮件[2] 时写道:

"It works out to an even 10 minutes per block:21000000/(50 BTC * 24小时* 365天* 4年* 2)=5.99 块/小时

“我捏造了它为364.58333 天/年。 50 BTC 减半到25 BTC 发生在210000 个区块之后,即大约3.9954 年,无论如何,这是基于重定向机制的最大努力的近似值。

“我想过100 个比特币和4200 万,但4200 万似乎很高。

“我希望典型的金额处于熟悉的范围内。如果你扔掉10万个左右,也不会觉得稀缺。大脑能够更好地处理0.01 到1000 之间的数字。

“如果它变得非常大,小数点可以移动两位,美分就成为新的硬币。”

看来中本聪首先设定了时间参数,然后调整了区块产量和总量,并考虑什么数字更合适。

根据中本聪的说法,大多数人手中的BTC数量最好在0.01到1000之间。不要轻易得到6、7位数的硬币,这样会缺乏稀缺感。

比特币总数为2100万枚。这可能是刚接触比特币的新人记得最清楚,也是最混乱的数字。中本聪在任何公开言论中都没有提及为什么选择这个数字,因此网络上出现了各种猜测和逻辑推理。

【1】20999999.97690000最终生成的比特币数量准确来说是20999999.97690000,略低于2100万个。

比特币创建时间表:

20240514101203401.jpg

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

【2】50.000000002009年1月3日GMT 18:15:05,创世区块诞生。创世块的数量为0。在从创世块开始的“第一阶段”中,每个块生成50个新比特币或50亿聪。

创世区块:https://blockchain.info/block-height/0

2012年11月28日格林威治时间【3】目标高度21000015:24:38,第210000个区块生成。从“第二阶段”的这个区块开始,每个区块所包含的新比特币数量减半为25个,这是历史上第一次减半。未来每产生21万个区块,比特币的数量就会减半。直到第33次减半,每个区块产生的0.0021个新比特币直接减少为0。

210000 个区块:https://blockchain.info/block-height/210000

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

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

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

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

20240514101127329.png

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

【答案1】这是答案: 42的前半部分。

翻译:因为21 是最终答案42 的一半。

(说明:在英语中,2100万表达为:2100万。因此,外国人通常会直接问:为什么是21。)

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

这个笑话出自电影《银河系漫游指南》中终极答案的剧情。

直接看视频吧(我搜了一下,只在YouTube上找到了剪辑,所以加了字幕):

【答案2】

因为我们生活在21世纪!

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

抱怨太天真了。

【答案3】他选择了奖励计划和10 分钟区块。他算了一下,结果是2100万。他没有选择2100万,他只是接受了他选择的参数带来的后果。

翻译:中本聪确立了10分钟、50个币、4年减半的原则,结果自然就来了。他没有选择,而是接受了自然的结果。

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

【答案4】人类历史上开采的所有黄金都可以装进每边大约21 米的立方体中。

中本聪创造了比特币,其想法是成为黄金的数字模拟(有限供应、采矿等),而且它建立在尼克萨博的“比特黄金”提案之上,所以我认为2100 万美元这是对这一点的巧妙认可。

翻译:世界上所有的黄金都熔化在一起,形成一个边长约为21米的立方体。中本聪用这个概念将比特币比喻为一种虚拟黄金。

原来阴谋论不只限于中国

【答案5】我本来想说: 中本聪喜欢玩维加斯二十一点。

翻译:我认为中本聪喜欢玩二十一点。

上帝玩骰子吗?

【答案6】计算机双精度浮点数最多可存储2^53个精度数。比特币的最小单位总精度是2^51,这已经足够了。 (英文太长就不贴了)

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

详细的:

比特币有争议的特性之一是其固定供应量。目前,每10 分钟就会产生25 个新比特币,并且这个数字每4 年减半。总体而言,比特币的数量不会超过2100 万个。另一方面,每个比特币可以分为1亿份(每份称为1个“聪”)。如果一分钱够买一辆车的话,用美元交易就会很麻烦,但即使比特币升值,在上面假设的美元情况下,我们也不会遇到这样的问题。

因此,总而言之,将存在的货币单位总数为2,100,000,000,000,000,即2100 万亿,即250.899。在选择这个值时,中本聪比大多数人意识到的更幸运或更聪明。首先,这个数字比264-1小得多,264-1是计算机可以以标准整数形式存储的最大整数。如果超过该值,该值将像里程表一样重置为零。

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

地球的质量为: 5.972 1024 千克

太阳的质量为: 1.989 1030 千克

光速: 2.998 108 m/s

一光年: 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 0 0000000,这与高精度序列形式)。在这种高精度形式中,系数(即不是指数的部分)有52 位。这意味着高精度(更准确地说,“双精度”)浮点数足以存储最多253 的数字,但不能更高,如果超过这个数字,则必须开始在末尾砍掉数字。比特币的“satoshis”总指数数为250.9,略低于这个最大值。

如果我们有整数,为什么我们要关心浮点值?因为更多的高级编程语言(例如)并没有开放低级的“浮点”和“整数表示”,而只是向程序员提供“数字”的概念,当然是以浮点形式提供的。如果中本聪选择的是2.1 亿而不是2100 万的值,那么用多种语言进行比特币编程就会比现在麻烦得多。

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

【答案7】这个解释很接近,但并不完全令人信服。 IEEE 双精度浮点格式具有53 位有效数字精度,这意味着它最多可以寻址253 1 satoshis,而不会产生任何舍入误差。好吧,那是9,007,199,254,740,991 聪,与2,100,000,000,000,000 聪(甚至2,099,999,997,690,000 聪,这是实际的渐近极限)相差甚远。

我认为一个更令人信服的解释是,一个有符号的32 位整数最多可以存储231 1 个值,即2,147,483,647。如果您假设采用小数精度两位小数的定点格式(这对于货币来说是典型的),那么一个有符号的32 位整数最多可以寻址21,474,836.47 个比特币,我们不妨四舍五入到2100 万。我的猜测是,中本聪在开发初期就从此处得出了2100 万的限制,后来意识到这不够足够的货币单位,因此扩展了小数位数

相关文章

手游排行榜

  • 最新排行
  • 最热排行
  • 评分最高