Yes, you heard it right.
Because of a quick in C++, the code that enforces the halvings did not work as intended. After the last halving, the cycle of halvings would have restarted resulting in more than 21M bitcoins.
We do think this was not Satoshis original intent and in 2014 this was fixed with BIP42. https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki
Funny enough the BIP was released on the 1st of April and its definitely the most jokish BIP ever written.
BIP42 is not where the 21 million supply comes from. If you read any document about Bitcoin's early history the 21 million limit is almost universally mentioned. I guess there are many people these days that didn't know Bitcoin before 2014, but it wasn't that long ago. It seems completely unrealistic to think the Bitcoin ecosystem would ever have accepted such a dramatic change in its economic policy. Having the policy being fixed in stone and beyond influence of a central bank - or anyone - is one of Bitcoin's primary selling points.
Furthermore, BIP42 doesn't even claim that it is the origin of the 21 million limit. It claims (jokingly) that Bitcoin was designed to look like it had a 21 million limit, but through underhanded programming didn't actually do that.
The reality is that ever since the January 2009 release of the software, the 21 million limit was there, coded in by Satoshi. In March 2014, "ditto-b" on Github noticed a bug in the implementation in Bitcoin Core (and not in other software), that would result to start another cycle of 21 million bitcoins to be issued 250 years in the future. We took advantage of that situation to write an April's Fools BIP that proposed his fix as an actual consensus rule change (which was correct), but also incorrectly misrepresented reality as that bug being intentional.
reply
What a neat little tidbit of info! Thanks for the BIP link, that shit's hilarious 😂
reply
reply
The "MAX_MONEY" constant in Bitcoin's code represents a sanity check limit, not an exact hard-coded cap on the total supply of bitcoins. Here are the key points:
  • The MAX_MONEY constant is set to 21,000,000 * COIN (where COIN = 100,000,000 satoshis), which equals 2,099,999,997,690,000 satoshis or approximately 20,999,999.9769 BTC.[1][2]
  • This constant is used as a sanity check in consensus validation code to prevent integer overflows or other errors that could create bitcoins out of thin air.[1][2]
  • However, the actual maximum supply of bitcoins is determined by the mining subsidy schedule defined in the GetBlockSubsidy() function, which halves the block reward roughly every 4 years.[3]
  • Summing up all the mining rewards over time until the last halving (around 33 halvings) results in a total supply of approximately 20,999,999.9769 BTC, slightly less than the MAX_MONEY constant.[1][3]
  • So while MAX_MONEY is an important sanity check, it is not the exact rule that caps Bitcoin's supply. The mining subsidy schedule is what effectively determines the maximum supply over time.[1][3]
In essence, the MAX_MONEY constant provides an upper bound for validation purposes, while the precise maximum supply emerges from the diminishing block reward schedule hardcoded into Bitcoin's protocol rules.[1][2][3]
Sources [1] Bitcoin Optech Newsletter #270 https://bitcoinops.org/en/newsletters/2023/09/27/ [2] Where is the bitcoin source code is the 21 million hard cap stated? https://bitcoin.stackexchange.com/questions/119475/where-is-the-bitcoin-source-code-is-the-21-million-hard-cap-stated [3] Total coin supply, how it works, and what the code means? https://stackoverflow.com/questions/47876960/total-coin-supply-how-it-works-and-what-the-code-means [4] The 21 Million Bitcoin Myth: Understanding the Code Behind It https://blog.bitwage.com/21-million-bitcoin-myth/ [5] Technical question about Bitcoin code regarding fixed supply of 21 ... https://www.reddit.com/r/Bitcoin/comments/gcmws5/technical_question_about_bitcoin_code_regarding/?rdt=36630
reply
Why use the term "42 Halfmillion"?
reply
deleted by author
reply
I just turned to my 17 year old "Did you know Bitcoin Core did not initially have a 21M cap limit?". Straight off the bat he said "I did, yeah, I remember reading about that" What a geek LOL Makes me proud XD Thanks for the links, I'm sending them onto him.
reply
In the whitepaper
  1. Incentive ...Once a predetermined number of coins have entered circulation, the incentive can transition entirely to transaction fees and be completely inflation free.
reply
So basically Pieter Wuille the author of BIP-0042 didn't properly understand Satoshi's intent. And wrote that BIP in 2014.
I think the line I copy pasted from the whitepaper, make it clear that Satoshi did propose that that in the whitepaper.
reply
702 sats \ 1 reply \ @denzel 12 Jan
Ah! I didn't read the 1st of April joke part.
Apparently I always feel other people don't read and it is actually me who does not read.
reply
We know for a fact Satoshis wanted 21m, and this was a bug. Even though "Satoshi wanted" arguments are irrelevant.
Even though the BIP has a jokeish tone, it really was merged and is in Bitcoin Core.
reply
After the last halving
Glad they caught it in time. That was close!
reply
:))))
Btw in the conversation for fixing this, Peter Todd, is like I think we should think about 250 years more, which is not that crazy.
reply
deleted by author
reply
I never claimed Bitcoin did not have a limit, I said Bitcon Core, which is a specific implementation that had this bug.
I do remember at some point some people were making some theories what if this was on purpose bla bla, but no serious person really considered that.
reply
10 minutes per block: 21000000 / (50 BTC * 24hrs * 365days * 4years * 2) = 5.99 blocks/hour
reply
Sorry, I misread that sentence. Fixed.
reply