Bitcoin Forum
April 19, 2024, 10:48:59 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: How 21mil limit is enforced  (Read 2302 times)
kerogre256 (OP)
Full Member
***
Offline Offline

Activity: 161
Merit: 100


View Profile
March 21, 2013, 12:54:25 PM
 #1

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 ?
1713523739
Hero Member
*
Offline Offline

Posts: 1713523739

View Profile Personal Message (Offline)

Ignore
1713523739
Reply with quote  #2

1713523739
Report to moderator
1713523739
Hero Member
*
Offline Offline

Posts: 1713523739

View Profile Personal Message (Offline)

Ignore
1713523739
Reply with quote  #2

1713523739
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713523739
Hero Member
*
Offline Offline

Posts: 1713523739

View Profile Personal Message (Offline)

Ignore
1713523739
Reply with quote  #2

1713523739
Report to moderator
1713523739
Hero Member
*
Offline Offline

Posts: 1713523739

View Profile Personal Message (Offline)

Ignore
1713523739
Reply with quote  #2

1713523739
Report to moderator
1713523739
Hero Member
*
Offline Offline

Posts: 1713523739

View Profile Personal Message (Offline)

Ignore
1713523739
Reply with quote  #2

1713523739
Report to moderator
Gabi
Legendary
*
Offline Offline

Activity: 1148
Merit: 1008


If you want to walk on water, get out of the boat


View Profile
March 21, 2013, 12:57:45 PM
 #2

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  Wink

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

mitty
Sr. Member
****
Offline Offline

Activity: 359
Merit: 250



View Profile
March 21, 2013, 01:19:32 PM
 #3

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.
lleibowitz
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile
March 21, 2013, 01:27:27 PM
 #4

There's another thread about this topic here: https://bitcointalk.org/index.php?topic=153330.0
DannyHamilton
Legendary
*
Offline Offline

Activity: 3360
Merit: 4570



View Profile
March 22, 2013, 02:22:40 AM
 #5

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.
auzaar
Full Member
***
Offline Offline

Activity: 151
Merit: 100



View Profile
March 22, 2013, 05:34:37 AM
 #6

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  Wink

The limit is enforced by the client, a block wich does not respect the rules would be rejected  Wink
Why it would be hard fork if everybody agreed?
auzaar
Full Member
***
Offline Offline

Activity: 151
Merit: 100



View Profile
March 22, 2013, 05:36:49 AM
 #7

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 Smiley
DannyHamilton
Legendary
*
Offline Offline

Activity: 3360
Merit: 4570



View Profile
March 22, 2013, 05:38:42 AM
 #8

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

FTFY
Killdozer
Full Member
***
Offline Offline

Activity: 203
Merit: 100



View Profile
March 22, 2013, 01:18:44 PM
 #9

Discussed a million times before, just do the research.
RTFM.

tysat
Legendary
*
Offline Offline

Activity: 966
Merit: 1004


Keep it real


View Profile
March 22, 2013, 01:45:03 PM
 #10

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

FTFY

It doesn't have to be unanimous, just majority.
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
March 22, 2013, 02:08:28 PM
 #11

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  Wink

The limit is enforced by the client, a block wich does not respect the rules would be rejected  Wink
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 Smiley

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.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3360
Merit: 4570



View Profile
March 22, 2013, 02:10:30 PM
 #12

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

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.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3360
Merit: 4570



View Profile
March 22, 2013, 02:12:58 PM
 #13

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  Wink

The limit is enforced by the client, a block wich does not respect the rules would be rejected  Wink
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.
Gabi
Legendary
*
Offline Offline

Activity: 1148
Merit: 1008


If you want to walk on water, get out of the boat


View Profile
March 22, 2013, 02:32:37 PM
 #14

It is a hard fork. I'm stating a fact  Cheesy 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.   Wink 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  Smiley

kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
March 22, 2013, 02:42:26 PM
 #15

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  Wink

The limit is enforced by the client, a block wich does not respect the rules would be rejected  Wink
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).

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
Gabi
Legendary
*
Offline Offline

Activity: 1148
Merit: 1008


If you want to walk on water, get out of the boat


View Profile
March 22, 2013, 02:47:55 PM
 #16

The flame started, everyone, get out from here!

 Cheesy

DannyHamilton
Legendary
*
Offline Offline

Activity: 3360
Merit: 4570



View Profile
March 22, 2013, 03:08:46 PM
 #17

- 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".
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
March 22, 2013, 03:14:39 PM
 #18

- 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.
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
March 22, 2013, 03:18:32 PM
 #19

- 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.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3360
Merit: 4570



View Profile
March 22, 2013, 03:48:51 PM
 #20

- 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).

 Wink
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!