As Artefact2 mentioned, Bitcoin uses fixed-point math to calculate the block subsidies. So, ignoring the unspendable genesis block, the sundry lost coins and unclaimed rewards, the maximum number of bitcoins is 20999999.9769 BTC.
I found that number through the following python program:
COIN = 100 * 1000 * 1000
nSubsidy = 50 * COIN
nHeight = 0
total = 0
while nSubsidy != 0:
nSubsidy = 50 * COIN
nSubsidy >>= nHeight / 210000
nHeight += 1
total += nSubsidy
print total / float(COIN)
It's intended to mirror this code from the Bitcoin client:
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years
nSubsidy >>= (nHeight / 210000);
return nSubsidy + nFees;
}
Of course, it only differs from 21 million BTC by only 3 bitcents, so the difference isn't significant.
0 Comments:
Post a Comment
<< Home