A new batch of previously private emails with Satoshi were published this past month by Sirius.
Sirius was one of the first volunteers to work with Satoshi in the early days of Bitcoin. These 260 emails span from May of 2009 (just 5 months after the launch of Bitcoin) to February of 2011. They're a digital-gold mine of early Bitcoin history. I highly recommend going through them if you're a Bitcoin history nerd like me.
One of these more interesting emails from Satoshi outlines his logic for Bitcoin supply numbers and the issuance schedule. It reads below:
This is some very nice color here on Satoshi's choice for 21 million bitcoin, with extra padding of 8 decimal places for satoshis. Interestingly enough, this "picking something in the middle" comment by Satoshi is also bang on in more ways than obvious. There are 8 decimal places with 21 million bitcoin, so 16 decimals total for the Bitcoin number system.
Put another way, there are 2.1 quadrillion satoshis total programmed in Bitcoin as we know it today.
But this was not always so…
In 2013 Ray Dillinger (aka Bear, aka Cryddit) posted a 2008 email copy to Bitcointalk, allegedly from Satoshi Nakamoto… The email apparently contained the source code of Bitcoin, from November 2008. Pre-dating the first release of Bitcoin v0.01 source code, released January 2009…
There are several significant changes when we compare this 2008 pre-alpha source code to the 2009 Bitcoin v0.1 source code. A big one being the genesis block hash. There is no "The Times" article headline, as this headline did not yet exist. A hash starting with "0x31" is used instead of "0x5f" (from the v0.01 "The Times" genesis block).
v0.1 source code in Black (top) Cryddit Pre-alpha release source code in Grey (bottom)
Furthermore, the block reward was not 50.00,000,000 bitcoin.satoshis BUT 10,000.0000 bitcoin.satoshis. This didn't mean a supply of 21 million bitcoin or 2.1 quadrillion satoshis...
BUT 1.99 billion bitcoin or 19.9 trillion satoshis TOTAL!
The lines of code in the pre-alpha 2008 source that define the supply and more are above
Confirmed by MrRGnome from the Bitcoin Discord
Furthermore, the halving was scheduled for every 100,000 blocks, instead of 210,000 blocks. The block time target was aimed at 15 minutes, instead of 10 minutes too. This implied a halving every 34 months, or 2.85 years… not every four years.
And confirmed by some other Bitcoin developers I've never heard of /s
There would have also been 27 epochs, instead of the 33 currently. This would mean the last bitcoin would have been issued in 2086 instead of 2140. In addition, the difficulty adjustment was also targeted at every month, instead of every two weeks.
But wait, you ask, how can there be more bitcoin in this first draft, but less satoshis too? Answer: notice the decimal place difference here. In this pre-alpha of Bitcoin (2008), only four decimal places for satoshis are proposed, instead of the eight seen in v0.1 (2009). And the coinbase reward was also significantly larger at 10,000 bitcoin per block, instead of just 50.
Thus there were ten decimals to express the Bitcoin supply. Resulting in 14 decimal places for the number system of this draft pre-alpha code (2008). Not the 16 decimals we enjoy currently from v0.1 (2009).
This interpretation may line up with Dillinger's testimony given in an interview, where he explains "We talked a lot (Dillinger and Satoshi) about how much divisibility bitcoins ought to have; whether to make 'satoshis' an order of magnitude bigger just to have three more bits of cushion against rounding errors, or keep them near the limit of precision at 10e-8 bitcoins in order to ensure that rounding errors would always fail."
But is Dillinger (aka "Bear", aka Cryddit) a trustworthy source for all of this early history? Greg Maxwell isn't so sure:
nullc is Greg Maxwell's reddit account. Greg is a notorious Bitcoin Developer-OG. "Maxwell" may be where vitalick coined the term "Bitcoin Maxi"
To an extent, I agree with nullc here. But, I reviewed Dillinger's interview, his BitcoinTalk, and his November 6th 2008 email with Satoshi on the cryptography mailing list. I have not found inconsistency with his testimony. Thus, I believe Dillinger can be both a misinformed shitcoiner and an early good faith participant in Bitcoin history.
With that said, we can never really know if this November 2008 source code is really from Satoshi or not, or unmodified. We should always take what anyone says about this time period with a huge grain of salt. We are assuming good faith, honest and accurate testimony here. Those are big assumptions in a space full of scammers and con artists claiming to be Satoshi.
But, in support of Dillinger's testimony, there is email evidence from Satoshi himself, suggesting he had code ready for review that he was willing to share in November of 2008.
To James A. Donald, Satoshi wrote on November 17th 2008
"I sent you the main files. (available by request at the moment, full release soon)"
James A. Donald was the first person to reply to Satoshi's Whitepaper email on the Cryptography Mailing List.
So we have confirmation by Satoshi that there was Bitcoin source code in existence at this time, and he was willing to share this with people who asked. Add to that, Dillinger was part of the Bitcoin conversation on this mailing list at this time. All supporting evidence for Dillinger's testimony.
Lastly, the founder of RSK on BitcoinTalk also asserted he had a copy of this same 2008 source code. But he never confirmed this with more evidence than just the above comment.
So what's my main takeaway from this rabbit-hole of Bitcoin history, Alice? For me, these numbers are fun to play with, to know how Satoshi was thinking at this early stage of Bitcoin's design. Exploring what could have been for Bitcoin in its genesis is a fun thought experiment. Satoshi was clearly smart for what was mostly a one man job, but he probably had help early on with code review.
On another note: with the selection of a 10,000 bitcoin base reward; a 10,000 CENT variable to express satoshi units; a 100,000 block epoch for halvings; a 1 month difficulty retarget (can you see the theme here? 1, 1, 1, 1); the ugliness of the 10 decimal places for Bitcoin and only 4 decimal places for satoshis; all point to one thing…
This 2008 source code was a rough draft.
These were temporary numbers and parameters, inputted as place holders for future refinement. They were not serious final draft considerations. This source code was a work in progress during Bitcoin's inception.
We could of had 2 billion bitcoin and not enough satoshis to go around. Ghastly. So thank god Satoshi settled on 21 million bitcoin, with 8 decimal places on both sides of the dot.
Addendum:
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."
Check out the Bitcoin Discord server to talk to Gnome https://discord.gg/bitcoin-discord-782749290219962370
If you like this kind of content consider subscribing to BITCOIN YouTube or following us on Twitter and NOSTR. If you're feeling extra generous, check out our Geyser crowdfund campaign for a Bitcoin History series.