Bitcoin: Contentious hardforks do not entail death: contentious hardforks ARE death.

in bitcoin •  8 years ago  (edited)

Contentious hardforks do not entail death: contentious hardforks ARE death.

Meta Analysis On Hard Forks

Regardless of what your personal opinions about what the "correct" blocksize for Bitcoin's longest chain may be, there lies a fundamental split in ideology of which the so-called "blocksize debate" is merely a symptom.

Both people with the belief in 1MB-blocks and larger-than-1MB-blocks have presented the pros and cons of each approach, thinking that this is the root of the issue—except it's not.

This debate actually has nothing to do with block size. Let's take a lesson from Ethereum.

A Valuable Lesson From Ethereum—If We Are Willing To Heed It

Vitalik has, in effect, expressed his belief in his ability to set monetary policy for Ethereum by releasing and promoting a hardfork to revert the effects of the exploit/hack of The DAO, creating a new currency with new consensus rules which happens to, by social consensus, inherit the symbol ETH as the logical successor. Some people agree with him, and have adopted his hardfork. Some have not, and have continued to run so-called Ethereum Classic, "ETC" (the name of which is funny, as the now-defunct Bitcoin Classic was the divergent 2MB hardfork for the bitcoiniverse - the inverse of the ETH/ETC situation).

This is demonstrably bad for holders, speculators, and end users of both ETC and ETH. It calls the entire consensus of the community into question, regardless of who you think is (or might actually be) right.

In my estimation, this will effectively destroy all the value in both Ethereum chains and currencies, over time. Hopefully I'm wrong, but I truly believe that most people came to cryptocurrencies to avoid the future decisions of strangers affecting the meaning and value of their currency. Vitalik's demonstration of his belief in being Ethereum's Benevolent Dictator For Life (BDFL) is a strong signal to those who want to use a currency without central planning, and it screams: "Ethereum is mine to decide, not yours." Ethereum Classic's existence and growth is our lesson.

What To Do?

Back to Bitcoin. There are people who believe that bitcoin-the-currency or bitcoin-the-blockchain is mostly complete, done, finished; not in the "over" sense, but in the "this painting requires no more significant brushstrokes" sense. This is not to say there won't be features added to support additional use cases (e.g. CLTV) which are fine and good, but these do not fundamentally change what bitcoin is, and are not contentious. This belief is demonstrably shared by a majority of those running bitcoin nodes, as the majority of these participants have, thus far, refused to run any code implementing contentious hardforks. Bitcoin has one chain, and I both hope and truly believe that it will remain that way. There's simply too much value at stake.

Block size, block interval, block reward, proof of work algorithm: these are in the set of things that primarily define bitcoin-the-blockchain emotionally today to its participants. Attempt to change any of these, and you will fracture the community into factions. This is the real danger of the block size debate, not full blocks. Full blocks suck, but can be lived with. A split like ETH/ETC cannot, which is something Mike Hearn failed to understand when he undertook the very public failure that was the Bitcoin XT hardfork attempt.

The current core devs of bitcoin recognize that Bitcoin-Core-the-software is the predominantly used implementation of Bitcoin-the-blockchain (and their stewardship over that software, correspondingly) because the users, in aggregate, trust them not to make people take risky choices about forks in an atmosphere of uncertainty. That's the crux of it, in short: that the core devs are the core devs because they refuse changes that will cause contentious hardforks - regardless of what those changes may entail.

Bitcoin-the-blockchain is not broken, full blocks or no. To push a contentious hardfork is to assert that the core developers know better for the future of bitcoin than those who run full, validating nodes. The core devs rightly understand that their opinions about bitcoin are no more relevant or valid to the community than those individually held by the participants.

First and foremost I am a proponent of voluntary and consensual interactions. If you think I'm wrong, please go and make a hardfork, and tell the world that they're better off running that one. Both Bitcoin Classic and Bitcoin XT have attempted this. It is a valid approach, and commendable if you believe that developers have a responsibility and obligation to navigate contentious hardforks.

Forking bitcoin is your right as any other open source project. If you believe the core devs are wrong, you are encouraged to try, and join the list of people who have failed to appoint themselves Bitcoin's BDFL. :)

The participants in the bitcoin validating node community have spoken, though: we don't want that, and you can't force our hand.

(I frequently wonder: was perhaps the tyranny of the majority an explicit design goal of Satoshi? It certainly seems to be in the US Constitution's process for incorporating amendments.)

It is a rejection of central planning, not a rejection of bigger blocks.

It's not all doom and gloom for those who wish to scale bitcoin's real-world use, though. There has not been contention surrounding the various minor enhancements to bitcoin-the-blockchain to support alternate methods of scaling, like trustless, off-chain, bitcoin-denominated settlement such as that described by the Lightning network. This is great news, Lightning or no, because it means that people are open to the idea of bitcoin being all things to all people, provided it doesn't cause waves in the global consensus database. Build on top of it, like HTTP, using extensibility mechanisms like CLTV, or whatever else we need to implement to support it (off chain), but you don't need to modify the underlying protocol that affects every single participant globally.

Summary

Block size is a distraction. Bitcoin-the-blockchain is determined by the validating nodes, and there is no question that causing there to be significant disagreement among that group is extremely destructive to all participants. Attempts to push a "right answer" given the pros and cons of various blocksizes triggers that destruction, even if the answer so derived is logically the "best approach given the options".

Love the bitcoin-you-have. We do, and a majority of us will resist changes by anyone, core devs included, to mold it into the bitcoin-you-wish-it-to-be. Focus your energies on scaling that bitcoin instead of drumming up support for forking, which harms everyone even if you "win".

The majority of us will never subscribe to your, or anyone's governance.

References

About The Author

Jeffrey Paul has been writing and speaking about Bitcoin since 2009. The founder of EEQJ and keytern.al, he can be found on Twitter at @sneakdotberlin.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Here here, you said it better than I ever could.

The Ethereum fiasco has challenged everything we thought about crypto right down to its core. It proves that money is only what people agree is money, and people tend not to agree very often.

good

you are incorrect about being able to live with full blocks. It breaks the performance assumptions of the bitcoin protocol. for example zeroconf becomes totally unusable with full blocks. Nowhere in the satoshi whitepaper was 1MB blocks mandated. Vested interests that want a fee market are keeping the blocksize limited.

also bitcoin classic is still alive and well and the second most popular bitcoin with about 10% the number of bitcoin core nodes: https://coin.dance/nodes

there is no rational technical argument to keep the 1MB size

  ·  8 years ago (edited)

No, individual participants are keeping the blocksize limited. Nothing stopping you or anyone else from running Classic or XT if that's what they want to do.

They don't.

you do realize the core version requires opting OUT of and classic opting IN. Not sure if you are familiar with the difference in adoption rates between something that is optin vs optout. 10% have opted into classic. If the main devs say X must be the way, the vast majority will just go with that. If you will ignore this effect on the usage rates in the market, then there is not much point to debate as your position is that if people wanted it, they would use it, so whatever is being used is what people want.

That is like saying that people in USA could be using the EUR, they just all choose to use the USD. You cant ignore the existing infrastructure and environment and use the usage stats to confirm your bias. Well you can, but you would be biased.

I suggest you study a bit about comparative statistics

People are not born running bitcoin. They choose an implementation when they adopt it.

If the main devs say X must be the way, the vast majority will just go with that.

My post indicates that I believe this to be destructive. A vast majority is still a forked chain. You have deftly missed my point.