Bitcoin Forum
September 29, 2016, 05:01:05 AM *
News: Latest stable version of Bitcoin Core: 0.13.0 (New!) [Torrent]. Make sure you verify it.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 »  All
  Print  
Author Topic: How do we prevent Bitcoin forks (or should we)?  (Read 4901 times)
epaulson
Newbie
*
Offline Offline

Activity: 6


View Profile
August 10, 2010, 08:10:30 PM
 #1

The "cryptographic race" for the longest chain to prevent double spending seems, as well as I can understand it, to be a pretty robust system against cheating and other similar maliciousness.

However, I am curious about how much of the rest of the system security relies on everyone "playing by the rules" and using the standard (or a minor variant thereof) bitcoin program. It seems to me that if someone convinced enough people to use an alternative bitcoin program that generated more or less valid blocks but potentially differed in some other way (perhaps a Trojan), he or she could break or undermine the whole system.

Here is one scenario to illustrate what I am thinking about:
Let's say that when the time comes for the value of generating a block to drop from 50 coins down to 25 coins, a big group of bitcoin users whine and decide that they don't want to generate fewer coins per block. So, they write a patch for the bitcoin program and make their own clients keep generating 50 coins per block. Now, the standard client will reject these 50 coin blocks as invalid, but if the "50 coiners" have a large enough group and accept both the 50 coin blocks and the 25 coin blocks, they could impose their will on the whole system. It seems to me the "25 coiners" would grind to a halt, rejecting block after block, and the "50 coiners" would happily build away a long chain of 50 and/or 25 coin blocks. I don't think the "50 coiners" would even need a majority of users to impose their will in this way. I suppose the "25 coiners" could stubbornly continue, and the project would fork into two different bitcoin systems, but this would be a major destabilization to the value of the bitcoins.

So, how do we prevent bitcoin from forking, down the road? At some point there is bound to be a large group of users unhappy with the status quo and an effort will be made to split the project, to the detriment of everyone. Can we build in a consensus about the valid identities of the client programs in the same way that we do for the transaction log (or is that already being done)? Or do people have the right to make a fork, despite the negative consequences?
1475125265
Hero Member
*
Offline Offline

Posts: 1475125265

View Profile Personal Message (Offline)

Ignore
1475125265
Reply with quote  #2

1475125265
Report to moderator
1475125265
Hero Member
*
Offline Offline

Posts: 1475125265

View Profile Personal Message (Offline)

Ignore
1475125265
Reply with quote  #2

1475125265
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246


Strength in numbers


View Profile WWW
August 10, 2010, 08:19:01 PM
 #2

Hopefully a good number of users will understand that using a "non-compatible with the current majority rules client" is going to result in a huge number of people making transactions that get delayed and generated coins disappearing which will damage the system's usefulness and the confidence of people in the system.

The particular scenario you mention is unlikely I think. In 3 years individuals who don't understand won't be minting hardly anything.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
jgarzik
Legendary
*
Offline Offline

Activity: 1470


View Profile
August 10, 2010, 08:21:09 PM
 #3

However, I am curious about how much of the rest of the system security relies on everyone "playing by the rules" and using the standard (or a minor variant thereof) bitcoin program. It seems to me that if someone convinced enough people to use an alternative bitcoin program that generated more or less valid blocks but potentially differed in some other way (perhaps a Trojan), he or she could break or undermine the whole system.

Yes.  The bitcoin paper describes how the network is compromised if over 50% of the nodes are not "honest."  That's inherent in the entire system.  Thus, incompatible or malicious forks are annoying and degrade the network, but shouldn't fundamentally compromise it until that 50% point is reached.  At which point, you have bigger problems.

The forks that are of more immediate concern are ones that destabilize or attempt to corrupt the network somehow, IMO.

Jeff Garzik, bitcoin core dev team and BitPay engineer; opinions are my own, not my employer.
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
epaulson
Newbie
*
Offline Offline

Activity: 6


View Profile
August 10, 2010, 08:46:15 PM
 #4

One thing I've seen over and over with open source projects is their tendency to fork, often to the detriment of everyone involved. Saying that there will never be a major disagreement over the system seems naive.

I guess my real question is, how do we all decide what is the correct bitcoin program? Is it and will it always be whatever Satoshi posts on bitcoin.org? How is that different than just trusting the Federal Reserve? (In Satoshi We Trust)
gridecon
Jr. Member
*
Offline Offline

