The illusion of understanding

I’ve noticed that certain ongoing arguments happening in the Bitcoin space are drawing battle lines between “technical vs. non technical” users. Those distinctions are being used to belittle or dismiss a non technical opinion.

I wanted to reduce this division by giving some background and analogies and lowering the pedestal devs are placing themselves on.

A Formula 1 race mechanic is at the pinnacle of technical expertise, yet he cannot for even a second drive an F1 car or understand how it handles in real life. Instead, the non technical driver has a complete understanding of how the car is performing and probably why it is performing in certain ways. He is able to describe this to his mechanic in such a way that the mechanic can make changes to the cars setup to allow it to race better.

The driver would be useless without the mechanic as would the mechanic be useless without the driver.

I could consider myself “technical”. I studied electronics, have designed computers, designed and built much of the Internet infrastructure and even developed code back in the day.

I understand Boolean and the raw instructions that CPU’s use, I can write in machine code and I have a spattering of older languages like BASIC, Fortran, Pascal and I wrote an entire accounting package for a mainframe computer in COBOL, while maintaining the hardware of that computer.

Despite my technical knowledge, I struggle to keep up with the lessons given by BTCSessions or understand the arguments made by Adam Back.

Ben Perrin understands the Bitcoin ecosystem far better than I, despite having no technical knowledge and Bitcoin Mechanic understands the Bitcoin algorithm far better than many devs working on the code despite not having a formal technical background.

In turn, my technical knowledge allows me to explain any technical concept to any non technical user, such that they are capable of holding an equal or even greater understanding than I.

It is inconceivable to me that lack of “technical knowledge” is a barrier to understanding anything and Ben Perrin and Bitcoin Mechanic are testament to that and put me to shame.

Developers have two mechanisms that boost their ego. Firstly they do need to have a deep  understanding of a system in order to write code for it. Secondly, having direct access to the compute resource gives them the power over users to block or control access and define a users relationship to the computing environment they are using. This necessary power, can, if unchecked, give them a sense of entitlement instead of the humility and sense of service that should be ingrained in their work.

We can use the analogy of politicians here, whose job it is to serve their masters, the citizens. Yet politicians often allow the power of their position go to their head and will often attempt to abuse it.

Just like developers, they can be sacked. However, just like developers this can be difficult to do if they have managed to attain sufficient control over a system.

In the case of Bitcoin development, this is mostly a voluntary position and the only compensation on offer is the illusion of power the ability to control the code can give.

Luckily, Bitcoin was built with checks and balances set in stone since the first software was released by Satoshi and that power is balanced between technical developers, idealogical node runners and commercially focused miners. What we are seeing right now is developers being humbled by the communities they serve and gradually coming to the realisation that the control they thought they had was an illusion and that node runners and miners can vote with their nodes or hash power.

This is as it should be. All will be OK. Conflict is good, stress testing a system, both internally and externally is good. The right path will be found and the system to emerge out of this conflict will be much stronger as a result.

As Douglas Adams once said “Don’t Panic”