Pages:
Author

Topic: Is the 21 million bitcoin limit unchangeable? (Read 15393 times)

newbie
Activity: 46
Merit: 0
When 21 million is reached the bitcoin community might reach the conclusion that inflation is needed and invent InflationCoin.

Inflation is needed mainly because of these simple reasons:
1) a significant percentage of bitcoins will be lost because of crashed harddrives, lost passwords, lost wallets and so on... maybe 1-2% per year?
2) The human psychology likes growth - it is not a coincidence that central banks have a inflation target of 2%. That gives the population the illusion of a growing economy since your salary, your house and your stocks go up in price. People are happier in a low inflation economy than in a deflation economy. The small inflation will also inspire the population to invest their savings in an attempt to beat the inflation – that makes the economy grow.

So in conclusion bitcoin needs an inflation of 4% to adjust to a growing economy.

The main difference between InflationCoin and Federal Reserve fiat dollar is that InflationCoin cannot print more than 4% per year to bail-out banks, finance budget deficits, finance wars and so on...

1) Assuming 2% loss per year, the number of bitcoins remaining at year x is BTCremain(x)=0.98x.  Note that this value never reaches zero.*
2) I've never seen any documentation of this.  The people that get that 2% per year before it becomes inflation certainly do like it.  I've had a $100 bill in my wallet for a couple of years now.  Do you really think that I like that it can't buy as much as it could when I bought it?  The bitcoins I picked up in 2011 can buy a lot more than than they did back then.  How do you think I feel about that?

You can hardly swing a cat on these forums without hitting people that share my view on the matter.

* You actually need a bit of calculus to think that it can.  The limit as x approaches infinity is indeed zero.  But since x is time, we'll have bigger problems long before it approaches infinity.

You should take courses in Macro economy to understand more about inflation. Why do you think the central bank of Japan (BoJ) has fighted deflation for more than 2 decades?
Deflation is bad for the economy! If your 100$ bill would be worth more each year you would postpone your consumption and the economy would shrink each year (which is case in deflationary economies such as Japan).

You can see the contradiction in this argument. The theory assumes the economy will only ever grow (this creates deflation), then it says because of deflation the economy will shrink (yet there is somehow still more deflation). If deflation is caused by a finite currency and a growing economy, wouldn't a shrinking economy create inflation?

But that's all pure theory. If I look at historic examples on wikipedia there is evidence deflation worked very well in the 19th century. There are examples of deflation being harmful, but to me they don't seem convincing (maybe you can convince me).
newbie
Activity: 16
Merit: 0
You should take courses in Macro economy to understand more about inflation. Why do you think the central bank of Japan (BoJ) has fighted deflation for more than 2 decades?
Deflation is bad for the economy! If your 100$ bill would be worth more each year you would postpone your consumption and the economy would shrink each year (which is case in deflationary economies such as Japan).

And maybe you should read some of the thousands of posts in hundreds of threads discussing this idea.  We aren't ignorant of the nonsense ideas to be found in books with "macroeconomics" printed on their covers, we actively reject them.

There really are hundreds of threads on inflation vs. deflation, and you've added nothing of substance to the discussion.

I know that some bitcoin enthusiasts prefer bitcoin over FIAT-currencies since it cannot be printed when 21 million is reached vs fiat currencies such as the Zimbabwe Dollar...

But you hate inflation on wrong reasons - the fiat inflation of fiat is bad because we cannot predict politicians or central bank behaviour. Bitcoin algorithm is the opposite, it is predictable and I dont see any problem with an built-in inflation of X % per annum for infinity, therefore inflation in cryptocurrencies is nothing bad. It prevents hording.
And it encourages spending bitcoin so that the bitcoin economy can grow!

Bitcoin was designed the way it was quite deliberately. The intelligent fellow (or fellows) who dreamt up and implemented the brilliant idea that is Bitcoin didn't want it to be inflationary. You may be correct that an inflationary cryptocurrency would work better than Bitcoin, but that doesn't change the fact that Bitcoin is not an inflationary cryptocurrency. In other words, rally support to your idea and create your own cryptocurrency. Maybe call it "FriedmanCoin". Then we can see empirically which one does better. My bet is still on Bitcoin.
legendary
Activity: 1246
Merit: 1077
What people don't realize is that Bitcoin only deflates if the economy is growing. "Lost coins" produce a demurrage effect, which is cancelled out by deflation. If the economy is shrinking, Bitcoin will actually inflate—maybe not in price, but effectively so.

The 2% lost coins every year is equivalent to a 98% expected value of Bitcoins after one year. This is effectively demurrage; people will not hoard the coins unless the economy is growing and profits are decreasing.
kjj
legendary
Activity: 1302
Merit: 1026
I know that some bitcoin enthusiasts prefer bitcoin over FIAT-currencies since it cannot be printed when 21 million is reached vs fiat currencies such as the Zimbabwe Dollar...

