Skip to content
pacheco.sh
← Writing

It's just software

#systems#blockchain

Here's the sentence that gets me strange looks at parties: a blockchain is just software.

Not "just" as in trivial. Just as in: it is not magic, it is not a new law of physics, and it does not deserve the tone of voice people use when they talk about it. It's a program. It runs on ordinary computers. Those computers talk to each other over ordinary networks. If you opened one up and traced every wire, you would not find anything that isn't already in a systems textbook from twenty years ago.

The parts, without the mythology

Strip the vocabulary and you're left with a short list of familiar things wearing new names.

A blockchain is a shared, append-only database. Every full node keeps its own copy and refuses to accept an edit that breaks the rules everyone agreed on in advance. That's it. Postgres with a very strict UPDATE policy and a lot of friends checking each other's homework.

The network under it is peer-to-peer gossip — the same pattern BitTorrent used to move files around before anyone said "Web3." Nodes tell their neighbors what they've seen. Neighbors tell their neighbors. Eventually everyone converges on the same picture, the same way rumors do, except the rumor has to come with a signature and a hash you can check.

Consensus is the part people make sound occult, and it's really just: how do a few thousand strangers agree on one ordering of events without a referee. Proof of work, proof of stake, whatever comes after — they're all answers to that one coordination problem, priced differently.

And smart contracts are extra rules layered on the database. Code that runs deterministically, so "if X happens, then Y" isn't a promise a company makes you, it's a function everyone can read and everyone's node will enforce the same way. Useful! Also: a function. Not a spell.

Why the demystifying matters

None of this is meant to be smug, and I want to be careful here, because the "it's just software" line can curdle into "so why does anyone care." I care. I've built more of my life around this stack than most reasonable people would recommend. But the caring should survive contact with the plumbing, not depend on not looking at it.

The plumbing is the interesting part. Once you stop treating consensus as sorcery, you can actually ask good questions about it: what is this network optimizing for, who bears the cost of security, what happens at the edges when incentives misalign. Those are engineering questions. They have engineering answers. You just have to be willing to open the box.

The industry has a bad habit of selling the box unopened, because a sealed box is easier to hype and harder to criticize. I'd rather build things people can open.

What I actually do about it

Most of my working hours go into the boring, load-bearing layer under all of this: node software, provider architecture, the incentive design that decides who gets paid for doing honest work and who doesn't. It's less exciting to describe than "revolutionizing finance." It's also the part that determines whether any of this holds up when nobody's watching.

I'll write more about the specific decisions as they happen. For now, the short version: it's a database, a gossip network, and some rules. Everything else is marketing.