One of the biggest technological controversies of the decade are blockchains. There is no debate on how brilliant the technology is. It is very clever, if not genius. The only debate is on how useful it really is. Crypto currencies like Bitcoin are a strong use-case for blockchains, but how many other real use-cases are there? Some people claim that blockchains will change the Internet for good, while others consider it as a clever solution still seeking a problem. Reality is probably somewhere in between, as it usually is.
Blockchains often appear to be more useful than they really are, because their proponents bring up uses for blockchains which could also be facilitated using other, simpler and traditional techniques. Most of those uses, which could also be attained without blockchains, are indeed better off without them. As clever as blockchains are, they always add complexity where they are deployed. In other words, I have not yet seen a single problem that could be solved by either blockchains or other technical means, and where the blockchain-based approach was the simpler one. It follows that if we want to discuss the true merits of blockchains, then we shall identify those problems that could be solved using blockchains, and which could not be solved by simpler existing technologies.
What do blockchains bring to the table?
No discussion of the usefulness of any technology can be carried out properly without first articulating what it is, at a high level, that the new technology brings to the table. We shall not start by discussing use-cases, because those are not necessarily novel benefits unique to the new technology. Instead, we shall come up with a high-level description of its technical merits. For example: passwords allow us to authenticate a user of a system based on a piece of data that (hopefully) only the user knows. For another example, symmetric encryption allows us to protect the confidentiality and integrity of arbitrary data, at the cost of having to protect the confidentiality and integrity of a fixed-length key.
What do blockchains bring to the table? For the most part, (and experts will have to forgive me for this over-simplification), blockchains provide us with means of allowing a public to jointly attest on the authenticity of data (that could take the form of a ledger), in a way that does not require a trusted third party.
This problem statement is not to be taken lightly at all, particularly due to the combination of “a public” and “no trusted third party” in the same clause. A public is essentially a group of identities, but without a trusted third party, there is no-one to grant those identities to real entities of any type. So technically, every kid on the Internet can create for himself thousands of different identities and form his own “public”. We see this problem every day with fake accounts on social networks spreading propaganda, ad click-fraud, spam, and what not. Blockchains solve this challenge (in the highlighted context) by binding the ability to vouch for the authenticity of data with relative computation power. Therefore, at least in theory, as long as the possessors of most computation power in the world are benign, they will outvote stray cheaters, and the public stamp of approval will be given only to what’s authentic.
Bitcoin needs precisely that. The Bitcoin system consists of a ledger holding the entire history of coin possessions, like one long bank statement, and in lieu of a trusted third party (such as a bank) that maintains it, it is maintained by the public. A blockchain assures that malicious parties that try to introduce illicit records, are outnumbered, in terms of total computation power, by the obedient mass, and the system remains stable.
Bitcoin could not live without blockchains a single day.
Once we defined what blockchains provide at a high level, it becomes apparent what problems are at its sweet-spot, and what problems, even if could be solved by blockchains, are better off left for simpler technologies. The core of the sweet-spot of blockchains is “public” (or “plural”) and “no trusted third party”.
I believe that most of the use-cases for blockchains are yet unknown. We may end-up using blockchains for systems we do not even envision today. Most of our current systems do utilize trusted enforcement (banks, governments, corporate, administrators), which make them less interesting for blockchains. For example, the following are examples of cases where the benefits of blockchains may be considered questionable (by our own logic):
Corporate systems, where the corporate administration owns the system and hence forms the source of trust by-design: it issues identities to people, it is trusted with maintaining all data records, etc.
Traditional banking, where the bank operates as a trustworthy entity that is entrusted with maintaining its records.
Systems where parties are sufficiently identified and associated with the data records they create, for example, Company-A creates a record and sends it to Company-B, where Company-B knows Company-A.
In general, systems where all data is generated by known entities that are entrusted with producing and maintaining their data. For example: a supply-chain management system where all status information is created and maintained by identified companies that are trusted for producing and maintaining the data they emit.
Systems that are operated by entities that are trusted by their respective users, e.g., as Uber users trust Uber and as PayPal users trust PayPal.
The future of blockchains is probably made primarily of use-cases that we cannot envision today, because they are so different from the way our systems are currently built. We are so much used to having each flow of data or value have “someone in charge” (a trusted third party, that is), that it is not trivial to imagine our systems entirely decentralized; but some systems will be.