回答是虽然不是一直发发发直到20999999.97690000个就直接停止那么简单粗暴(顺便,引用小数点后那么多位是因为比特币的划分单位为聪,就是中本聪的聪,1聪是0.00000001个比特币),但大体上就是这样。
比特币的产生方式是挖矿,也就是矿工通过解答加密学问题争夺记账权,完成记账的矿工将得到系统给予的比特币奖励。
格林尼治时间2009年1月3日18点15分05秒,中本聪挖出了比特币网络的第一个区块,也就是编号为0的创世区块。
从创世区块到第20999个区块为阶段1,在这个阶段里矿工每完成一个区块的记账,可以得到50个比特币的奖励,也就是比特币网络中每生成一个新区快,比特币的数量就增加50。
出于某些原因,中本聪认为比特币产生的速度应该递减。于是从第21000个区块(该区块产生于2012年)开始,称为阶段2,每生成一个新区块只增加25个比特币。
这样继续下去,每生成21000个区块,比特币就进入下一个阶段,每个新区块带来的新比特币数量减半。直到第33次减半时,每个块产生的新比特币从0.0021个直接减为0个。
这样算一下总共产生的比特币就是20999999.97690000个。
顺便说明一下。众所周知我们的智能设备的计算能力都是在不断上升中的——至少在摩尔定律大致还有效的现在,未来先不预测。因此为了避免挖矿变得过于容易,失去了对矿工的诚信筛选作用以及算力攻击问题,比特币挖矿的难度是逐渐增加的——具体涉及到hash算法,我们暂且略过。
具体来说每产生2016个区块,系统会根据产生这些区块的总时间,调整接下来2016个区块挖矿的难度,使得每个区块的产生时间维持在10分钟左右——当然是平均值。这样一来每产生21000个区块,也就是每一个阶段,大约是4年不到的样子。
好了接下来我们进入第二个问题,也就是,为什么是2100万?
中本聪本人并没有给出答案,这给了大家各种想象的空间,因此网络上众说纷纭。小编在这里摘录3个最有代表性的答案。
1.最无聊的答案
据推测中本聪很可能一开始并没有做那么宏大的顶层架构,而是和我们前面的顺序一样,先想好了每个区块要10分钟左右产生,一开始每个区块带来50个比特币,然后大约每4年减半,最后根据这些一算,嗯,将近2100万个。
是不是真的很无聊……
2.最可靠的答案
如果大家对电脑内部存储和二进制十六进制有一些概念,会知道一个32位整数,也就是FFFFFFFF可以存储的最大整数是2的32次方减1,又因为首位要用来显示符号,所以最大是2的31次方减1,也就是2100万多一些。为了能让比特币的数字能用一个带符号的32位整数表示,所以调整前面几个参数,最后得出了2100万个的结果。
3.最脑洞的答案
为了解释这个答案,小编要补充一点背景知识。
如果你听过上世纪七十年代末开始联播的英国BBCradio4系列广播剧《银河系漫游指南》或者看过它的大量衍生作品(好吧考虑到年代,中国读者应该只看过书或者电影),会记得里面有这么一段:
说某个超智慧文明终于造出了一部超级电脑DeepThought(深思)——按现在的说法应该叫超级AI。这个AI刚启动就宣布,我是宇宙所有时间里第二强大的电脑。于是这些智慧生物兴奋啊,就问了它,请告诉我们theAnswertoLife,theUniverseandEverything(生命、宇宙和一切的答案)吧。AI听了,思考了一会,回答说,这个问题太复杂,我需要用800万年才能计算出结果。
于是经过准备,AI进入了漫长的计算中,仿佛冬眠一般。智慧生物们一直等待着它,并准备了盛大的庆祝典礼来欢迎这个终极答案。当时间终于到来的时候,三个当年问问题的生物的后人带着紧张和兴奋来见AI,发现AI已经醒了。于是他们立刻问,答案是什么?
AI却奇怪地犹豫了一下,问,你们确定真的要知道答案吗?他们说,当然啊!于是AI叹了口气,说好吧,theAnswertoLife,theUniverseandEverythingis...42.
智慧生物们目瞪口呆。后续我们这里先不谈。这个经典的段落后来成为科幻史上的一个梗,曾经Google搜索有个彩蛋(大家还记得大明湖畔的Google吧),如果你搜索上面那段英文,Google就会告诉你,答案是42~
然后回到我们的正题,21million的21是什么?回答:是42的一半。