Why Blockchain is Hard

  1. Solve income inequality
  2. Make all data secure forever
  3. Make everything much more efficient and trustless
  4. Save dying babies

What is a blockchain?

To examine some of these claims, we have to define what a blockchain is and herein lies a lot of the confusion. Many companies use the word “blockchain” to mean some sort of magical device by which all their data will never be wrong. Such a device, of course, does not exist, at least when the real world is involved.

The Cost of Blockchains

The immutable audit trail uncontrolled by any single party is certainly useful, but there are many costs to create such a system. Let’s examine some of the issues.

Development is stricter and slower

Creating a provably consistent system is not an easy task. A small bug could corrupt the entire database or cause some databases to be different than other ones. Of course, a corrupted or split database no longer has any consistency guarantees. Furthermore, all such systems have to be designed from the outset to be consistent. There is no “move fast and break things” in a blockchain. If you break things, you lose consistency and the blockchain becomes corrupted and worthless.

Incentive structures are difficult to design

Adding the right incentive structures and making sure that all actors in the system cannot abuse or corrupt the database is likewise a large consideration. A blockchain may be consistent, but that’s not very useful if it’s got a lot of frivolous, useless data in it because the costs of putting data into it are very low. Neither is a consistent blockchain useful if it has almost no data because the costs of putting data into it are very high.

Maintenance is very costly

A traditional centralized database only needs to be written to once. A blockchain needs to be written to thousands of times. A traditional centralized database needs to only checks the data once. A blockchain needs to check the data thousands of times. A traditional centralized database needs to transmit the data for storage only once. A blockchain needs to transmit the data thousands of times.

Users are sovereign

This can be really good as companies don’t like the liability of having user data in the first place. This can be bad, however, if the user is “misbehaving”. There’s no way to kick out the user that’s spamming your blockchain with frivolous data or has figured out a way to profit in some fashion that causes other users lots of inconvenience. This is related to the above observation that incentive structures have to be designed really, really well in that a user that figures out an exploit is not likely to give that up, especially if there’s profit for the user.

All upgrades are voluntary

A forced upgrade is not an option. The other players on the network have no obligation to change to your software. If they did, such a system would be much easier, faster and cheaper to build as a centralized system. The point of a blockchain is that it’s not under the control of a single entity and this is violated with a forced upgrade.

Scaling is really hard

Finally, scaling is at least several orders of magnitude harder than in a traditional centralized system. The reason is obvious. The same data has to live in hundreds or thousands of places than in a single place. The overhead of transmission, verification and storage is enormous as every single copy of the database must pay them instead of those costs being paid just once in a traditional, centralized database.

Centralization is a lot easier

If you notice a theme, it’s that decentralized systems are very difficult to work with, expensive to maintain, hard to upgrade and a pain to scale. A centralized database is much faster, less expensive, easier to maintain and easier to upgrade than a blockchain. So why do people keep using the word blockchain as if it’s some panacea for all their problems?

So what is blockchain good for?

We’ve already established that a blockchain is very expensive relative to centralized databases. So the only reason you should be using a blockchain is to decentralize. That is, remove the single point of failure or control.

Conclusion

Blockchain is a popular term these days and unfortunately, this “blockchain not Bitcoin” meme won’t die. If you are a centralized service, a blockchain doesn’t get you anything that you can’t do a thousand times cheaper with a centralized database. If you are a decentralized service, then you’re probably fooling yourself and not thinking about the single points of failure that exist in your system. There wouldn’t be a “you” at all in a truly decentralized service.

Biggest joke in this entire article

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jimmy Song

Jimmy Song

Bitcoin Educator, Developer and Entrepreneur. Book: https://amzn.to/2RSlnTb PGP Fingerprint: C1D7 97BE 7D10 5291 228C D70C FAA6 17E3 2679 E455