Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: kerogre256 on March 21, 2013, 12:54:25 PM



Title: How 21mil limit is enforced
Post by: kerogre256 on March 21, 2013, 12:54:25 PM
I have one technical question.
How bitcoin limit 21m is programed ? If miners and user decide in 20 years they don't like it can they change program to increase to 100 milion bitcoin or it is hard wired in to block chain ?


Title: Re: How 21mil limit is enforced
Post by: Gabi on March 21, 2013, 12:57:45 PM
Of course, since it is a software, if everyone decide to change something it is possible. But of course it would be a hard fork  ;)

The limit is enforced by the client, a block wich does not respect the rules would be rejected  ;)


Title: Re: How 21mil limit is enforced
Post by: mitty on March 21, 2013, 01:19:32 PM
Like Gabi said, you could modify your client to keep creating coins past 21 million but no other clients (i.e., anyone else using bitcoin) would accept those as valid coins.  

You can make your Bitcoin client disobey the network rules but then none of the other bitcoin clients would talk to yours, essentially isolating yourself from the network.  

Altcoins are basically a more elegant version of this; they are all very similar to Bitcoin's implementation but some have different rules such as coin limits, block creation times, etc.


Title: Re: How 21mil limit is enforced
Post by: lleibowitz on March 21, 2013, 01:27:27 PM
There's another thread about this topic here: https://bitcointalk.org/index.php?topic=153330.0


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 02:22:40 AM
If miners and user decide in 20 years they don't like it can they change program to increase to 100 milion bitcoin

No.

or it is hard wired in to block chain ?

No.


The limit is written into the program that every full peer runs.  To change the limit, you'd have to first change the program, and then convince EVERY SINGLE USER of bitcoin to agree to the change.

If just a single person decides they don't like the new change, then the blockchain splits.  Those who continue to run the old program get a bitcoin system that will never exceed 21 million bitcoins.  Those who decide to run the new program get a completely different and incompatible bitcoin system that will grow in supply to the new limit.

Perhaps one of those two systems grows in popularity over time and the other dies off, or perhaps there are 2 competing currencies that both continue indefinitely.

Note that any bitcoins that exist before the split will essentially be duplicated, giving owners of those bitcoins a duplicated amount of bitcoins on each system.


Title: Re: How 21mil limit is enforced
Post by: auzaar on March 22, 2013, 05:34:37 AM
Of course, since it is a software, if everyone decide to change something it is possible. But of course it would be a hard fork  ;)

The limit is enforced by the client, a block wich does not respect the rules would be rejected  ;)
Why it would be hard fork if everybody agreed?


Title: Re: How 21mil limit is enforced
Post by: auzaar on March 22, 2013, 05:36:49 AM
I have one technical question.
How bitcoin limit 21m is programed ? If miners and user decide in 20 years they don't like it can they change program to increase to 100 milion bitcoin or it is hard wired in to block chain ?
it can be done but will need majority approval and don't think people will like to dilute there savings :)


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 05:38:42 AM
it can be done but will need majority unanimous approval and don't think people will like to dilute there savings :)

FTFY


Title: Re: How 21mil limit is enforced
Post by: Killdozer on March 22, 2013, 01:18:44 PM
Discussed a million times before, just do the research.
RTFM.


Title: Re: How 21mil limit is enforced
Post by: tysat on March 22, 2013, 01:45:03 PM
it can be done but will need majority unanimous approval and don't think people will like to dilute there savings :)

FTFY

It doesn't have to be unanimous, just majority.


Title: Re: How 21mil limit is enforced
Post by: kjj on March 22, 2013, 02:08:28 PM
Of course, since it is a software, if everyone decide to change something it is possible. But of course it would be a hard fork  ;)

The limit is enforced by the client, a block wich does not respect the rules would be rejected  ;)
Why it would be hard fork if everybody agreed?

Because the software that I'm running now will never accept a subsidy under the new rules.  If a block comes in that satisfies your rules, but not mine, my software will reject it as invalid.  Since yours will accept it, the chain will split in two at that point, and never ever ever converge.

it can be done but will need majority unanimous approval and don't think people will like to dilute there savings :)

FTFY

It doesn't have to be unanimous, just majority.

