The Bitcoin supply is not capped at 21 million. It asymptotically approaches 21 million.

    My question is, suppose in the year 2150, after subsidies have ended, the value of BTC is so high that we need to add another decimal point. Would adding that decimal point unlock extra room to approach the 21 million number more and make subsidies resume for a while?

    Question for the pros
    byu/Squeiner inBitcoin



    Posted by Squeiner

    11 Comments

    1. Own_Hope_5929 on

      the precision has nothing to do with supply cap – adding decimals just lets you divide existing coins smaller, doesn’t create new bitcoin out of thin air

    2. 37853688544788 on

      No. The amount of corn and satoshis to exist is finite. That’s the whole idea.

    3. crunchyeyeball on

      1 bitcoin is 100,000,000 sats, and the subsidy is measured in sats, not bitcoin, so there aren’t really decimal places.

      It’s all calculated with integers, and the decimal representation is just for human convenience. The halving is literally just a right shift operation, so there are no fractions involved.

      Source code to confirm it can be seen at:

      https://github.com/bitcoin/bitcoin/blob/master/src/validation.cpp

      CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
      {
      int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
      // Force block reward to zero when right shift is undefined.
      if (halvings >= 64)
      return 0;

      CAmount nSubsidy = 50 * COIN;
      // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
      nSubsidy >>= halvings;
      return nSubsidy;
      }

    4. should-happen-2025 on

      Not a pro, but I’d say that adding a decimal point does not create more bitcoin, it simply make the existing ones (21 million) more divisible. Kinda get how that might seems like there are more btc though

    5. Blockchainauditor on

      Interesting question – if they change the protocol another decimal point and instead of being done in 2140 it is done later, what do you think are the ramifications? Do you think a mining reward at 1 billionth of a BTC is an incentive to help keep miners mining?

    6. No, once the block reward drops below 1 sat it rounds to zero and no more block rewards are issued. Adding another zero, it would still round to zero.

    7. They often feed dozens of starving kids by simply cutting a pizza into more slices. The more slices, the less children die of hunger.

    8. Your question is worded a little unclearly, which is why I think you’re only getting a few direct answers. I don’t think anyone has answered you clearly yet either.

      The last sat is mined around 2140. Even if you divided each sat into 1000 millisats, the last sat mined would still contain the last 1000 millisats. So, no, making sats divisible does not extend the miner subsidy period.

      Edit: To further clarify, there isn’t a 21M target. It’s just the halving calculation (5T sats for 210k blocks, then 2500M sats for 210k blocks etc) will reach approximately 21M.

      Hmm, actually I see more clearly what you’re asking now. There is a “floor” function in the code which would give us more millisats depending on when sats became more divisible. Let me run some numbers and get back to you 🙂

    Leave A Reply
    Share via
    Share via