Friday, January 12, 2018

Why Bitcoin Core and Bitcoin cash both make sense !

The other day I was reading an excellent blog by Vinny Lingham on the differences between Bitcoin Core and Bitcoin Cash. What I appreciated very much is his attempt to take the heat out of the intense discussions between 'followers' or 'supporters' of these two bitcoin types. And his overview inspired me to reflect a bit more on the reason why actually both Bitcoin Core and Bitcoin Cash make a lot of sense and why there is no need for petty bickering given the open source philosophy on which both protocols are based.

Essential philosophy of Bitcoin: everyone may participate in each role
If we look at the design philosophy of bitcoin, the essential idea is that all participants may act as a user or a producer (miner) at the same time. This is very much in line with all other P2P business models that we see emerging, based on networked technology. With AirBnB, owners of houses also become producers and numerous other sharing platforms seek to achieve the same.

The combined producer/consumer role in bitcoin is very much in line with the design principle to outsmart the centralized institutions of a central bank that issues fiat-currency or with similar players as banks which have their own specific their role in the money-value chain. 

However, the obsession with the dominant role of central banks and banks is so strong in the bitcoin world, that there is too little attention for standard logistics/economics, when looking at the basic proposition of provision of payment services by all to all. So let's have a look at those logistics.

Logistics of any peer-to-peer value exchange system
Anyone participating in payment systems will recognise that a full peer-to-peer system is intrinsically inefficient. Imagine a market fair where all participants are both buyers and sellers. They could pay each other after each sale and hand over cash or other payment instruments. This provides everyone with instant security and payment, but also with cash in hand and time spent to make and accept payments.

Now, if the fair happens regularly, some smart participants will come up with a more efficient idea, which is to not pay after each sale, but to keep track of all payments and net out the payments via clearing cycles. Effectively this is what already happened during the payment days of late medieval fairs and can be witnessed in all kinds of informal or formal constellations (clearing houses etc) that have come into existence since then. 

The conclusion is therefore that, wherever payments are made, at some point in time a new underlying structure will evolve in which specialisation occurs. Those that are very active participants will have different roles and interests than those that only use it sometimes. And it's the active community that will seek some efficient alternatives, while the less-active part will go with the flow. Eventually you will end up with a specific constellation that works for that payment community. 

In these constellations, you will see distinctions in roles such as:
- small users
- big users
- big providers of payment mechanisms
- clearing agents for providers
- settlement agents for providers
- super settlement agents (mostly, but not necessarily, central banks).

The inevitable specialisations in the bitcoin community
If you start a payment system, such as bitcoin, from scratch by allowing everyone to fulfill every role in the system, economics dictate that in the end specialized roles will occur. We've seen this happening early on with the difference between light-wallets and full nodes. Similarly different players have chosen to serve a different part of the value chain.

In the context of an open source protocol, it is just as inevitable that opinions differ on the most efficient way forward. And that's where both Bitcoin Core and Bitcoin Cash have a valid proposition. 

As the blog by Vinnie Lingham outlines, the Bitcoin Core community sticks with the idea that as a design principle all users must be able to run a full node. Scaling and performance issues for the payments mechanism can be solved by adding an outside transaction layer, meaning that Bitcoin Core chooses to be the settlement layer (in classic payment terms). 

Bitcoin Cash on the other hand takes the economics of payment systems as a starting points and accepts the economic reality that in practice, the majority of bitcoin users will not (and cannot) be producers at the same time. Their philosophy is to not tamper with security choices in the area of digital signatures but simply increase the block size, in order to cater for the end-user need to have easy, cheap, simple and fast value transfers. In doing so, they remain IMHO closer to the original idea in the Bitcoin paper (provide an alternative easy fast and cheap transfer mechanism) than Bitcoin Core. 

Stop bickering please !
I am amazed at the amount of energy and emotions that are wasted in the crypto community in what comes down to petty bickering. Whether this is between Bitcoin Core and Bitcoin Cash or between whichever of the other cryptocurrencies, blockchains or DLT-designs. 

It is and was inevitable for the bitcoin protocol to run into the standard efficiency problem for evolving payment and settlement mechanisms. It is just as inevitable that different solutions exists and both Bitcoin Core and Bitcoin Cash are equally valid. The one just wants to end up becoming a settlement layer provider while the other wants to be stick to the user layer of payment systems. Where is the harm in that?

The open source philosophy means that we will see in practice which solutions play out best for the ecosystem(s) and rather than bickering about advantages or disadvantages we should cherish the variation and choice that the open source philosophy brings.