The majority is not binding on anyone.  The system has no power to change the rules for people that don't want the rules to be changed.  If a majority wants different rules, what they really get is a different thing entirely.  They can call it bitcoin, but it won't really be bitcoin, it will be something else.


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 02:10:30 PM
it can be done but will need majority unanimous approval and don't think people will like to dilute there savings :)

FTFY

It doesn't have to be unanimous, just majority.

Not true.

If it is not unanimous, then you haven't changed the limit on bitcoins, you've simply split the blockchain and created an alternate non-bitcoin currency that has a higher limit.  This doesn't require a majority and can be done with as few as one user.

If you want to change the limit in such a way that the 21 million bitcoin limit no longer exists and therefore the only currency remaining that still uses the original bitcoin blockchain has a higher limit, you have to get unanimous consent.  If you have even a single user that continues to run the old software, then you have a split blockchain and the "real" bitcoin with a 21 million limit continues to exist.


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 02:12:58 PM
Of course, since it is a software, if everyone decide to change something it is possible. But of course it would be a hard fork  ;)

The limit is enforced by the client, a block wich does not respect the rules would be rejected  ;)
Why it would be hard fork if everybody agreed?

Because the software that I'm running now will never accept a subsidy under the new rules.  If a block comes in that satisfies your rules, but not mine, my software will reject it as invalid.  Since yours will accept it, the chain will split in two at that point, and never ever ever converge.

You aren't paying attention.  The statement (and question) was regarding if EVERYONE agreed and decided to change.  If you refuse to change, then EVERYONE didn't agree.


Title: Re: How 21mil limit is enforced
Post by: Gabi on March 22, 2013, 02:32:37 PM
It is a hard fork. I'm stating a fact  :D It is a hard fork, but of course, it is a possible thing. kerogre was asking if with a hard fork it is possible or it would be totally impossible. Since i was the first to reply, i had to answer to that too.   ;) For example no matter what, hard fork or not, it is IMPOSSIBLE for anyone to know my private keys if you only know my addresses  :)


Title: Re: How 21mil limit is enforced
Post by: kjj on March 22, 2013, 02:42:26 PM
Of course, since it is a software, if everyone decide to change something it is possible. But of course it would be a hard fork  ;)

The limit is enforced by the client, a block wich does not respect the rules would be rejected  ;)
Why it would be hard fork if everybody agreed?

Because the software that I'm running now will never accept a subsidy under the new rules.  If a block comes in that satisfies your rules, but not mine, my software will reject it as invalid.  Since yours will accept it, the chain will split in two at that point, and never ever ever converge.

You aren't paying attention.  The statement (and question) was regarding if EVERYONE agreed and decided to change.  If you refuse to change, then EVERYONE didn't agree.

Good catch.  I did indeed miss the part about everyone.

But, if we put aside the silly notion of everyone agreeing, and get pedantic about it, it is still a hard fork because bitcoin is software.  Software does what it does, it doesn't care what anyone thinks.  Even if you agree to the change, it is still a hard fork because any old software running will enforce the rules it knows, not the rules you agree to.  So to prevent a hard fork requires more than merely that everyone agree, it also requires that everyone replace their software, and then never allow the old code to run any more.

The old software will never be compatible with the new software.  We could even get philosophical and say that the hard fork exists once the new software is created, even if the length of one of the tines is zero (that is, even if no one actually runs the old software).


Title: Re: How 21mil limit is enforced
Post by: Gabi on March 22, 2013, 02:47:55 PM
The flame started, everyone, get out from here! https://i.imgur.com/SPzky.gif

 :D


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 03:08:46 PM
- snip -
But, if we put aside the silly notion of everyone agreeing, and get pedantic about it, it is still a hard fork because bitcoin is software.  Software does what it does, it doesn't care what anyone thinks.  Even if you agree to the change, it is still a hard fork because any old software running will enforce the rules it knows, not the rules you agree to.  So to prevent a hard fork requires more than merely that everyone agree, it also requires that everyone replace their software, and then never allow the old code to run any more.

The old software will never be compatible with the new software.  We could even get philosophical and say that the hard fork exists once the new software is created, even if the length of one of the tines is zero (that is, even if no one actually runs the old software).

