So I'm doing some research into this Bitcoin code that apparently pre-dates the first release of Bitcoin v0.01 https://bitcointalk.org/index.php?topic=382374.0

There's a lot of differences in this code when compared to v0.01 , But I'm mainly interested in the supply of Bitcoin implied/outlined in this apparent first/early draft code of Bitcoin.

I've tracked down two parameters that imply the supply would either have been 20 Trillion Satoshi’s TOTAL (2 Billion Bitcoin)


It would have been just 2 Billion Bitcoin units TOTAL, with NO decimals/sub-bitcoin satoshi units, because of coding semantics?

So I'm here for a second opinion from the experts!

Hopefully I can express this well and my math is correct:

"The second big coding difference is that the initial block reward is not 50.00000000 Bitcoin BUT 10000.0000 Bitcoin(?). This doesn’t imply a total supply of 2.1 Qudrillion Satoshis (21 Million Bitcoin), BUT 20 Trillion Satoshi’s TOTAL instead (2 Billion Bitcoin)!

Notice the decimal place difference here too. In Satoshi’s first draft of Bitcoin, he envisioned there being only four decimal places, instead of eight. But the coinbase reward was also significantly larger at 10000 Bitcoin per block, instead of 50.

Furthermore, the halving was scheduled for every 100000 blocks, instead of 210000 blocks. The block time target was aimed at 15 minutes instead of 10 minutes too. This implied a halving of approximately every 34 months, or 2.85 years. Not every four years."

enter image description here

The above two code sections seem to be relevant here. But notice the first only has a value of 10000. While this section of code in v0.01 is 50*COIN where COIN is 100 million units.

Does this then imply that there were no decimal place/satoshi units in this first draft of Bitcoin, because there is no " * COIN " or " * CENT " on top of the 10000 base reward?

the second line of code where we have " 10000 * CENT " (where CENT also = 10000) implies a number system of 10000.0000 units. BUT, since this is missing from the first picture of code, are there even any satoshi/decimal units here effectively?

Thank you for your consideration and insights into this code!

1 Answer 1


detailed write up on this question and answer here: https://stacker.news/items/458544/r/BITC0IN

boils down to:

One fun nuance of C++ code is that integers are truncated when used as Satoshi did. This ends up somewhat reducing the total supply of Bitcoin in this 2008 code, from what looks like 2 billion bitcoin at first.

The result of this truncation on supply is a very specific total: 19,999,898,800,000 satoshis or 1,999,989,880 Bitcoin. Thanks to MrRGnome for pointing this out: "it's possible Satoshi didn't even realize this rounding was happening."

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.