top | item 10068427

Why is Bitcoin forking?

134 points| edward | 10 years ago |medium.com | reply

81 comments

order
[+] lawn|10 years ago|reply
For more context, here's a list of posts by Mike giving some background and some more thoughts:

The capacity cliff: https://medium.com/@octskyward/the-capacity-cliff-586d1bf771...

Crash landing: https://medium.com/@octskyward/crash-landing-f5cc19908e32

On consensus and forks: https://medium.com/@octskyward/on-consensus-and-forks-c6a050...

They were quite useful for someone not familiar with the topic.

[+] Taek|10 years ago|reply
Let's balance the discussion out a bit:

Greg Maxwell's thoughts (small blocks): http://sourceforge.net/p/bitcoin/mailman/message/34090559/

About internet bandwidth growth (~neutral): http://rusty.ozlabs.org/?p=493

An attempt at a well-rounded overview (~neutral): http://rusty.ozlabs.org/?p=535

some thoughts by bittorrent creator Bram Cohen (small blocks): https://medium.com/@bramcohen/bitcoin-s-ironic-crisis-32226a...

Some thoughts by gavin andresen (large blocks): http://gavinandresen.ninja/

[+] Taek|10 years ago|reply
For people who have not been following along, the Bitcoin block size debate has been very intense and pulled out a lot of interesting psychology from the Bitcoin community.

Most of the core devs of Bitcoin are strongly opposed to increasing the blocksize to 8mb. 2 people in particular, Mike Hearn and Gavin Andresen, have been making very strong political pushes to get the majority of Bitcoin users to favor their block size limit increase proposals, and it appears that they have largely been successful.

Everyone has an opinion on the block size debate, and it has become clear that politics are very important to Bitcoin. Bitcoin is a complicated and delicate protocol, and having a qualified opinion on something like the blocksize debate likely requires around a year of studying the academic properties of Bitcoin. Most people don't realize this, and hold their own opinion in high esteem. In many ways, this would be similar to non-cryptographers engaging in debates about key scheduling in AES - it takes a lot of education before you are really qualified to make an opinion.

Unlike AES however, with Bitcoin most people believe that they have a qualified opinion, and actively engage in debate, religiously clinging to certain ideas without properly grasping their full implications.

Perhaps even more interesting is all of the drama and chaos on /r/bitcoin. Right now there are posts with 93% upvotes requesting that the moderators be replaced. The comment threads have lots of brigading, trolling, loudmouthing, and occasional spurts of academic discussion.

There are many accusations of the moderators censoring discussion that opposes their viewpoint on the subject. The moderators have been very active in deleting posts. Certainly many of the deletions were of garbage comments, but there also seems to be abuse-of-power happening.

Certainly there are many people trying to be as disruptive as possible, and deleting their comments only results in more assertions of censorship.

One big controvertial decision by the moderator team was to censor all posts relating to Bitcoin-XT, a client that runs code which will hard-fork Bitcoin after reaching 75% miner-usage. The two biggest proponents of the block size increase are responsible for XT, and censoring posts about XT seems synonymous to censoring topics about the block size. 'Off-topic' really doesn't seem like an appropriate label.

The behavior of proponents of both sides of the debate has been abysmal. Something in Bitcoin is broken, and it's not just related to the block size limit. The decision making process, and 'social consensus' process as a whole, needs improvement.

[+] zekevermillion|10 years ago|reply
There is no law against publishing software that would introduce a blockchain hard fork if run. Yes, XT infuriates those who hope to make money based on the appreciation of their pre-fork bitcoins. Publishing XT introduces economic uncertainty in the short term, and long-term undermines confidence that we can rely on the mathematical promises of bitcoin at all. If XT is successful, why wouldn't Hearn (or Coinbase, or another person with interests divergent from large bitcoin holders) publish XT 2.0 removing the coin max? Or introduce any number of other inflationary changes?

If it can be done, eventually it will be done. It's inevitable that people will eventually propose all manner of changes to bitcoin, some good, some stupid. Real bitcoin (or original bitcoin) could still continue to run as its own fork, in the background, waiting for the market to decide on a winner. Just as it is inevitable that developers will propose a small infinity of bitcoin-derived altcoins, trying to capture the windfall of a self-published bootstrapped currency. But very few altcoins will become successful networks in the long term, a smaller and smaller percentage of new coins as time goes on.

Either Hearn and Andresen are correct, in which case their success will speak for itself -- even if they totally screw over the large bitcoin bag-holders in the process. Or, XT will become an insecure, centralized network and will die off on its own. No need for politics, in this case mathematically dictated incentive structures will decide who wins.