Activity: 35


View Profile
August 10, 2010, 08:59:49 PM
 #5

This is a complicated topic, but I think the key points are pretty clear and factual.

1. It is impossible to prevent forks - the Bitcoin source is under a very permissive license.
2. There is strong incentive to fork - Bitcoin's growing success and current market value demonstrates the system works. The idea that you can make a lot of easy money by being one of the early adopters of a digital currency and take advantage of the early period of "cheap coin generation" before it becomes widely adopted and difficulty increases makes the idea of starting a "Datadollars" currency community based on the Bitcoin source very appealing.
3. There are already MANY competing digital currencies, to say nothing of existing paper currencies!
4. Bitcoin users generally value "freedom", as defined in various ways, and the freedom to use different currencies is an important economic freedom.

I don't think the appearance of alternative currencies based on the bitcoin model and source code is a bad thing. Bitcoin already has a lot of computational power invested in its proof of work, and that is part of what gives it value, as well as a healthy user community. The importance of that existing investment of resources is significant. I think "forks" will certainly be done for specific purposes, like creating an in-game MMORPG economy that is not intended to be transacted outside of the game or exchanged for "real" bitcoins or other currencies.

I think the real risk to be avoided is fracturing within the official "branded" Bitcoin community. As the utility of bitcoin grows, it is probably necessary to establish transparent decision making processes about things like transaction fees that may need to be changed in the code for future clients.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 2422


View Profile
August 10, 2010, 09:18:41 PM
 #6

The decision-making process of the future will be dominated by the organizations that provide the backbone of block generation. If they don't like a change in the code, they'll refuse to upgrade but will still keep 50%+ of the CPU power. A major dispute between bitcoin.org and the backbone would lead to a serious fork.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
Insti
Sr. Member
****
Offline Offline

Activity: 294


Firstbits: 1duzy


View Profile
August 10, 2010, 09:22:39 PM
 #7

The decision-making process of the future will be dominated by the organizations that provide the backbone of block generation. If they don't like a change in the code, they'll refuse to upgrade but will still keep 50%+ of the CPU power. A major dispute between bitcoin.org and the backbone would lead to a serious fork.

Which puts the banks and their massive dedicated server farms back in charge of our money Sad
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252



View Profile WWW
August 10, 2010, 09:24:25 PM
 #8

The decision-making process of the future will be dominated by the organizations that provide the backbone of block generation. If they don't like a change in the code, they'll refuse to upgrade but will still keep 50%+ of the CPU power. A major dispute between bitcoin.org and the backbone would lead to a serious fork.
I very much doubt that any one entity will ever have 50% of the computational power. The botnet operators will bow to the whims of the community because it's the community that ultimately gives bitcoins value. What good is a giant load of bitcoins if you don't have anyone willing to give you something in exchange for them?

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
FreeMoney
Legendary
*
Offline Offline

Activity: 1246


Strength in numbers


View Profile WWW
August 10, 2010, 09:28:40 PM
 #9

The decision-making process of the future will be dominated by the organizations that provide the backbone of block generation. If they don't like a change in the code, they'll refuse to upgrade but will still keep 50%+ of the CPU power. A major dispute between bitcoin.org and the backbone would lead to a serious fork.

Do you think the damage/inconvenience this would cause would make a strong incentive to just start a new chain with the different rules?

I was thinking this is a nice thing about bitcoin. Only a majority is required for an attack, but you need even more than a simple majority for a smooth rule change (only for certain kinds of changes I realize).

Even if you get 60% to say they'd prefer it to change, will they want it enough to work on a network 60% the size? If half of them won't give up that much then you've only got 30%. Not to mention the difficulty of gauging how much support you have before you actually try. "I'll switch and I have 20000khash!" Okay, add up all the claims...

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246


Strength in numbers


View Profile WWW
August 10, 2010, 09:31:34 PM
 #10

The decision-making process of the future will be dominated by the organizations that provide the backbone of block generation. If they don't like a change in the code, they'll refuse to upgrade but will still keep 50%+ of the CPU power. A major dispute between bitcoin.org and the backbone would lead to a serious fork.

Which puts the banks and their massive dedicated server farms back in charge of our money Sad

