3

In this Bloomberg video: Gold for Nerds , they ask

How is the limitation of 21 million Bitcoins enforced?

Though I am very familiar with the technical reasons why and how it's done I haven't seen an explanation suitable for a non-techie.

Question

In the simplest way possible

  • Can someone describe what is the Ecludian Constraint is?

  • Can someone explain the enforcement of the 21 Million limitation like I'm Tom Keene?

4

The simple answer is that there is a constraint on the total number of coins that will be generated.

In economy the fact that the supply of newly minted coins is either constraint by a constant rate at which they enter the market or, like in Bitcoin's case, even that the total number that will ever be in circulation be limited.

Due to how the amount of newly issued coins in the Bitcoin network is reduced over time the total number of coins ever issued will converge to 21million. Every 210'000 blocks (or 3.993 Years in expectation) the number of new bitcoins that are issued in the network is halved. The result is that we have a sum of a geometric series, with each step being multiplied by 1/2.

Hence in the first step 50 * 210'000 = 10'500'000 coins were issued, in the current step half of that will be issued: 25 * 210'000 = 5'250'000 coins and so on. The sum of a geometric series that halves at each step is exactly twice the first step, hence 2* 50 * 210'000 = 21'000'000. This was also discovered by Euclid, hence the name.

Notice that this is an infinite sum that converges to an upper limit. Due to rounding involved in the protocol the sum will eventually end and no new coins will be generated.

These numbers were chosen by Satoshi in his original proof-of-concept client and have not changed since. At some point the values would have had to be chosen anyway and his approach of choosing easy to remember numbers are just as good as any (210'000 ~= 4 years, 50 bitcoins / block initially so in total it would be 100 * 4 years => 21'000'000 bitcoins).

That is not to say that nobody ever criticized the numbers and constraints. Several early ideas were put out there and sometimes even implemented that changed key parts of what parameters are chosen, be it Litecoin that uses inter-block timings of 2.5 minutes instead of 10 minutes, or some schemes that instead of relying on a limited total number of coins ever generated preferred to constrain the rate at which coins are generated. Fact is that the Bitcoin network still is the biggest of them, and only future will show whether the choices are right.

As for the enforcement of the constraint that's a bit more complex. You see when you join the Bitcoin network you implicitly accept the underlying rules the Network works with. This includes among other things the parameters Satoshi chose. So if you misbehave, e.g., by creating a block that gives you a larger amount of coins than is agreed on, the rest of the network will not accept that and ignore your claim. In a certain way all users in the Bitcoin network reached a consensus about what is and what is not valid. Any change to the inner workings of the network would require a majority of the stakeholders to reach a new consensus about whether to accept the change. If you do not follow the decision of the majority you will create a fork and live on that. If more people agree with you they might join your network, and some alternative chains might even be able to survive for some time. So the constraint is basically enforced by the majority of the users (or their computational power share in the network).

  • 1
    I think that he understood the technical part, it's the reasoning behind it that needs answering. – Eyal Apr 10 '13 at 17:23
  • Ok, added how the constraint is enforced and how the parameters were chosen in the first place :-) – cdecker Apr 10 '13 at 17:40
  • 2
    This is too wordy of a response to be given to Tom Keen on live TV. – random65537 Apr 10 '13 at 18:49
3

I think that the "Euclidean Constraint" just refers to the hard limit of 21million. It's a line on a graph to which the number of bitcoins approaches but never reaches.

One of the problems with fiat currency is knowing how much to print.

If you don't print any then, over time, the currency is bound to get more and more valuable. That's because we are constant creating wealth: Buy flour and water for $1 and sell bread for $2. Or if you like a scientific explanation: The sun is casting energy on the Earth and we can use that energy to arrange things. The sun's entropy decreases and ours increases, so the value of everything on the Earth increases. But the number of bitcoins stays constant, so it's value will keep going up. It will buy more bread tomorrow than it does today.

If you print too much, you get inflation. The market is flooded with currency, its value goes down, and everyone tries to spend it as fast as they can because they're holding on to currency that's worth less tomorrow than today. The rich lose money and those in debt get out of debt.

Governments aim for moderate inflation but there are those that think that they've gone overboard. I think that bitcoin is the backlash to that.

  • 1
    So that explains part of the question, (it's a bit too long though). How is this limitation enforced? – random65537 Apr 11 '13 at 11:52
2

It is an arbitrary decision made at the initial creation of the currency and is hard coded (literally) into the software. If there is a disagreement on the validity of the number of coins created, it is ignored by most clients. The agreement is a core part of the network and won't be modified in the near future because it can't be without the agreement of 51% of the nodes.

  • 1
    This is one of the better examples that explains "how is it enforced" but it seems incomplete. The software is published by bit coin.org and controlled by a few developers, some anonymous.... more details like this is needed.... but worded in a factual way – random65537 Apr 11 '13 at 11:54
  • I am still new at this - ideas on how to make it more factual are welcome. Even though the software is published and open, if it is replaced, it must be done en masse. While there are techniques one can use to get the software to switch all at once (API proxies built in to the listeners of the nodes that syn-ack the version numbers), I don't believe this is in the current version of the software. – Ben Apr 11 '13 at 16:18
2

In layman terms:

  1. The 21M limit is programmed into all Bitcoin software
  2. The number is arbitrary. It could have been 42 million, or 84 million, or 100 million, or any other number.
  3. Now the number cannot be changed. If you changed your version of Bitcoin to follow a different limit, you would be creating a new currency. Example: Litecoin has a 84M limit.

To break it down: it's 50 coins per block for the first 210,000 blocks, 25 coins per block for the next 210,000, 12.5 coins for the next, and so on, until it reaches 0 by the year 2140.

  • Yes, but how is it enforced? (in layman terms). In the video it's very clear that Tom Keene understands the arbitrary scarcity of a resource and that may create value. He is looking for an easy to understand guarantee of this fact. – random65537 Apr 11 '13 at 11:50
  • @makerofthings7 If you make an alternative version of Bitcoin with a different limit, my version of Bitcoin will simply refuse to communicate with yours. It's that simple. So it's a little bit like language: you could create your own dialect of English, which only you (perhaps a few friends) would understand, but then you couldn't use it to communicate with everyone else. It's not really "enforced" in the strictest sense. – Manish Apr 11 '13 at 16:48
1

If someone tries to pay you in cash, you run some basic validity tests on the cash before you accept it as payment. If the bills are just blank pieces of paper, you don't accept them. If they say "ten dollars" in magic marker on white paper, you don't accept them.

Bitcoins past 21 million are obviously not valid currency because that's what the rules say. So nobody will consider them payment. Because Bitcoins are basically just numbers, it's effectively impossible to counterfeit them. There's no way to make one number look like another number. And, of course, if you copy a Bitcoin, it's just another copy of the same Bitcoin, not another Bitcoin.

0

The 21 Million limitation is enforced by each person who runs a copy of the full Bitcoin-QT client, and also by Bitcoin miners that secure the network.

The developers of the Bitcoin-QT client (available at www.Bitcoin.org) publish updates that may or may not be adopted by the users of the system which consist of:

  • Miners and Mining Pools

  • Bitcoin-QT software that verify the whole chain.

  • Hosted wallets (which likely use the Bitcoin-QT client behind the scenes)

There have been updates to the Bitcoin protocol in the past and the outcome was determined by "voting" based on Miner hashpower.

In theory, future changes could be voted on based on how many coins you own, also known as Proof of Stake.

In summary, changing the 21 Million limit is difficult, and requires extensive coordination so that it doesn't undermine the utility of Bitcoin. I see it as unlikely that it would ever change.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.