[+] hollerith|10 years ago|reply
>Yes, XT infuriates those who hope to make money based on the appreciation of their pre-fork bitcoins.

Could someone explain how the XT fork might affect the future value of currently-existing Bitcoins?

I expected it to have a neutral effect, since one fork will eventually die out (and since the fork does not try to change the rate at which Bitcoin are created). Even if both forks persists somehow, every holder of a current Bitcoin will essentially have 2 Bitcoin -- one spendable on one fork, another spendable on the other.

[+] pron|10 years ago|reply
> No need for politics, in this case mathematically dictated incentive structures will decide who wins.

Whenever I see a statement like this I smile because that's what politics is[1]. If many people decide to do something based on their interests (rather than, say, being forced to leave their homes because of an erupting volcano) -- that's politics. Thing is, people who say they hate politics usually don't know what it is, and the result is that they just do politics badly. You can't not have politics in any social structure -- it is an inherent process in any kind of social interaction. Whenever one person tries to convince someone to do something, or to reach any sort of an agreement -- that's politics by definition. Whether the incentive are mathematical (though they never really are when it comes to humans) or not doesn't matter. Politics is the process by which a decision -- any decision -- is eventually taken by a group.

[1]: https://en.wikipedia.org/wiki/Politics

[+] heinrich5991|10 years ago|reply
>If XT is successful, why wouldn't Hearn (or Coinbase, or another person with interests divergent from large bitcoin holders) publish XT 2.0 removing the coin max? Or introduce any number of other inflationary changes?

That's a rhethoric device one should avoid using.

[+] im3w1l|10 years ago|reply
This was bound to happen sooner or later. Good that is "only" about something relatively minor like this, so that the community can practice handling it. Maybe later there will be a conflict where serious money is on the line and it would be bad if that was the first one.

I mean this change will affect miner revenue, but transactions fees are still completely insignificant compared to block rewards.

[+] ctz|10 years ago|reply
I thought that if the split does happen all existing coins will be spendable on both sides of the split. Does that not count as 'serious money' on the line?!
[+] wslh|10 years ago|reply
Security is my concern, even simple changes open big bugs. Bitcoin is not a blog engine where you are just exposing your content, it is one of the most delicate protocols found on Internet and most transactions are irreversible (indeed all transactions are irreversible but sometimes you can recover your money).

Forking code sounds great but we are talking here about money and assets, I would prefer agreement even when distributed systems are exciting.

[+] FatalLogic|10 years ago|reply
Yes, but Bitcoin really is just an experiment. If something in it is fundamentally not going to work, (including the consensus development concept), then isn't it best to blow up and fail now when there's only $4 billion at stake, instead coddling it until it stagnates and dies, or until there are trillions of dollars at risk?

"...bitcoin is an experiment. It's getting to be a scarier and scarier experiment as it gets larger and larger, because if it fails there will be a lot of people who will lose the money they've invested..." Gavin Andresen, Bitcoin Developer, 2014 - http://www.econtalk.org/archives/2014/05/gavin_andresen.html

[+] compcoin|10 years ago|reply
Bitcoin is Forking on it’s principals

There is great debate and concern about Bitcoin trying to change its core software. Network tests have found the credit card processor can process many more transaction per second than Bitcoin can. Some influential leaders want to make changes that will make the protocol more competitive with VISA/MASTERCARD. They want to change increase amount of transaction processed in each block (the block in blockchain technology). The important issue is not about changing Blockchain size it is about changing the hard coded rules that are the foundations for trust in Blockchain based systems. What is there to stop future forks that change other rules that users relied upon in their choice to participate in this financial system. Lets say some economic interests in the future lobby the influential core developers and miners to change the amount of coins mined in the future to let say 100 million. If the users rely on the software to enforce it rules any important changes to the rules that are significant can effect the end users in unpredictable ways. The users of Bitcoin have no say. Once again a small group is making choices and if they are wrong they can destroy the entire system. A system that relies on influential few promoting there own economic interest is no better than a public company issuing out more shares when they see the need or the government printing more currency. Those who want to take Bitcoin into direct competition with VISA/MasterCard should simply create a new coin designed to do this. There is so much more to the potential of the protocol than just a cheaper way to spend money. The principal of hard coded rules they can not be changed and are enforced by the software is one of the true revolutionary idea’s of Bitcoin. There is more at stake than creating competition for banks. Its about staying true to a financial system rules that users chose to participate in.

[+] harryh|10 years ago|reply
Bitcoin originally did not have this 1MB limit. It was only added when there were concerns about spam transactions or blocks that could clog the network.

Why do you think it was OK to make a change to add a limit but not make a change on the size of the limit?

