While much of the tech industry has grown bearish on the volatility of cryptocurrencies, enthusiasm for its underlying technology remains at an all-time high. Nowadays we see “blockchain” cropping up with impressive frequency in even the most unlikely startup pitches. And while blockchain technology does have genuinely interesting and potentially powerful use cases, it has enormous drawbacks for consumer applications that get little mention in media coverage.
My background is developing virtual worlds similar to Second Life — MMOs where users create, build, and usually sell their virtual wares to other users. In principle, blockchain should be my holy grail, enabling user-to-user micropayments without a middleman. But it’s not that now, and it probably won’t be for a long time. Here’s why:
Blockchain cannot be everything it aspires to be at the same time
As it stands, blockchain is caught between three competing objectives: fast, low-cost, and decentralized. It is not yet possible to make one chain that achieves all three. Fast and decentralized chains will incur a high cost because the storage and bandwidth requirements for historical archiving will be enormous and will bloat even with pruning. Aim for fast and low-cost, and you’ll have to introduce a bank-like authority (“Tangles” are a proposed solution, but not yet fully understood).
At high volume, a good credit card processor can settle a typical $2 transaction for somewhere around $0.10. Some of the largest online game economies manage more than a million user-to-user transactions per day, instantaneously, with no fees. And yet, I can name half a dozen startups trying to inject an expensive and slow blockchain into this very problem.
Blockchain is a customer support nightmare
For most consumers, losing a password to an online service is a mild inconvenience they’ve grown accustomed to, since typically, it’s quickly fixed by requesting an email reset, say, or talking with customer service.
Blockchain wallets and their passwords, by contrast, are tied to a file on a user’s hard disk and are absolutely critical to users trying to access the blockchain. By their very nature they have no recovery mechanism. “You lose your password, you lose everything” is an awful user experience for mainstream consumers and a nightmare for companies attempting to build their service on a blockchain. If you use a hosted service, the risk of theft or sudden loss of assets is very real, with central targets and limited traceability.
Let’s say you’re trying to run an online game or other consumer service where purchases are made on the blockchain. How do you handle refund requests? How do you even verify a loss? How do you handle theft or purchases financed with stolen cards? A company could, of course, create a blockchain master override with a recovery protocol, but that would totally defeat the purpose of using a system that’s supposed to be decentralized.
Which takes me to another problem:
Blockchain adds frictions to an already seamless process
Nothing about blockchain applications is easy for consumers right now. Everyday users accustomed to making digital and online payments would have to be trained to make blockchain purchases, learning to apply the right mix of paranoia and caveat emptor to prevent theft or buying from shady dealers. Irreversible pseudonymous transactions do not lend themselves well to trust and integrity.
Compounding this is the speed and the transaction fees involved. Most public chains have settlements measured in minutes — unless you’re willing to pay high transaction fees. Compare that to the 2-10 seconds for a saved credit card transaction customers are accustomed to in the age of fast mobile interfaces and instant gratification.
Privately operated chains have the potential for custom mixes of settlement times and fees — but all will be subject to the competing objectives described above. If developers lean too far one way or another, they open themselves up to everything from denial of service attacks to having storage and bandwidth problems.
Consider the recent CryptoKitties fad. It’s a fantastic case study of where things can start to go wrong when you put consumer activities into a blockchain. It congested the Ethereum network almost single handedly, and the company had to raise transaction costs significantly to overcome the resulting lag. This whole activity was only a fraction of the size of many medium-sized online consumer services, let alone the truly big ones.
These points only scratch the surface of what it’ll truly take to make blockchain ready for a mass market. Assuming we reach the point where millions of people are using blockchain-based services every day, businesses will face ever-expanding storage requirements to maintain and access the chain for auditing purposes. Ethereum’s blockchain is growing by well over 50 gigabytes a year now, a size that’s already too massive for immediate access — and it’s destined to keep growing.
As I said at the start, none of this is meant to suggest blockchain isn’t a worthwhile technology. And there are some early attempts underway to address the problems I’ve raised. But to become truly viable, blockchain tech is going to need fundamental improvements that require thousands of minor changes — or, perhaps, a radical rethink of the key ideas.
A good starting point is to honestly reappraise what problems blockchain can solve — and to look at whether those problems could be addressed in much more practical, proven ways. Many blockchain enthusiasts were first excited by the idea of cryptocurrency after reading about it in Neal Stephenson’s Cryptonomicon. But there’s a big difference between how inspiring it might have appeared in a great science fiction novel versus how it works in actual practice. After all, Second Life was originally inspired by the Metaverse from Neal Stephenson’s Snow Crash. But having handled hundreds of Linden Dollar payments and issues from hordes of excitable furries, I can assure you that doing business in an actual Metaverse also didn’t quite turn out the way we imagined.