But you hate inflation on wrong reasons - the fiat inflation of fiat is bad because we cannot predict politicians or central bank behaviour. Bitcoin algorithm is the opposite, it is predictable and I dont see any problem with an built-in inflation of X % per annum for infinity, therefore inflation in cryptocurrencies is nothing bad. It prevents hording.
And it encourages spending bitcoin so that the bitcoin economy can grow!

No, no, no.  It isn't unpredictability that we dislike, it is inflation.  Once again, you are making straw men and fighting with them.  To talk of saving (hoarding) as a vice and consumption (spending) as a virtue is totally backwards from the way that most of us view things.

I'll summarize, but you really should be searching and reading.  Once again, there are literally hundreds of threads on this topic.

Deflation is the natural result of improvement.  When someone builds a machine to make a task easier, that task should get cheaper.  That is, it should take less value, regardless of the form of value, to do.  At best, inflation is capable of obfuscating this truth from us, making it harder for us to make good decisions, and at worst, it transfers our saved value to others (also known as theft).
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
You should take courses in Macro economy to understand more about inflation. Why do you think the central bank of Japan (BoJ) has fighted deflation for more than 2 decades?
Deflation is bad for the economy! If your 100$ bill would be worth more each year you would postpone your consumption and the economy would shrink each year (which is case in deflationary economies such as Japan).

And maybe you should read some of the thousands of posts in hundreds of threads discussing this idea.  We aren't ignorant of the nonsense ideas to be found in books with "macroeconomics" printed on their covers, we actively reject them.

There really are hundreds of threads on inflation vs. deflation, and you've added nothing of substance to the discussion.

I know that some bitcoin enthusiasts prefer bitcoin over FIAT-currencies since it cannot be printed when 21 million is reached vs fiat currencies such as the Zimbabwe Dollar...

But you hate inflation on wrong reasons - the fiat inflation of fiat is bad because we cannot predict politicians or central bank behaviour. Bitcoin algorithm is the opposite, it is predictable and I dont see any problem with an built-in inflation of X % per annum for infinity, therefore inflation in cryptocurrencies is nothing bad. It prevents hording.
And it encourages spending bitcoin so that the bitcoin economy can grow!
newbie
Activity: 14
Merit: 0
But if bitcoins stop at 21mill no one wants to sell em.
Encreasing the price so huge people dont want em anymore btc would become useless?
Which means new crypto's will be more worth? not sure..

Here is where you went wrong.  Think about it for a minute...

Lol i really need an asic dont i Cheesy
kjj
legendary
Activity: 1302
Merit: 1026
But if bitcoins stop at 21mill no one wants to sell em.
Encreasing the price so huge people dont want em anymore btc would become useless?
Which means new crypto's will be more worth? not sure..

Here is where you went wrong.  Think about it for a minute...
kjj
legendary
Activity: 1302
Merit: 1026
You should take courses in Macro economy to understand more about inflation. Why do you think the central bank of Japan (BoJ) has fighted deflation for more than 2 decades?
Deflation is bad for the economy! If your 100$ bill would be worth more each year you would postpone your consumption and the economy would shrink each year (which is case in deflationary economies such as Japan).

And maybe you should read some of the thousands of posts in hundreds of threads discussing this idea.  We aren't ignorant of the nonsense ideas to be found in books with "macroeconomics" printed on their covers, we actively reject them.

There really are hundreds of threads on inflation vs. deflation, and you've added nothing of substance to the discussion.
newbie
Activity: 14
Merit: 0
I dont understand, how is it that it would stop at 21mill??
No one controlls bitcoins. Bitcoins works on its own behalf.

Mining blocks means bitcoins, trading bitcoins means blocks.
People wont stop trading nor stop mining?

strange to me.

When mining a new block, the miner gets a reward.  The reward includes fees (old bitcoins already in circulation) and a subsidy (new bitcoins created out of thin air).  The subsidy amount is specified as a function of the block number.  Blocks which claim a larger reward than the calculated fee + calculated subsidy will not be accepted as valid by other nodes.

The sum of the subsidies allowed by the network is a bit under 21 million BTC, to be generated over the next century or so.

Thanks for making that clear to me.
But if bitcoins stop at 21mill no one wants to sell em.
Encreasing the price so huge people dont want em anymore btc would become useless?
Which means new crypto's will be more worth? not sure..
kjj
legendary
Activity: 1302
Merit: 1026
I dont understand, how is it that it would stop at 21mill??
No one controlls bitcoins. Bitcoins works on its own behalf.

