Why Most People Don’t Understand Blockchain Technology
lockchain technology is an accounting technology. The fact that something so pedantic could become a hot trend amazes me to no end. However, just because something becomes popular, doesn’t mean that people understand it. What’s more I’ve run across what appears to be a very frightening fact in the blockchain technology world- most developers in the space don’t understand really basic concepts about how blockchain and decentralization work. I would estimate there are only a couple thousand developers in the whole world who understand these concepts at a deep level, even after the technology being around for almost ten years.
While I came to this realization after talking to many tech teams at crypto conferences across the globe, there is data to support this conclusion. Viewing the number of total code contributors to various protocol-level platforms is telling. As of January 2019, Bitcoin has only had 605 different developers total contributing code. This includes the mysterious Satoshi Nakamoto who is actually ranked number 35 in all-time Bitcoin contributors by number of commits. While Ethereum clearly has the most developers when measured across their various repositories, the protocol level code of go-ethereumrepository only has had 384 developers contribute code.
Because of this we have ended up with projects big and small that are not at all what the general public thinks they are. For example, Ripple is not actually a blockchain. This isn’t inherently a bad thing, I must add, just that they are using distributed ledger technology, but technically are not a blockchain. Another one that always rubs me the wrong way is EOS advertising themselves as a “platform for decentralized applications” when the delegated proof of stake consensus model EOS runs makes them inherently centralized as they are ruled by a cartel of nodes who decide the fate of the underlying platform.
Anyone can string lines of code together and make things work. But not everyone understands what is going on behind the scenes when the code is running. I’ve heard people criticize Satoshi Nakamoto for their code not being well-written. But they had the vision for a eloquent system of decentralized and secure internet money, and their code was good enough to get the idea implemented. Many projects have much prettier code, with perfect spaces, or tabs, as is your preference, but in barely functional ecosystems. And I think the reason for this is there are lots of people who can write pretty code and get away with saying they are blockchain developers, as there has been such high demand for the last couple years that anyone who makes this claim will be hired in a hot second. However, few blockchain developers I’ve spoken with actually understand the fundamental way blockchain systems function and how the pieces work together.
A couple months ago I was giving a talk for Atlanta Blockchain Week and one of the questions from the audience was
“How long did it take you to understand blockchain technology?”
And I had to think for a second as nobody had ever asked me that. Then I realized that I had understood it right from when I heard and read about it in the original Satoshi Nakamoto white-paper. It all just made sense to me. And it struck me as so peculiar that I meet so many people at crypto events who can’t visualize how blockchain systems function, but I somehow understood it intuitively.
So why is this? Blockchain is an accounting technology. Digital ledgers are still ledgers. Approaching this from an object oriented programming frame of mind is like trying to use a paintbrush to take a math test, it can be done, but not easily or with precision. Unless you happen to be a calligraphy expert that is, so maybe a bad metaphor. I explain the basics of blockchain to a lot of groups when giving talks, and after explaining it’s like a lightbulb goes off in the minds of half the people in the room watching me. Blockchain explained through accounting references is so simple, and it actually makes sense that way- that rather than having a dual-entry bookkeeping system that has to be tediously balanced and checked for errors, instead each transaction verifies the transaction behind it, forming the chain as one long audit trail. Simple.
Coding blockchain in some ways is glorified database management. And I don’t ever remember anyone in my coding classes who loved databases. I was always the oddball in my coding classes that I loved building the financial calculator projects and hated building games. The games just seemed so pointless as there are so many games out there, and they were too easy, I was always done with those projects right away and there wasn’t much room to add different functions as once a game worked it was done. But with financial calculators I could tinker the whole class adding different variants of returns like return on investment, cash on cash, yearly annualized, or amortization calculators. I suppose this explains why blockchain technology seemed second nature to me, although it took me nearly seven years from when I understood it to realize that not everyone else just “got it” in the same way.
I really hope that this trend soon reverses and more of the technical teams at companies understand the architecture of what they are building. I suppose many of the companies raised enough money they can experiment blindly until they figure it out. But with the high demand for blockchain developers right now, coding mills are just churning out developers at a rapid pace who can put the code together but not much more, and no fundamentals that allow thinking beyond the coding languages learned into structure and function. We need to change this trend and make sure tech building blocks are understood, so that more developers understand a DAG is an alternative structure to a blockchain and not a consensus mechanism, or can follow the logic that byzantine fault tolerance and proof of stake consensus models have a tendency towards centralization. If as an industry we can’t get our tech teams knowing these details, then how on earth are investors supposed to know which projects are scams? How can business owners ever implement the technology in ways it actually benefits their company? And how can blockchain technology make a difference in any of the ways imagined?