On the other hand the limit set by MAX_MONEY is very close to what will be available in circulation while 10,000 is far from 123 years or 130 years.
Well, remember that MAX_MONEY is NOT defined as 21000000.
It is defined as 21000000 * COIN
Since COIN is defined as 100000000, that makes MAX_MONEY = 2100000000000000.
The actual number of integer units that will be created is less than 2099999997690000.
This means that MAX_MONEY is off by 2310000 (2.31 million!).
Apparently I didnt think this through, ofc with Satoshi in mind the difference is huge.
-snip-
This would be a forking change. Not only would "old" clients not know how to handle 0.1 satoshi, but to end up with a different total, you'd have to change the defined value of COIN or in some other way alter the size of nSubsidy. All of the block rewards would have to become a larger number of integer units and you'd have to interpret transactions in the blockchain differently depending on whether they occurred before or after the block where the new definition was first accepted.
Having a larger integer type while still storing the exact same integer in it wouldn't change the total amount of bitcoins created.
Well a larger type alone would result in plenty wasted (disk/blockchain/memory) space
Without a complete restart (and thus the creation of an altcoin) this would certainly result in a very messy protocol. It sounds like the kind of change where you make a little mistake and someone exploits it to actually double the amount of bitcoin is his/her wallet.
Somewhat related: I just found BIP42 [1] and the pull request [2] for it. Love it.
Although it is widely believed that Satoshi was an inflation-hating goldbug he never said this, and in fact programmed Bitcoin's money supply to grow indefinitely, forever. He modeled the monetary supply as 4 gold mines being discovered per mibillenium (1024 years), with equal intervals between them, each one being depleted over the course of 140 years.
aceat64 commented on 2 Apr
This is clearly a bug and one serious enough that I believe if we do not fix it in a timely manner it could destroy confidence in the Bitcoin network.
gmaxwell commented on 2 Apr
Timely manner? ... Well I'm absolutely confident that it will be fixed sometime in the hundreds of years required before it matters.
aceat64 commented on 2 Apr
The longer we delay, the more likely it is that a miner alive today could live until this bug occurs. This gives them a greater incentive to not implement the fix. This is particularly true for any toddlers or infants in charge of sizeable farms.
[1]
https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki[2]
https://github.com/bitcoin/bitcoin/pull/3842