Not really.

A group can only corrupt bitcoin if they are in control of so much that they would never want to. If Bernanke had personal income of half US GDP do you think he'd be willing to debase?

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 2422


View Profile
August 10, 2010, 09:32:38 PM
 #11

I very much doubt that any one entity will ever have 50% of the computational power. The botnet operators will bow to the whims of the community because it's the community that ultimately gives bitcoins value. What good is a giant load of bitcoins if you don't have anyone willing to give you something in exchange for them?

If Satoshi starts enforcing a maximum transaction fee (as he's mentioned) and the limit is too low, no one who is generating for profit will "upgrade".

Changing any parameters in a way that reduces profit for generators would have the same result, I think.

Quote from: FreeMoney
I was thinking this is a nice thing about bitcoin. Only a majority is required for an attack, but you need even more than a simple majority for a smooth rule change (only for certain kinds of changes I realize).

I agree. The current economics are perfect, and it would be very difficult for anyone (even Satoshi) to make a major change.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
Insti
Sr. Member
****
Offline Offline

Activity: 294


Firstbits: 1duzy


View Profile
August 10, 2010, 09:34:38 PM
 #12

A group can only corrupt bitcoin if they are in control of so much that they would never want to. If Bernanke had personal income of half US GDP do you think he'd be willing to debase?

I'm not worried about debasing, more about huge transaction fees being inflicted.
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652


Chief Scientist


View Profile WWW
August 10, 2010, 09:49:26 PM
 #13

I very much doubt that any one entity will ever have 50% of the computational power. The botnet operators will bow to the whims of the community because it's the community that ultimately gives bitcoins value. What good is a giant load of bitcoins if you don't have anyone willing to give you something in exchange for them?
Eventually the largest merchants and money exchangers will control what is "standard" bitcoin.

Take the "50-coiners" scenario, and imagine that they manage to get 75% of the CPU power on their side.

But imagine that the biggest merchants and money exchangers are more conservative, and are in the 25% minority.  I think they will be-- I don't think they'll be the ones in the business of generating coins (they'll be busy selling products or doing the exchange thing).

What happens?

Well, the block chain splits.  Transactions using coins minted before the split will get added to both block chains, and accepted by everybody.

Transactions involving "50-coins" (generated after the split) will be accepted on the 50-coin chain, rejected on the 25-coin chain.  And vice-versa.

"50-coiners" would quickly find out that they couldn't get rid of their newly minted money because who wants bitcoins that are rejected by the biggest money exchangers or merchants?

If the big merchants and money exchangers disagreed, I bet you'd see Bitcoin clients that ONLY accepted pre-split coins and did no coin generation (since those transactions would be accepted by everybody).  If it was never resolved, I think the number of Bitcoins at the time of the split would become "the number of Bitcoins, period,"  because most people will not want to use money that is accepted some places and not others.

How often do you get the chance to work on a potentially world-changing project?
NewLibertyStandard
Sr. Member
****
Offline Offline

Activity: 252



View Profile WWW
August 10, 2010, 10:16:01 PM
 #14

Yeah, I agree. I said that the community would decide on the direction of Bitcoin, but what I meant and what you more clearly expressed is that it'll be the bitcoin backers who will decide on the direction of Bitcoin rather than the bitcoin miners. Of course the backers will also have a considerable incentive to keep the network honest, so they'll no doubt dedicate a large amount of CPU cycles to verifying transactions. It's hard to guess whose large amount of CPU cycles will be the largest. Luckily multiple demographics have an interest it, so I hope it will never be taken over. The potential weakness is understandably worrisome the more a person invests in bitcoin, but I think that the longer bitcoin exists without being compromised, the more confidence people will have in it.

Treazant: A Fullever Rewarding Bitcoin - Backup Your Wallet TODAY to Double Your Money! - Dual Currency Donation Address: 1Dnvwj3hAGSwFPMnkJZvi3KnaqksRPa74p
FreeMoney
Legendary
*
Offline Offline

Activity: 1246


Strength in numbers


View Profile WWW
August 11, 2010, 12:13:07 AM
 #15

A group can only corrupt bitcoin if they are in control of so much that they would never want to. If Bernanke had personal income of half US GDP do you think he'd be willing to debase?

I'm not worried about debasing, more about huge transaction fees being inflicted.


Oh, that's no worry, if the transaction fees are huge it will just incentivize medium size players to move in and offer slightly lower rates. Being the biggest 'bank' because people are choosing to pay you for your services is way different than being the biggest bank by forcing everyone else out with laws and weapons.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Insti
Sr. Member
****
Offline Offline

Activity: 294


Firstbits: 1duzy


View Profile
August 11, 2010, 12:21:03 AM
 #16

Oh, that's no worry, if the transaction fees are huge it will just incentivize medium size players to move in and offer slightly lower rates. Being the biggest 'bank' because people are choosing to pay you for your services is way different than being the biggest bank by forcing everyone else out with laws and weapons.
It doesn't help if the big banks are generating all the blocks (with high transaction fees) though. There is no economic incentive to mine at a loss just so you can charge lower fees if you are lucky enough to generate the occasional block.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246


Strength in numbers


View Profile WWW
August 11, 2010, 01:25:15 AM
 #17

Oh, that's no worry, if the transaction fees are huge it will just incentivize medium size players to move in and offer slightly lower rates. Being the biggest 'bank' because people are choosing to pay you for your services is way different than being the biggest bank by forcing everyone else out with laws and weapons.
It doesn't help if the big banks are generating all the blocks (with high transaction fees) though. There is no economic incentive to mine at a loss just so you can charge lower fees if you are lucky enough to generate the occasional block.


They won't be mining at a loss. If the average cost per transaction is .00003BTC and the BIG BIT BANK charges .00007 there is a huge profit opportunity to charge .00006. If it actually costs about .00003 then you can't complain about being charged 'high fees'.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
caveden
Legendary
*
Offline Offline

Activity: 1106



View Profile
August 11, 2010, 08:15:39 AM
 #18

Or do people have the right to make a fork, despite the negative consequences?

I think so.
Actually, that's the very idea of a free currency market. If for some reason another system beats bitcoins, well, that's competition! That's not "bad consequences".

The only important thing to mind is avoiding non-bitcoins to be mistaken by "true bitcoins". This is important. And I think this is very well protected by the algorithm itself.

18rZYyWcafwD86xvLrfuxWG5xEMMWUtVkL
FreeMoney
Legendary
*
Offline Offline

Activity: 1246


Strength in numbers


View Profile WWW
August 11, 2010, 08:23:27 AM
 #19

Or do people have the right to make a fork, despite the negative consequences?

I think so.
Actually, that's the very idea of a free currency market. If for some reason another system beats bitcoins, well, that's competition! That's not "bad consequences".

The only important thing to mind is avoiding non-bitcoins to be mistaken by "true bitcoins". This is important. And I think this is very well protected by the algorithm itself.

Absolutely agree.

There is a difference between forking bitcoin and starting a new currency. I think both are 'moral' or whatever I just don't think there will be enough CPU power dumb enough to fork bitcoin. There very well could (certainly will?) eventually be a new currency system. Maybe it will be different enough to coexist by satisfying different needs, or maybe bitcoin will get blow away by something just totally better. As always, the first to realize what will work best get rewarded.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
epaulson
Newbie
*
Offline Offline

Activity: 6


View Profile
August 11, 2010, 03:33:24 PM
 #20

Quote
I just don't think there will be enough CPU power dumb enough to fork bitcoin.

A lot of people go into business partnerships (or marriages) assuming there will never be any serious disagreements. I forsee that if bitcoin ever gains enough acceptance to have some significant money involved, there will inevitably be disagreements and even lawsuits about some of the things that are currently established only via consensus. Imagine someone getting a court order mandating everyone must use a particular bitcoin program (or *not* use a particular one) because alternatives cause them "financial harm."

Everyone here (including myself) is more intrigued by the technical aspects of bitcoin, but the social (and perhaps legal) aspects of the system are ultimately going to be more important, unless someone can figure out a way to solve these problems technically. If bitcoin is ever going to succeed beyond a novelty, these issues are going to have to be resolved somehow.

I'm no expert at "social engineering" but I think this needs to be a priority sooner, rather than later, if the project is ever going to succeed significantly. In the absence of some sort of cryptographic method (voting via CPU power?) which I would love to see, I think there needs to be an official, or even legal, framework about how decisions are going to be made when serious disagreements arise.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!