Mining blocks means bitcoins, trading bitcoins means blocks.
People wont stop trading nor stop mining?

strange to me.

When mining a new block, the miner gets a reward.  The reward includes fees (old bitcoins already in circulation) and a subsidy (new bitcoins created out of thin air).  The subsidy amount is specified as a function of the block number.  Blocks which claim a larger reward than the calculated fee + calculated subsidy will not be accepted as valid by other nodes.

The sum of the subsidies allowed by the network is a bit under 21 million BTC, to be generated over the next century or so.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
When 21 million is reached the bitcoin community might reach the conclusion that inflation is needed and invent InflationCoin.

Inflation is needed mainly because of these simple reasons:
1) a significant percentage of bitcoins will be lost because of crashed harddrives, lost passwords, lost wallets and so on... maybe 1-2% per year?
2) The human psychology likes growth - it is not a coincidence that central banks have a inflation target of 2%. That gives the population the illusion of a growing economy since your salary, your house and your stocks go up in price. People are happier in a low inflation economy than in a deflation economy. The small inflation will also inspire the population to invest their savings in an attempt to beat the inflation – that makes the economy grow.

So in conclusion bitcoin needs an inflation of 4% to adjust to a growing economy.

The main difference between InflationCoin and Federal Reserve fiat dollar is that InflationCoin cannot print more than 4% per year to bail-out banks, finance budget deficits, finance wars and so on...

1) Assuming 2% loss per year, the number of bitcoins remaining at year x is BTCremain(x)=0.98x.  Note that this value never reaches zero.*
2) I've never seen any documentation of this.  The people that get that 2% per year before it becomes inflation certainly do like it.  I've had a $100 bill in my wallet for a couple of years now.  Do you really think that I like that it can't buy as much as it could when I bought it?  The bitcoins I picked up in 2011 can buy a lot more than than they did back then.  How do you think I feel about that?

You can hardly swing a cat on these forums without hitting people that share my view on the matter.

* You actually need a bit of calculus to think that it can.  The limit as x approaches infinity is indeed zero.  But since x is time, we'll have bigger problems long before it approaches infinity.

You should take courses in Macro economy to understand more about inflation. Why do you think the central bank of Japan (BoJ) has fighted deflation for more than 2 decades?
Deflation is bad for the economy! If your 100$ bill would be worth more each year you would postpone your consumption and the economy would shrink each year (which is case in deflationary economies such as Japan).
newbie
Activity: 14
Merit: 0
I dont understand, how is it that it would stop at 21mill??
No one controlls bitcoins. Bitcoins works on its own behalf.

Mining blocks means bitcoins, trading bitcoins means blocks.
People wont stop trading nor stop mining?

strange to me.

Greetings uSploit
kjj
legendary
Activity: 1302
Merit: 1026
When 21 million is reached the bitcoin community might reach the conclusion that inflation is needed and invent InflationCoin.

Inflation is needed mainly because of these simple reasons:
1) a significant percentage of bitcoins will be lost because of crashed harddrives, lost passwords, lost wallets and so on... maybe 1-2% per year?
2) The human psychology likes growth - it is not a coincidence that central banks have a inflation target of 2%. That gives the population the illusion of a growing economy since your salary, your house and your stocks go up in price. People are happier in a low inflation economy than in a deflation economy. The small inflation will also inspire the population to invest their savings in an attempt to beat the inflation – that makes the economy grow.

So in conclusion bitcoin needs an inflation of 4% to adjust to a growing economy.

The main difference between InflationCoin and Federal Reserve fiat dollar is that InflationCoin cannot print more than 4% per year to bail-out banks, finance budget deficits, finance wars and so on...

1) Assuming 2% loss per year, the number of bitcoins remaining at year x is BTCremain(x)=0.98x.  Note that this value never reaches zero.*
2) I've never seen any documentation of this.  The people that get that 2% per year before it becomes inflation certainly do like it.  I've had a $100 bill in my wallet for a couple of years now.  Do you really think that I like that it can't buy as much as it could when I bought it?  The bitcoins I picked up in 2011 can buy a lot more than than they did back then.  How do you think I feel about that?

You can hardly swing a cat on these forums without hitting people that share my view on the matter.

* You actually need a bit of calculus to think that it can.  The limit as x approaches infinity is indeed zero.  But since x is time, we'll have bigger problems long before it approaches infinity.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
When 21 million is reached the bitcoin community might reach the conclusion that inflation is needed and invent InflationCoin.

