In a slideshow published by Brian Armstrong, CEO of Coinbase, he promotes the view that Bitcoin is currently undergoing a winner-takes-all elections, and that variety in Bitcoin protocols is akin to variety in web browsers.
I find this incorrect, misleading and destructive.
Unlike physical currencies, governed by the laws of nature, and centralized currencies, governed by the whims of their issuers, it’s not at all obvious what ultimately governs a decentralized digital currency such as Bitcoin. There’s the protocol and the code, of course, but those are mutable and thus adhere to a higher authority.
This authority is the agreement between people – as long as users agree to use a currency with a specific protocol, this currency exists and is usable and valuable. If users agree to collectively switch to a different protocol, so be it.
But a core part of Bitcoin’s vision is that users can also agree to disagree. If a group of users wants to use a specific protocol, they have the right to do so, regardless of what anyone else says. Nobody can force a user to adopt a specific protocol. Bitcoin is not, and never has been, a democracy, governed by majority vote. It is something much better, a plurality – the ability of everyone to choose their own path.
Of course, if the advocates of a specific protocol are too few, this will make their currency less usable. So if at all possible, users have an incentive to go with the flow, join the majority and enjoy the network effects. But if it’s not possible – if the disagreement is too severe – they have the sacred, inviolable right to split off; and it is important that everyone remembers they have this right, and not be fooled by anyone who wants them to think they must settle for the view which happens to be dominant at the time.
I used to think this was meant to be only a theoretical possibility, something that exists to keep everyone working together, and protect against rogue developers. But it’s no longer theoretical – I believe we have reached the point of no return, where we have 2 warring camps disagreeing on so many levels that a compromise will not be found. So we should split, let each faction live in peace, and make sure we do it as cleanly as possible. My views on this matter have not changed considerably since I wrote this post to the same effect half a year ago.
So much for the vision. As far as technical details go, there is indeed an instability inherent in having multiple major currencies based on the same PoW hash function. This can be alleviated by one of the sides switching to a different hash function – but in any case, it’s important to first understand the vision, then work out the technical details.
It has been suggested that in past instances of a hard fork, the network quickly collapsed on one of the sides. But this is of course ridiculous. There was never anything in the history of cryptocurrencies that even remotely resembled the situation we have now. There is no past experience to draw on. All we have is the realization that there are powerful forces on all sides of the debate which are not going to simply capitulate.
Some think that the network effects will be overwhelming, and everyone will abandon the minority chain in favor of the major one. But this view is easily contradicted by the existence of hundreds of alts – 50 of which have a market cap of over a $1M, which is nothing to sneeze at. Some are junk; some enjoy a decent following despite no real innovation, such as Litecoin; and some are hailed as the future of cryptocurrency, such as Ethereum. All of them are operational, and have a following, small as it is. They are not abandoned in favor of the bigger Bitcoin network, because each of them has advocates believing it offers something that Bitcoin does not. The situation is no different with a split in the Bitcoin network.
Finally, it’s important not to be confused between variety of protocols, and variety of software implementing a given protocol. I can use Thunderbird to send an email to someone using Outlook. I can browse a web page and see more or less the same thing whether I’m using Firefox, Chrome or IE. Analogously, I can use Bitcoin Core to send bitcoins to someone who uses Electrum – this is because both programs adhere to the same underlying Bitcoin protocol, and are thus compatible and interoperable. But the situation is very different if the sender and receiver obey different protocols – because what I am able to send is different from what the other party is able to receive.
The situation is much worse than with traditional software, because what I’m sending is not just information, but rather tokens of value. So any compatibility layer will be fundamentally financial in nature, not programmatical. Perhaps one day we will have the infrastructure for seamless conversion between different digital currencies. But until then, we should see the multiplicity in protocols for what it is – a hard split into incompatible currencies – and not muddy the discussion with naive, broken analogies to web browsers.
It would make me quite happy if a compromise is found that will allow all current Bitcoin proponents to be part of the same network. But if not, I like having the option to split, and will defend our right to do so. You should too.