We are now in agreement on the matter.  At this point the only debate is on the definition of the term "fork".  If we are discussing a software fork (such as the Red Hat fork that created Fedora), then I'd agree that a change that increases the limit is a "fork" regardless of how many people use it. On the other hand, if we are talking about a blockchain fork (such as happened between the 0.8.0 Bitcoin-Qt and earlier versions), then I'd say that if you could get unanimous consent, there would not be a "fork".


Title: Re: How 21mil limit is enforced
Post by: cypherdoc on March 22, 2013, 03:14:39 PM
- snip -
But, if we put aside the silly notion of everyone agreeing, and get pedantic about it, it is still a hard fork because bitcoin is software.  Software does what it does, it doesn't care what anyone thinks.  Even if you agree to the change, it is still a hard fork because any old software running will enforce the rules it knows, not the rules you agree to.  So to prevent a hard fork requires more than merely that everyone agree, it also requires that everyone replace their software, and then never allow the old code to run any more.

The old software will never be compatible with the new software.  We could even get philosophical and say that the hard fork exists once the new software is created, even if the length of one of the tines is zero (that is, even if no one actually runs the old software).

We are now in agreement on the matter.  At this point the only debate is on the definition of the term "fork".  If we are discussing a software fork (such as the Red Hat fork that created Fedora), then I'd agree that a change that increases the limit is a "fork" regardless of how many people use it. On the other hand, if we are talking about a blockchain fork (such as happened between the 0.8.0 Bitcoin-Qt and earlier versions), then I'd say that if you could get unanimous consent, there would not be a "fork".

i've never liked the term "fork" be it hard or soft.  its confusing since technical ppl seem to have a certain definition for it vs non technical ppl's understanding.

i think "chain split" might be a better term.


Title: Re: How 21mil limit is enforced
Post by: kjj on March 22, 2013, 03:18:32 PM
- snip -
But, if we put aside the silly notion of everyone agreeing, and get pedantic about it, it is still a hard fork because bitcoin is software.  Software does what it does, it doesn't care what anyone thinks.  Even if you agree to the change, it is still a hard fork because any old software running will enforce the rules it knows, not the rules you agree to.  So to prevent a hard fork requires more than merely that everyone agree, it also requires that everyone replace their software, and then never allow the old code to run any more.

The old software will never be compatible with the new software.  We could even get philosophical and say that the hard fork exists once the new software is created, even if the length of one of the tines is zero (that is, even if no one actually runs the old software).

We are now in agreement on the matter.  At this point the only debate is on the definition of the term "fork".  If we are discussing a software fork (such as the Red Hat fork that created Fedora), then I'd agree that a change that increases the limit is a "fork" regardless of how many people use it. On the other hand, if we are talking about a blockchain fork (such as happened between the 0.8.0 Bitcoin-Qt and earlier versions), then I'd say that if you could get unanimous consent, there would not be a "fork".

That isn't so much a debate as a decision.  The term has multiple meanings, and we are broadly in agreement on the consequences for each of the relevant meanings.  I say broadly only because it still takes more than consent to swap out all of the software; mere agreement won't prevent the (chain) fork, action is also necessary.

But discussions of universal consent are pointless, except as an exercise in rhetoric, since at least one of us is already on record as non-consenting.


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 03:48:51 PM
- snip -
But discussions of universal consent are pointless, except as an exercise in rhetoric, since at least one of us is already on record as non-consenting.

Sure, but there's no guarantee that some government entity won't force you to stop running the old version (either through incarceration or execution).

 ;)


Title: Re: How 21mil limit is enforced
Post by: ElectricMucus on March 22, 2013, 04:24:05 PM
Of course, since it is a software, if everyone decide to change something it is possible. But of course it would be a hard fork  ;)

The limit is enforced by the client, a block wich does not respect the rules would be rejected  ;)
Why it would be hard fork if everybody agreed?

Because the software that I'm running now will never accept a subsidy under the new rules.  If a block comes in that satisfies your rules, but not mine, my software will reject it as invalid.  Since yours will accept it, the chain will split in two at that point, and never ever ever converge.

You aren't paying attention.  The statement (and question) was regarding if EVERYONE agreed and decided to change.  If you refuse to change, then EVERYONE didn't agree.

You misrepresenting the facts, it's 51%, not 100%.


