There aren't that many uses for blockchains
Criteria for judging when a blockchain is applicable
A common saying among those who are into their crypto is that "the real innovation isn't Bitcoin, but the Blockchain". Blockchains are increasingly popular. At some point using a blockchain stopped being called just 'blockchain technology' and started to be called "web3". The implication being that blockchains have such wide applicability that they will come to displace the existing web as we know it now.
But blockchains aren't a general purpose technology: they have very limited and specific use-cases. And instead of decentralised currencies being just the first use-case of many they might be one of only a few.
Why not use a Blockchain?
Blockchains are best thought of as databases. Storing data is their primary feature - it's actually the "crypto" bit that is secondary. The cryptography is just enabling the shared database to be a distributed system instead of a centralised one.
Long standing sysadmin lore says to avoid having anything distributed if you can at all help it. To me, that seems only reasonable. The old ("web2"?) non-distributed databases do after all have a lot to commend them.
For starters, they are faster. Transactions in popular SQL databases take microseconds. That's much faster than, say, Ethereum, where most transactions are only considered 'confirmed' after about 5 minutes. Bitcoin takes the best part of an hour. SQL databases will continue to get faster as hardware speeds up - but blockchains only tend to get slower, as the volume of transactions grows.
Centralised databases are also cheaper to run - a 400GB database like the Bitcoin blockchain would cost less than 100 quid a month to run and would probably consume around 3000 kilowatt hours per year on a conventional server. As a blockchain it is instead estimated to require 91 billion kilowatt hours annually. If everything is going to become a few hundred million times less energy efficient, humanity is going to need to move space exploration up the to-do list.
And centralised databases can handle much bigger data-sets. 400GB is considered a fairly small SQL database - small enough that people begin to crow "your data fits in RAM!". However the 400GB Bitcoin blockchain is a source of genuine pain for its users, who all have to keep a copy of it locally in order to be a "full node".
When, though, do you need a blockchain to solve a problem? In short, when:
- You need a shared database
- You can't trust any single party to host that shared database
- You need absolutely nothing else
These criteria suggest why the first use-case of blockchains was for a decentralised currency. Bitcoin needs to keep track of who has what money; so a shared database is absolutely necessary. And if Bitcoin is going to be decentralised it also can't trust any one person to host that database; else they might gift themselves large amounts of free money, inflating it for everyone else. And finally, Bitcoin needs nothing else; as just by recording who has what money the system is complete.
The trouble is that most of the other putative uses of blockchains don't satisfy these criteria.
Problems where a blockchain isn't the solution
International bank transfers
Making an international bank transfer can be quite painful and frustrating so perhaps the blockchain can do better. Instead of having to negotiate with HSBC to get a few hundred quid sent to granny, who lives back home, you could just send her some Bitcoin. Bitcoin transactions usually cost 1-2% which is less than HSBC will charge. Bitcoin also requires uploading fewer scans of your identity documents.
Financial transfers however fail the very first criterion: there is no special need for a shared database. The Knights Templar were performing international account transfers across all of Europe and the Levant in the 1100s. A client of the Knights Templar could carry a special piece of paper from, say Paris to Antioch, and withdraw his money from the Antioch branch. The Knights would net out the balance of these transfers and move only that, much smaller, sum.
If people have been doing international transfers for a thousand years, why are they still so complicated? The reason is largely KYC/AML, the compliance processes that the world financial system uses to ensure you aren't transferring money to economically sanctioned individuals, criminals, terrorists, etc. Banks won't send money to just anywhere, they first want to check that it's not at risk of going to the baddies. This can take a long time and often requires exchange of lots of complicated documents.
Any blockchain-based financial transfer system that grows in popularity will be pressured by governments to implement KYC/AML and will then start to resemble traditional international transfers, except with higher charges and smaller economies of scale. Many Bitcoin brokerages have long since required identity verification for the account owner. Some are starting to require details of who you're sending money to.
The other problem with sending granny some Bitcoin is that once she gets it, she then has to figure out how to turn it into her local currency, usually paying the 1-2% fee again. Even if she didn't, using Bitcoin would still be much more expensive and complicated than just using a normal foreign exchange broker, who charge much less than either banks or blockchains.
Blockchain stocks and shares ("ICOs")
Another putative use of blockchains is to be an alternative to traditional stocks and shares. Instead of any of the existing mechanisms around shares, the shares of companies would be recorded and traded on a blockchain, usually a third party one like Ethereum.
Blockchain stocks fail criterion #2: there being no trusted party to host the database. The fact is that if you're going to hold the shares of a company, you explicitly need to trust them - so you may as well trust them to host your database.
For example you need to trust that their published financial statements are accurate. You also need to trust that they will try to return your investment. Traditional companies hold their own register of shareholders (they just outsource the trading) and it is a problem very, very rarely.
And again, the 1-2% cost of blockchain transactions is way, way higher than usual for stocks. Some of the American brokerages will now let you buy and sell stocks for absolutely nothing.
Yet another proposed use for blockchains is to replace normal contracts with "smart contacts". The gist of the idea is to write contracts as small programs that are deployed and stored (forever) on a blockchain. These programs can then be executed on command by special blockchain transactions.
A few contracts can be written as pure maths - almost like an equation (or "pure function" if you prefer) - but not very many. Most real world contracts depend on facts about the real world. If your contract is to pay £1000 in return for a bulk delivery of rare mid-1980s hair metal records you need to know whether the precious cargo has arrived or not. A blockchain cannot know that, so they delegate to "oracles".
An oracle is a conventional program which runs off the blockchain and which periodically publishes information about the world onto the blockchain. The problem is trust. Using an oracle turns your clever blockchain program into a fairly pointless appendage to the much more important (and subjective) conventional program: the one which is interpreting the world and drawing conclusions.
As soon as an oracle is involved it has such control, via controlling the facts your program knows, of such a large portion of your system that you may as well make it the central part and just leave the blockchain bit out altogether. You have found a trusted third party.
The third criterion is to need absolutely nothing else, beyond the blockchain. This means that the blockchain database itself has to comprise a complete and total solution to whatever problem it is proposed for, which is rare. The number of problems that can be solved solely by moving data around is fairly small. Decentralised currencies are certainly one — but it's hard to think of many others.
At the moment, decentralised currencies like Bitcoin and Ether are far and away the most popular use-case for blockchains. But how popular are they really? Lots of people are invested in these cryptocurrencies but not many seem to be actually using it as a currency. I know a lot of people who have Bitcoin "holdings" but only one person who has ever paid for anything with it: an elderly relative who did so largely by mistake.
Outside of the 'web3' fanclub people are less confused about investment vs adoption. When people bid up the price of Bitcoin by buying it with normal money, that is investment. When people use it to buy stuff, then it is adoption. There is a lot of investment at the moment, but not much adoption.
That's puzzling because now would seem to be a good time for a decentralised, uninflatable currency. Inflation is running high everywhere — and wildly out of control in at least some parts of the world. Yet it doesn't seem like many people suffering from inflation are switching to Bitcoin.
It's also curious because the number and scale of economic sanctions in effect has risen hugely over the past 6 months. Surely there should be at least some growth in adoption for a KYC/AML-free alternative financial system?
But the baddies don't seem to be very into Bitcoin. Apparently even the economically sanctioned prefer dollars.
Beyond what constitutes an appropriate usage blockchains is the fact that the history of blockchains is just a tragic list of disasters. The Web3 is Going Just Great site documents all the scandals. You can even configure the counter in the bottom right of the screen to track money lost to fraud as you scroll down, which is good fun.
My personal favourite scandal is The DAO, which was sold as The World's First Decentralised Autonomous Organisation. It raised about $50 million but lasted less than two months before it was hacked so badly that the entire Ethereum network had to reload an earlier saved game. I think it says something penetrating about the blockchain movement that it's unclear what finally became of all that money, even after it was returned to the DAO.
Kevin F. K. Low wrote a great article on how cryptocurrencies address the wrong fraud problem (archival version). I suspect that one of the reasons that there's so much fraud in and around blockchains is that blockchains - with no ability to cancel or reverse transactions - are uniquely hospitable to fraudsters.
I often feel surprised at how, despite the passage of time, Bitcoin and blockchain technologies have a kind of permanently nascent feel to them - as though widespread adoption is forever just around the corner. One article, written by a famous technology investor extolling the promise and possibilities of blockchains feels like it could have been written today. It is a sad timelessness: the article is over 8 years old.