為什麼是2100萬個比特幣?


準確數字不是2100w,是20999999.9769個BTC。

比特幣的最小單位是聰,1BTC=100,000,000聰。

關於比特幣單位問題,請參看這裡:比特幣區塊鏈中的秘密

比特幣的設計是每個區塊獎勵50BTC,每21w個區塊減半一次,因為1聰是最小單位,當減半到比1聰小時,便沒有區塊獎勵了。

按這個規則算一下,就是20999999.9769個BTC。

為了方便小白理解,我用C寫了個計算總數的程序,應該不難理解。

int main(int argc, char * argv[]) {
const long halve = 210000;
const long satoshi = 100000000;

long total = 0;
long reward = 50 * satoshi;

do{
for(int i=0;i&

可能有的小夥伴不熟悉C語言,我還是用公式來解釋下吧。

frac{sum_{i=0}^{32}{210000} lfloor frac{50cdot 10^{8}}{2^{i}} 
floor }{100000000}


中本聰當年想的是自己的國家一人一個比特幣,一共2100萬個。

哪個國家的人口恰好是2100萬左右呢?09年的時候澳大利亞差不多是這個數。

綜合判斷:中本聰極有可能是澳大利亞人。


因為設計成42個比特幣不好,所以是2100萬個。


建議大家都不要回答。

不論題主是不願意還是沒能力靠自己搞清楚這個問題,他都不適合參與跟比特幣相關的一切金錢活動。

我這是為你好,不用謝



創世塊50btc獎勵,每210000塊(大約四年)減半,獎勵分到一聰時就分不了了(因為一聰為最小單位),這時比特幣總量達到了近似於2100萬個(比特幣簡單原理可以看我的文章)。

至於為什麼50個btc獎勵,又為什麼四年減半,中本聰在回答里一筆帶過,所以只有中本聰知道了。但為什麼一比特幣等於一億聰,這個問題可以在以下兩篇回答中找到答案。

這是中本聰回復某比特幣愛好者的私信

*My choice for the number of coins and distribution schedule was an educated guess. It was a difficult choice, because once the network is going it"s locked in and we"re stuck with it. I wanted to pick something that would make prices similar to existing currencies, but without knowing the future, that"s very hard. I ended up picking something in the middle. If Bitcoin remains a small niche, it"ll be worth less per unit than existing currencies. If you imagine it being used for some fraction of world commerce, then there"s only going to be 21 million coins for the whole world, so it would be worth much more per unit. Values are 64-bit integers with 8 decimal places, so 1 coin is represented internally as 100000000. There"s plenty of granularity if typical prices become small. For example, if 0.001 is worth 1 Euro, then it might be easier to change where the decimal point is displayed, so if you had 1 Bitcoin it"s now displayed as 1000, and 0.001 is displayed as 1.*

我稍微翻譯下。

我對比特幣數量和分發時間表的選擇是一個有根據的推測。這是一個很難的選擇,因為一旦比特幣網路運行,它就被鎖定,我們將很難修改它。我想選擇一個與現有貨幣相似的價格,但是因為無法預測未來,這非常非常難。我最終在中間選擇了一些東西。如果比特幣始終在一個小圈子裡流行,那麼它的每單位價值將比現有貨幣價值要小,但如果你想像一下它被用於世界貿易,而總量只有2100萬枚,那麼它的每單位價值將遠遠大於現有貨幣。值是具有8位小數的64位整數,所以1個硬幣在內部表示為100000000(聰)。如果典型的價格變小,這裡就有很大的粒度。舉個例子,如果0.001價值一歐元,那麼更改小數點就會更容易,交易如果你之前有1比特幣,那麼現在會顯示為1000比特幣,0.001就會顯示為1比特幣。(意思就是更換比特幣基礎單位使得比特幣的值對法幣的值更直觀)


這是Ray Dillinger在bitcointalk論壇的回復

Finney, Satoshi, and I discussed how divisible a Bitcoin ought to be. Satoshi had already more or less decided on a 50-coin per block payout with halving every so often to add up to a 21M coin supply. Finney made the point that people should never need any currency division smaller than a US penny, and then somebody (I forget who) consulted some oracle somewhere like maybe Wikipedia and figured out what the entire world"s M1 money supply at that time was.

We debated for a while about which measure of money Bitcoin most closely approximated; but M2, M3, and so on are all for debt-based currencies, so I agreed with Finney that M1 was probably the best measure.

21Million, times 10^8 subdivisions, meant that even if the whole word"s money supply were replaced by the 21 million bitcoins the smallest unit (we weren"t calling them Satoshis yet) would still be worth a bit less than a penny, so no matter what happened -- even if the entire economy of planet earth were measured in Bitcoin -- it would never inconvenience people by being too large a unit for convenience.

原鏈接: https://bitcointalk.org/index.php?topic=819656.msg9170781#msg9170781

我稍微翻譯下

我實際上記得這次討論。

芬尼,中本聰和我在討論如何分割比特幣。中本聰已經


10分鐘50個,每4年減半,這三個數大概就是拍腦袋想出來的


我老闆叫我不要想這個問題了,就隨便想的一個數字。有這時間不如多研究下更高級的搬磚演算法,不說了搬磚去了,。。


兩千一百萬是中國人的叫法,西方叫21百萬。Wei Dai說不管三七二十一,干。


設計成1100W個,你又會問為什麼是1100W個,那他總得有個數量吧


sum_{i=0}^{infty}{50	imesfrac{1}{2^i}}	imesfrac{4	imes365	imes24	imes6	imes10mins}{10 mins}=21,024,000

1.50,4,10mins是參數,Satoshi Nakamoto定的

2.分裂界限 infty 自行按規定修改


10分鐘

50個

4年

1半

21000000枚


可以說這是個巧合:10分鐘、50幣、4年減半。

但也有人說2100是有典故的:All gold mined in human history can be fit into a cube roughly 21 meters on each side. Satoshi created bitcoin with the idea of being sort of a digital analog of gold (finite supply, mining, etc), as well as the fact that it built upon Nick Szabos 「Bit Gold」 proposal, so I think that 21 million was sort of a clever nod to that.


全世界人口按照70億計算,平均按照每人需要30萬個單位貨幣就可以完成各種經濟活動(注意是平均來算,有人貧窮有人富有,以中國為例2015年中國家庭平均資產91萬元,按照一家平均3口人,人均就是30萬人民幣),70億*30萬=2100萬億。

而2100個比特幣恰恰就是2100萬億聰。

註:1btc=100000000聰,即1億聰~

有沒有感覺這是一盤很大的棋~

至於技術上如何做到這一點,去看源代碼里有個類似總量設置的參數。

比特幣官方端的源代碼文件第998行附近是這樣注釋的:

int64_t nSubsidy = 50*COIN;

//Subsidy is cut in half every 210,000 blocks which will occour approximately every 4 years.

這段話的意思是從第4年生產block的數量大致為210000個。而每個區塊對應產生的比特幣從最初的一個block產生50個比特幣,每4年減半。總量就是等比數列求和,簡化為210000*50*(1-0)/(1-1/2)=21,000,000,也就是2100萬個,要是想修改總量只要修改公式里的那個50即可。不過需要51%以上的礦機都認可才行。


確定不是因為int 的上限不是 21億?

估計 去掉兩個0 就是了。


我覺得中本聰可能是要找一個與日期時間相近的數字吧?2100萬,2140年。


因為我當初就做了2100萬枚 一個不多 一個不少


數量越少越易被大戶操弄、發明時(2009)電腦和網路都是龜速,就算現時的網路,八九分鐘才完成交易、同步要幾天時間,這流通性永遠也不可能取代法幣


我當初是做了2048萬枚,手一抖四捨五入成2100萬枚。


推薦閱讀:

將自己已發表的論文改寫(但主要內容不變)後發表到另外的期刊上是否屬於一稿多投、是否符合學術規範?
12919,23414,43931,(?)?
兩道看似簡單的代數題,知乎大神有什麼看法?
為什麼說張量積和 Hom 函子是對偶的?
求GLn(Fp)的sylow p-子群個數!?

TAG:數學 | 比特幣Bitcoin |