[+] corv|10 years ago|reply
As can be seen on http://xtnodes.com/ there is significant growth in full nodes running code for larger blocks.
[+] bhouston|10 years ago|reply
Is this also sort of a coup attempt? The way this is being done sort of feels like that to me.

If there is a fork and it is because of this advocacy of Mike Hearn and friends, do they become more prominent as the defacto leaders of bitcoin?

[+] jamiesonbecker|10 years ago|reply
> Why is Bitcoin forking?

"Why are we forking Bitcoin?"

[+] ryanmarsh|10 years ago|reply
With so much money at stake (and potentially large concentrations of it) why isn't there much of a governance model for Bitcoin?

I see many articles touting the so called democratic governance model of Bitcoin and if that is indeed the model then what other "popular delusions and madness of crowds" will my money be subject to in the future?

[+] tomp|10 years ago|reply
Are they also doing anything about the centralization of mining pools? AFAIK, the main problem is that right now it's possible for miners to prove that they were mining "for the pool" and not for themselves. If this proof was impossible, each miner would be a selfish miner and any collaboration would be impossible.
[+] ProblemFactory|10 years ago|reply
Would that reduce the centralisation though?

An independent miner with an average affordable rig might find somewhere on the order of one block per year on average. This means that due to variability, a good proportion of miners would not find any blocks at all within the lifetime of their hardware, and give up forever.

If low-income-variability pooled mining becomes impossible, then my guess is that mining will be centralised to people who run purpose-built datacentres full of miners, not the casual users.

[+] davidgerard|10 years ago|reply
All of this is noise. The opinion that counts is the miners: if the four largest mining pools go for it, it happens; if they don't, it fails.
[+] lambda|10 years ago|reply
Mmm, no. If the four largest mining pools go for it, but the various exchanges and online wallets do not, then you get a very dangerous fork where you now have two separate currencies, and have the possibility of double spends. The nodes that are not updated to allow these larger block will keep on going along with their chain, just rejecting the other chain as invalid; and the ones that do accept the larger blocks will probably see their chain as longer and so only accept that one. That fork means that until all of the online wallets, exchanges, and anyone accepting Bitcoin directly realize that there are now two different currencies, all kinds of fun can be had with double spending.
[+] bakhy|10 years ago|reply
what exactly happens to the value of the currency after the fork? the number of Bitcoins in circulation effectively doubles?
[+] paulhauggis|10 years ago|reply

[deleted]

[+] zzalpha|10 years ago|reply
This is actually a very instructive example.

In the GW debate we have folks saying things like "I'm not a climate scientist but I know global warming is a lie". That's pretty similar to this case where there's this belief that the opinions of non-technical folks should be held in the same esteem as those of technical folks.

I think this comes down to the same basic cultural trend: a desire for everyone's opinions to be of equal value regardless of individual merit, a deep distrust of science/engineering/etc, an assumption that by reading a couple of echo chamber blog posts anyone can become an expert on anything, and a rejection of any and all authority.

It's really pretty fascinating, if troubling.

[+] yenda|10 years ago|reply
I don't see the connection to the global warming debate. Clearly no-one listens to the so called "gods" in the global warning debate even though the consequences become clearer and clearer every year.
[+] nathanm412|10 years ago|reply
The global warming debate is long settled by pretty much everyone doing research in that area. If that is an example to your case, you didn't make it very well.
[+] zzkt|10 years ago|reply
I'm certain everyone with an opinion on AGW has read AR5 from cover to cover.
[+] datashovel|10 years ago|reply
It's somewhat ironic that one of the big selling points of Bitcoin was decentralization. The thing that they failed to realize is the team also needs to be decentralized. For something like this to take off it needs to be a specification for a federated network with zero single points of failure, and not an actual codebase with a dedicated team.
[+] gus_massa|10 years ago|reply
> specification for a federated network with zero single points of failure

The problem is that some people want to change the specification (bigger blocks) and some want to keep the current specification. The block size is part of the specification or that it's only an implementation detail?

For me, it's not clear what a "specification for a federated networks" means

* One interpretation is that the specification is written in assembler and is the current official Bitcoin client, and any other client has to be 100% bug compatible with it. Nobody can change it ever.

* Another interpretation is that anyone can add a new version inside a general framework, and somehow the people decide which version to use. You need some kind of number identifier for each version, or to make it user friendly you can use a nickname. If the network is too general, you can include Bitcoin and Litecoin (and all the Altcoins) in it. The network is just Internet.

Both alternatives have "zero single points of failure". The problem is that people want something in between.

[+] facepalm|10 years ago|reply
There are several different implementations of the protocol, nobody controls "THE" codebase.
[+] mahouse|10 years ago|reply
It was just naïve to think that a decentralised monetary system could work. Some people think that regulation is evil.