Title: Re: How 21mil limit is enforced
Post by: tysat on March 22, 2013, 04:43:31 PM
You misrepresenting the facts, it's 51%, not 100%.

That's what I said, but was then told I was wrong.


Title: Re: How 21mil limit is enforced
Post by: ElectricMucus on March 22, 2013, 04:55:55 PM
You misrepresenting the facts, it's 51%, not 100%.

That's what I said, but was then told I was wrong.

Right,
Perhaps unrelated but as it seems prices have gone up so much people start making stuff up to keep it going.


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 05:08:21 PM
You misrepresenting the facts, it's 51%, not 100%.

No.  You are misrepresenting the facts.  In what way is it 51% to change the number of bitcons minted?  Do you even know what you are talking about?


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 05:09:40 PM
You misrepresenting the facts, it's 51%, not 100%.

That's what I said, but was then told I was wrong.

Because you were, as is ElectricMucus.

There is a reason his "Ignore" button is Dark, Dark, Yellow.


Title: Re: How 21mil limit is enforced
Post by: ElectricMucus on March 22, 2013, 05:14:15 PM
You misrepresenting the facts, it's 51%, not 100%.

That's what I said, but was then told I was wrong.

Because you were, as is ElectricMucus.

There is a reason his "Ignore" button is Dark, Dark, Yellow.

You were a big contender too as I remember it BTCX.  ;D
You misrepresenting the facts, it's 51%, not 100%.

No.  You are misrepresenting the facts.  In what way is it 51% to change the number of bitcons minted?  Do you even know what you are talking about?

This concerns future bitcoins. Nobody is talking about increasing the number previously mined coins. This is about, for example skipping the block reward reduction which is entirely doable with a 51% hard fork.
Of course the consensus now is that they shouldn't be called bitcoins then. But what do they, in the future care what our motives were, now?


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 05:19:07 PM
- snip -
This is about, for example skipping the block reward reduction which is entirely doable with a 51% hard fork.
- snip -

You are mistaken.  As has already been stated, if you want a "hard fork", you don't need 51%, you can do that with a single user.  If you don't want to fork the blockchain, then you need 100%.  If even a single user continues to run the old software, then the blockchain forks.


Title: Re: How 21mil limit is enforced
Post by: ElectricMucus on March 22, 2013, 05:20:12 PM
- snip -
This is about, for example skipping the block reward reduction which is entirely doable with a 51% hard fork.
- snip -

You are mistaken.  As has already been stated, if you want a "hard fork", you don't need 51%, you can do that with a single user.  If you don't want to fork the blockchain, then you need 100%.  If even a single user continues to run the old software, then the blockchain forks.

Yes but you wouldn't be able to be the longest chain.  ;D Oh of course there are 2 kinds of 51%: 51% mining power and 51% nodes. If you have both you control the future.
I think you above anybody else should know what 51% is all about. (Or not, apparently. Either way you are playing the true believer bullshitting shill very well to, congrats for that)


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 05:32:36 PM
- skip -
Yes but you wouldn't be able to be the longest chain.  ;D Oh of course there are 2 kinds of 51%: 51% mining power and 51% nodes. If you have both you control the future.
I think you above anybody else should know what 51% is all about. (Or not, apparently. Either way you are playing the true believer bullshitting shill very well to, congrats for that)

There is no need to "be the longest chain" if the blockchain forks.  Each fork is its own chain.  They co-exist and nothing is shared between them.  There is no merging of the chains or "longest chain wins" between them.  This is why Litecoin doesn't care if its chain is longer than Bitcoin's chain.

I really need to learn not to respond to trolls.  I've made it clear that you are misleading people in this conversation.  I won't correct you in this thread again.  If you want to continue to post false information, I'll assume that the explanations I've given are sufficient to prevent the uneducated from believing the stuff you toss in here.


Title: Re: How 21mil limit is enforced
Post by: Gabi on March 22, 2013, 05:35:17 PM
This 100 or 51% thing is wrong in case of a hard fork. Hard fork=bitcoin and litecoin. Do litecoin need 100 or 51% or something to work? Nah

Quote
Yes but you wouldn't be able to be the longest chain
And? The forked chain is no more the original chain, it is something totally different, like the litecoin chain. Once a hard fork happen, it is totally unrelated with the old chain