Inflation is needed mainly because of these simple reasons:
1) a significant percentage of bitcoins will be lost because of crashed harddrives, lost passwords, lost wallets and so on... maybe 1-2% per year?
2) The human psychology likes growth - it is not a coincidence that central banks have a inflation target of 2%. That gives the population the illusion of a growing economy since your salary, your house and your stocks go up in price. People are happier in a low inflation economy than in a deflation economy. The small inflation will also inspire the population to invest their savings in an attempt to beat the inflation – that makes the economy grow.

So in conclusion bitcoin needs an inflation of 4% to adjust to a growing economy.

The main difference between InflationCoin and Federal Reserve fiat dollar is that InflationCoin cannot print more than 4% per year to bail-out banks, finance budget deficits, finance wars and so on...
kjj
legendary
Activity: 1302
Merit: 1026
What I don't quite understand is the purpose for this line:

Code:
inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }

as a transaction will never even come close to that amount, and neither will any given Bitcoin address. Given the ~21 million COIN limit created by GetBlockValue, why is it necessary to check "nValue" to make sure it is within 0 - 21,000,000?

It is a quick check to allow rejecting a transaction without expensive processing.  Oh, and also, there was an overflow bug a long time ago.  I'd have to check the commit history to know if this was part of the fix for that or unrelated.

At any rate, a transaction outside that range is automatically invalid, so you can toss it out before relaying it or checking the signatures.
newbie
Activity: 16
Merit: 0
21000000 * COIN is the theoretical upperbound of bitcoin's entire money supply. Of course no one account or transaction can have more than that number, so it is used to check that a given money value is within the valid range.

To understand how this limit came about, you need to understand the function GetBlockValue() that give rise to the upperbound of 21M * COIN: MAX_MONEY = 2 * 210000 * 50 * COIN

Code:
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;
}

I think I understand the GetBlockValue function (I spent most of my allotted time in the newbie pool digging through the Bitcoin source code and asking some questions). The math works out to be 20,999,999.9769 total Bitcoins mined at block #6,930,000 if I calculated it correctly. What I don't quite understand is the purpose for this line:

Code:
inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }

as a transaction will never even come close to that amount, and neither will any given Bitcoin address. Given the ~21 million COIN limit created by GetBlockValue, why is it necessary to check "nValue" to make sure it is within 0 - 21,000,000?
vip
Activity: 1316
Merit: 1043
👻
My view is that the association is silly.  The max_blocksize rule was added by Satoshi after the system was already running, in order to remove an attack vector via spamming of the transaction queue, until such time as a more elegant solution could be found.

That's not quite true. Version 1.0 didn't have a 1MB limit, but instead used the same 0x2000000 byte, or 32MiB limit, used for any serialized data. Satoshi later added MAX_BLOCK_SIZE so that miners wouldn't create blocks bigger than 1MB, but larger was still accepted.

Finally the hard limit was reduced by Satoshi to 1MB in commit 172f006020965ae8763a0610845c051ed1e3b522 The commit comment is deliberately misleading: "only accept transactions sent by IP address if -allowreceivebyip is specified"
Deliberately?
legendary
Activity: 1205
Merit: 1010
21000000 * COIN is the theoretical upperbound of bitcoin's entire money supply. Of course no one account or transaction can have more than that number, so it is used to check that a given money value is within the valid range.

To understand how this limit came about, you need to understand the function GetBlockValue() that give rise to the upperbound of 21M * COIN: MAX_MONEY = 2 * 210000 * 50 * COIN

Code:
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;
}
newbie
Activity: 16
Merit: 0
So there's this magical limit of ~21 million bitcoins that can theoretically exist at max. Many assumptions about the future of bitcoin are based on this number.

How easy / hard would it be to change this limit? It seems, this function controls how many coins are given to miners for solving a block. If developers decided to change this function, the 21 million number would change too, right? Or is the 21 million number somehow coded deeper in the system?

I'm still working through understanding the Bitcoin protocol, but there's also these lines

Code:
/** No amount larger than this (in satoshi) is valid */
static const int64 MAX_MONEY = 21000000 * COIN;
inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }

from the main.h file. I'm not sure what exactly this limits, (the amount of BTC in a single account, the amount of BTC in a transaction?) and would be curious if a more advanced programmer could explain it to me. This probably isn't considered to be coded any "deeper" in the system, as it's not something stored back in an early block, but it seems to be some other kind of constraint on the number of coins.
legendary
Activity: 1205
Merit: 1010
Satoshi was solidly against the development of alt-clients, even just to spend coins let alone mining. That said those were very early days and he probably wanted the flexibility to change things as Bitcoin's core evolved, and it did. There is some really kooky code from those days in the repository though; did you know Satoshi wrote the beginnings of an EBay like auction market and put it in the client itself?

Very interesting. What happened to these code for the beginnings of bitbay?
Pages:
Jump to: