First, lets take a lay of the land. There are three branches of Bitcoin governance:
- Nodes: A computer that connects to the Bitcoin network is called a node.
- Full Nodes: A comupter that downloads newly mined blocks and ensure that all transactions conform to consensus rules, and are also responsible for relaying transactions across the Bitcoin network.
- Miners: A computer that executes proof of work to create Bitcoin blocks.
- Developers: A contributer to Bitcoin source code and consensus rules.
- Soft Fork: Adding rules with a backwards compatible change to the protocol, that weaks security for nodes that don’t upgrade.
- For example, if an arbitrary rule requires a value must be between 1 and 10 a soft fork could reduce this to require the value be between 1 and 9.
- For the soft fork to activate, 95% of nodes in the Bitcoin network have to upgrade. When a soft fork is made, all nodes (upgraded or not) continue to recognize new blocks and maintain consensus on the blockchain.
- Hard Fork: Removing rules with a backwards incompatible change to the protocol, that breaks security for nodes that don’t upgrade.
- For example, if an arbitrary requires a value be between 1 and 10 and a hard fork increased this to require the value be between 1 and 11 a fork of the blockchain occurs if any blocks are mined that produce a value of 11 while other blocks are still being added to the original chain with its limit of 10.
- To recognize new blocks all nodes in the Bitcoin network have to upgrade. When a hard fork is made without consensus nodes running the new software separate from the previous version, and blockchain forks into two chains.
If you were going to redesign Bitcoin today, you would change more than a one or two things. Schnorr signatures, segregated witness, mining pools, the technical laundry list could go on and on. I’m not a developer on Bitcoin, but Rusty Russell is, and he has an excellent technical list of his proposed improvements that I recommend reading here. You could easily make all of the desired improvements to Bitcoin if it didn’t have this pesky thing called an economy.
Bitcoin has its technical hurdles, and the challenge is to overcome them while building on top of the existing infrastructure, without crashing a multi-billion dollar network, without politics.
Believe that if you want, but it is the truth that most of the current developers are interested in Bitcoin as a decentralized consensus system existing outside and above the realm of human affairs. Lose that property, and it ceases to be an interesting system.
I’m passionate about Bitcoin. I have zero passion for majority-vote to change the rules [of the] system. We have one of those already – it’s called fiat.
Say you don’t want to contribute to Bitcoin, your options are:
- Start an altcoin: walk away and start over.
- Hard Fork the chain: take what percentage of the network that you can and run with it.
In the past, the community viewed the uncertainty of forks as an attack on Bitcoin itself. Fork announcement would cause a price dip, and angry Reddit posts ensue. More recently the opposite trend has emerged. Forks mean free money right? Compared to previous attempts like Bitcoin-XT or Bitcoin Classic, the recent Bitcoin Cash forks has rallied a token value above $0 and incentivized more forks like this in the future.
At a political level, I want a cryptocurrency that isn’t controlled by politicians because that vision was the entire point. At a technical level, I want a Bitcoin that can sit on a piece of hardware, be ignored for five years and still come out Bitcoin, not 1 Bitcoin Cash, 1 Bitcoin Clashic (Yes, Bitcoin Cash just forked), and 1 Bitcoin Gold.
Hard forks without consensus are not Bitcoin.
The first thing to do is to start running a full node.
Looking into the Bitcoin community, there is so much noise, technical jargon, and sock puppet accounts it’s difficult to separate truth from falsehood. Consider what percentage of bitcoin users have tried using the full functionality of the protocol.
User Level Bitcoin Experience:
- Buying/Trading bitcoin on an exchange
- Sending bitcoin peer-to-peer
- Running a full node
- Sending bitcoin in command line
- Bitcoin scripting (using different transaction types in bitcoin-cl)
Most users don’t ever surpass level two, which is sufficient for owning and using bitcoin. But the lack of widespread use for features like muiltisig or timelocked transactions is a substantial gap between the average user and the developer community. Contentious hard forks exploit the gap between the publics technical understanding and real solutions that are technically viable.
- Bitcoin Cash launched on the wedge issue of the blocksize debate, claiming that Bitcoin should be more like digital cash than digital gold. Then it launched without a public testnet.
- The Segwit2X planned fork platformed to counter the adoption of Segwit into Bitcoin, claimed to improve speed and cost of transactions. Developers refused to implement replay protection, functionally opening up users to having coins stolen on one chain after transacting on the other.
- Bitcoin Gold launched on the wedge issue of decentralization, claiming that Bitcoin would be more decentralized with GPU instead of the current ASIC mining. Yet they launched without addressing the long-term centralization issues of their development, and recently published a critical warning on a “hack” discovered on their Windows Wallet.
Hard forks without consensus look more like elaborate pump and dump scams to buy more BTC rather than noble proposals to improve Bitcoin. None of the forks meaningfully address the technical concerns they claim to solve. They are not designed for longevity, and none of them will exist in five years.
Ultimately the chaos will only evolve users and the community to be more resilient. The crypto space isn’t for regulators, it’s for people who want the freedom and accept the responsibility of managing their own money. Fork scams be damned.