Title: Re: How 21mil limit is enforced
Post by: ElectricMucus on March 22, 2013, 05:36:33 PM
- skip -
Yes but you wouldn't be able to be the longest chain.  ;D Oh of course there are 2 kinds of 51%: 51% mining power and 51% nodes. If you have both you control the future.
I think you above anybody else should know what 51% is all about. (Or not, apparently. Either way you are playing the true believer bullshitting shill very well to, congrats for that)

There is no need to "be the longest chain" if the blockchain forks.  Each fork is its own chain.  They co-exist and nothing is shared between them.  There is no merging of the chains or "longest chain wins" between them.  This is why Litecoin doesn't care if its chain is longer than Bitcoin's chain.

I really need to learn not to respond to trolls.  I've made it clear that you are misleading people in this conversation.  I won't correct you in this thread again.  If you want to continue to post false information, I'll assume that the explanations I've given are sufficient to prevent the uneducated from believing the stuff you toss in here.

The difference is the ledger, the same as the original BTC. And that the old chain couldn't operate while being hijacked by miners who support ditching the block reward reduction.
It's the same thing as the supposed increase as the block size.


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 05:38:45 PM
This 100 or 51% thing is wrong in case of a hard fork. Hard fork=bitcoin and litecoin. Do litecoin need 100 or 51% or something to work? Nah

This is what I've been saying.  It only takes a single user to fork the chain.  You don't need 100%, you don't need 51%.

If you want to use the existing chain history (and therefore existing bitcoins), and you don't want to fork the blockchain, the only way to do it is if 100% of all users (not just miners or hashing power, but all users) all switch to the new software with the new rules.  Anything less than that causes a fork in the blockchain.


Title: Re: How 21mil limit is enforced
Post by: DannyHamilton on March 22, 2013, 05:55:39 PM
- snip -
Note that any bitcoins that exist before the split will essentially be duplicated, giving owners of those bitcoins a duplicated amount of bitcoins on each system.

- snip -
if you have pre-fork coins, your coins will exist on both chains. As Gabi said, those coins will only be useable on their respective chain.

There appears to be an echo in here.


Title: Re: How 21mil limit is enforced
Post by: kjj on March 22, 2013, 05:56:13 PM
You are mistaken.  As has already been stated, if you want a "hard fork", you don't need 51%, you can do that with a single user.  If you don't want to fork the blockchain, then you need 100%.  If even a single user continues to run the old software, then the blockchain forks.
Yes but you wouldn't be able to be the longest chain.

What distinguishes a hard fork is that they never reconverge.  The single user would be on the longest chain, according to his rules of validity.  That there are other chunks of data out there that someone else considers to be blocks, and that there may or may not be more chunks or more people is not important.  That chain will never overwrite his chain.  The two chains will never converge.

And in reality, it won't be one guy.


Title: Re: How 21mil limit is enforced
Post by: Gabi on March 22, 2013, 05:59:37 PM
Once a hard fork happen, it is totally unrelated with the old chain

I just wanted to clarify for new users that if you fork an already existing chain (as opposed to starting from scratch like litecoin), the history of both chains will be exactly the same, but they will diverge from the point of the fork forward. In other words, if you have pre-fork coins, your coins will exist on both chains. As Gabi said, those coins will only be useable on their respective chain.
Yup. And the new chain will NOT need 100% or 51% to be used. It will become Bitcoin2, unrelated from Bitcoin


Title: Re: How 21mil limit is enforced
Post by: ElectricMucus on March 22, 2013, 06:34:19 PM
Once a hard fork happen, it is totally unrelated with the old chain

I just wanted to clarify for new users that if you fork an already existing chain (as opposed to starting from scratch like litecoin), the history of both chains will be exactly the same, but they will diverge from the point of the fork forward. In other words, if you have pre-fork coins, your coins will exist on both chains. As Gabi said, those coins will only be useable on their respective chain.
Yup. And the new chain will NOT need 100% or 51% to be used. It will become Bitcoin2, unrelated from Bitcoin

Thats the peaceful way of doing it. The offensive way would be to use the same address space, communication ports and protocol. Making the old network essentially useless in the process.