Alternatives to Blockchain
In my last article, I argued for why blockchain is not really a good fit for anything other than money. Blockchain as used in Bitcoin is really a collection of different technologies (proof-of-work, public key cryptography, gossip network, etc) that result in a decentralized system. Systems that try to utilize a blockchain but retain some centralized control are ruining the most attractive feature by doing so.
In this article, I’m going to present some alternatives that use aspects of blockchain technology that do a lot of what “blockchain” advocates claim, but do it a lot cheaper.
I have heard a lot of pitches regarding “blockchain technology”. Most are aimed at a particular industry where there are blame assignment problems. They typically start with a setup of a problem in some industry, followed by how blockchain can somehow solve said problem. Many times, the problem is one of data integrity. That is, parties to a particular transaction or group of transactions disagree as to how accurate the data is in some way and that results in conflict. Usually one party feels cheated and if things get bad enough, there’s a lawsuit that contains a very expensive audit.
The promise of blockchain in these pitches is that the conflict can be taken away with a blockchain. That is, by having some objective, common database where parties can check for the truth, the participants in that industry can avoid all the expensive problems. This is indeed a real problem and easily finding out who’s to blame when something goes wrong is desirable.
What’s missed is that a “blockchain” in this context is really an expensive way to store auditable data. Auditable data does not need to be decentralized. In fact, putting auditable data on the blockchain can be a bad idea as that compromises privacy. Parties that are not a part of the transaction (competitors, journalists, etc) all get to examine that data in a blockchain. This is a tradeoff of privacy for an expensive and slow but auditable and redundant storage.
What’s much more appropriate for a use-case like this is public key cryptography. Instead of storing the same data in many places which is expensive and slow, you can issue receipts. A receipt that’s signed by the parties involved, plus some sort of third-party auditor is a much cheaper and faster way to add data integrity than an entire blockchain mechanism ultimately meant for coordination.
Receipts have been around for thousands of years and for good reason. They provide a record of what happened in a way that prevents each party from changing things around later. Adding public key cryptography and computing power should make data integrity and real-time auditing much easier. An architecture where every party keeps its own database of signed receipts is a cheaper and faster alternative to a blockchain.
Central Database with API
Depending on how you define blockchain, this could be argued to be one. Essentially, new entries to the database have to go through a central party, but allow everyone else in the system to replicate the data as they see fit.
This is a “blockchain” in the sense that there is a chain of blocks (each being a group of ordered data) that are stored, but it does not have decentralization. Data is still validated by a single entity and may still be signed by the counterparties. As far as solutions go, this is not very different than, say, any central service with open APIs. What data is allowed to be accessed determines the level of transparency and privacy and that seems to be the big win of an architecture like this.
This is not new and is common for many marketplace platforms. eBay, for example uses more or less uses the same architecture and has been around for over 20 years. To call this a blockchain would be like calling a horse carriage an “automobile” because it technically moves by itself (auto-mobile). Uber and AirBnB are also marketplaces and have a similar architecture where new entries to their database are created by the central party.
Software that is essentially creating a better IT infrastructure for a particular industry is not the worst thing in the world, though I don’t think there’s anything really new here.
A decentralized version, on the other hand, is very hard. Not only does the data now have to live in lots of different nodes (instead of being optional), but synchronizing becomes very slow. The software also has to have an objective way to determine which entries go into the database and nodes have to agree every time. You can use proof-of-work to distribute the right to add entries as Bitcoin does, but this is generally too slow and expensive for any sort of infrastructure that has a decent amount of data going through it. eBay, for example does something like 10,000 database entries per second whereas Bitcoin does about 3. Other schemes tend to be vulnerable to Sybil attacks, coordination attacks or otherwise have difficulty establishing which database is canonical.
Additionally, the software development costs need to be recouped somehow and often results in unnecessary tokens or dev taxes to fund. This results in making these platforms too inconvenient, expensive and unscalable to actually use, not to mention making the system hard to change.
Another somewhat common use-case touted by blockchain companies is that the data is backed up everywhere. This can be good if you expect your data stores to go down on a regular basis, but this is a very weak reason to use a very slow and expensive solution like a blockchain.
Tarsnap is a backup service requiring you to encrypt so they can’t see your data. Tarsnap charges $0.25/GB for bandwidth plus $0.25/GB/month for storage. A well-utilized blockchain like Bitcoin costs something like 1 satoshi/byte or about $84,000/GB of storage. Granted, Bitcoin is the most popular, but the equivalent backup on Tarsnap would last you 28,000 years.
Most cloud providers have even cheaper backup solutions that can replicate all your data. They range from long-term tape storage to fast disaster recovery with only a few minutes of lag. In a backup scenario, the main concern is to ensure that the systems are diverse to minimize complete failure of said backups. A blockchain has no such guarantees and doesn’t guarantee replication in a diverse way as to minimize failure.
Disaster recovery is a well studied subject and a blockchain is not a cost-effective way to backup data.
Venture Capital and Bootstrapping
Perhaps the most successful thing that “blockchains” are good at is raising money from the public via ICOs. Not only are the terms of these ICOs exploitive of the buyers, but they’re heavily manipulated through premines, pay-for-exchange listings and other morally questionable activities.
Obviously, the companies selling the tokens like getting money, but the conditions under which they’re sold give the investors almost no protection whatsoever. This not only hurts the investors who have no guarantee of any good or service ever coming to them, but also hurts the companies that raise money this way.
Lack of money is often a forcing function for finding a path to profitability. What many of these companies have instead are ungodly sums of money without much motivation to actually solve problems as there’s no accountability. Many become investment funds that try to outsource actual innovation by funding other companies to develop on their platform. These, too, are often ICOs and thus have no obligation to actually build. What you end up with are lots of rent-seekers with not much reason to create.
The complete lack of accountability has some serious consequences. There’s a reason government programs to spur “business activity” very rarely result in good businesses. Money that’s granted without much accountability tends not to be spent very well. It’s only after the money’s been spent that there’s any complaining at all. This generally leads to lawsuits which bring on new laws to “protect consumers”. This is not where you want to end up as a company.
The alternatives here are venture capital or bootstrapping. Venture capital generally holds the founders accountable through restrictions on how they can spend the money. Bootstrapping is even better as the money comes directly from the founders themselves making them naturally use the money in much more prudent ways.
Using a blockchain to write a receipt, perform a centralized service or backup data is like using a tank to shop for groceries, race in the Indy 500 or tow a car. There are already tools that do all of these things better and a blockchain is simply too expensive, unscalable and slow for most tasks.
What businesses should do instead is use the parts that make sense and stop using buzzwords to sell their solution. Long-term such deceit will always end up hurting such businesses more than it helps.
Using a blockchain to raise funds is even worse. Money without restriction is bound to have social blowback and the conditions are ripe for not producing much. This is a tradeoff of short-term funds for long-term idleness. Such an environment may be comfortable in the short run, but is soul-sucking in the long run. There’s also a non-trivial chance of some terrible consequences (jail, long-running lawsuits, threats, etc) should the ICO token price drop dramatically.
There are alternatives that are well known and understood. Instead of looking at “blockchain”, look at what you actually need and see what fits you best.
The hype around blockchain is worse than the hype around the dotcoms. Companies in the late 90’s used to change their names to get the associated hype around the technology. Many companies are doing similar things today with the word “blockchain”. Relabeling doesn’t change the technology and leads to a lot of overselling as we’re seeing today.
Look through the noise, understand what the hype is about and act accordingly.