Engineering Problems - Understanding Blockchain Technology
Thu Dec 01, 2022 · 769 words

You needn’t look far to see the hate for blockchain technology. I run into it quite often in a place I used to love, Hacker News. I have had a hard time with this over the years. I often go there as a fellow skeptic to see smart people poke holes in the fluff of the goings-on of the world around us. It’s fun in the way a skeptic likes fun, at the expense of the hopeful. But Bitcoin and Blockchain technology bucked this trend for me. It made me excited and hopeful like few other things could. Hacker news did not join me in my hopefulness, quite the opposite. Today, it’s an unwelcoming place for cryptocurrency discussion.

The contrast between my hopefulness and HN’s wholesale rejection of the space inspired me to write this post.

You see, for me, when Bitcoin mainnet went live, a new thing popped into existence. Something that, at the time, did not seem too impactful to the outside world. Among those listening, it received a good, but not unanimously good, reception. Many were skeptical even from the very beginning. Would it work? If it did work, would the powers-that-be let it live? And would anyone even care?

Few knew that thing that had happened, had happened for the first time: a very fuzzy, very meat-space problem, money, was solved by writing code. This, in my opinion, and please excuse my reach, was a magic moment. There was no twinkling aura in the air, or bright light, or angelic high note. That’s rarely how interesting things happen. Instead, some code ran on a computer that talked to another computer running the same code. They talked and talked and talked. They kept talking until they came to an agreement. An agreement about each other’s shared state. They coordinated, and the people running that code, they could now coordinate too. They could coordinate on who owned what amount of money. It seems, not so magical. And, to be honest, it should not. Why should a “ledger” be magical? It seems the opposite of magic. Mundane when described, really.

But magic it was to me, because the following statement, which makes little sense, was now true: “money was programmed into existence”. I’ll say it again because it’s a very weird statement: “money was programmed into existence”. It seems like something out of a Douglas Adams book. It’s a thing that cannot be, yet is. Weirdness. How could this be possible? Money, the thing that has created and destroyed empires, that needs a national government to issue and an army to back was created with some C++. An odd enough statement to warrant skepticism or at the very least, confusion.

Why blockchains are important

This may be easily dismissed as an aberration, or a fluke, or simply bad characterization. Herein lies the important issue. Why it matters. Why it is important. Because, during that moment, of which I desperately want you to believe is magic, Blockchain technology showed what its real power is: Blockchain technology turns non-engineering problems into engineering problems. This is important because of the definition of “engineering problem”. An engineering problem is any problem that can be solved with enough time and resources and needs no scientific breakthroughs. Building a bridge is an engineering problem. Putting a human on the moon is an engineering problem. Mapping the genome is an engineering problem. However, something like Nuclear Fusion is not an engineering problem because it will take multiple scientific breakthroughs before it becomes an engineering problem. Brokering a peace deal is not an engineering problem. And something like issuing money should not be an engineering problem, but it was made into an engineering problem. This is what Bitcoin did, this is the power of Blockchain technology.

Engineering problems are great, I love them. I love them for the specific reason: Engineering problems are always solvable. Time and resources are scarce so not all engineering problems will be solved, but they always have a solution. Blockchain technology can turn some meat space problems into engineering problems. Specifically, it’s best at turning coordination problems into software problems. Software engineering problems are the cheapest problems to solve. Code is inexpensive, almost vanishingly inexpensive. The per-unit cost of writing software has almost no bottom. The real limit to the coordination problems that can be solved with software becomes, and excuse the tired platitude, is our imagination.

That is the reason why I fell in love with the space: it bestowed the power to solve problems that I would otherwise have no way to solve. This engineer simply could not resist.


back · writing · who is Paul Brower? · resume · main