Addressing Income Inequality
Always keep all data safe
Make everything much more efficient and trustless
saving a dying baby
So, what kind of technology is the blockchain? Can it really do all of the above? Could blockchain have amazing results for industries as diverse as healthcare, finance, supply chain management, and music copyrights?
Also, does not supporting bitcoin mean you support blockchain? How can you support Bitcoin while saying that the technology behind it is not good?
In this article I analyze what a blockchain is, and more importantly, what a blockchain is not, seeking to answer many of these questions.
What is blockchain? In order to discern the truth of some of these claims, we need to define what a blockchain is, and there is too much confusion in this regard. Many companies use the word "blockchain" to refer to some kind of magical device by which all their data will be infallible. Of course, such a device doesn't exist, at least not in the real world.
So, what is the blockchain? Technically speaking, a blockchain is a linked list of blocks, and a block is an ordered set of transactions. If you don't understand the last sentence, think of blockchain as a subset of database with a few more attributes.
The main difference between a blockchain and an ordinary database area is that there are specific rules for how to put data into the database. That is, it cannot conflict with some other data already in the database (consistent), it is append-only (immutable), the data itself is owned by the owner (ownable), replicable and usable. In the end, everyone agrees on what the state of the data in the database is (normalized), and there is no centralized mechanism (decentralized).
This last point is the ultimate goal of the blockchain. Decentralization is attractive because it means there is no single point of failure. That is, no authority can take away your assets, or alter the "history" to suit its needs. This immutable audit trail where you don't have to trust anyone is the benefit everyone using this technology craves. But this benefit comes at a high cost.
The cost of blockchain An immutable audit trail that is not controlled by any one party is certainly useful, but creating such a system comes with a lot of costs. Let's analyze some of these issues.
Creating a provably consistent system is not trivial. A small mistake can corrupt the entire database or cause some databases to be different from others. Of course, a corrupted or split database no longer has any guarantees about consistency. Furthermore, all such systems are designed to ensure consistency from the outset. There is no such thing as "move fast and break things" in blockchain. If you break the stereotype, you lose consistency and the blockchain is broken and worthless.
You might be thinking, why can't you fix the database or start over and move on? This is easy to do in a centralized system, but hard to do in a decentralized system. You need consensus, where all participants in the system agree, that you can change the database. The blockchain is necessarily a public resource not controlled by any one entity (decentralized, remember?), otherwise it would be too costly to go to such lengths to create a slow centralized database.
Adding the right incentive structure and ensuring that all participants in the system cannot abuse or corrupt the database is also a big factor to consider. A blockchain may be consistent, but if it has a lot of irrelevant useless data in it because the cost of adding data to it is cheap, the blockchain is not very useful. But a consistent blockchain is useless if the blockchain has little data because adding data to it is expensive.
What gives data finality? How do you ensure rewards are aligned with network goals? Why do nodes persist or update data? What makes a node choose one piece of data over another when there is a conflict? These are incentive questions that need to be answered well; they need to be consistent not only initially, but also over time as technology and companies change in the future, or blockchain is useless.
You might again wonder why some broken incentives can't be "fixed". By the same token, this is easy in a centralized system, but in a decentralized system, you can't change anything at all without consensus. "Fixing" is meaningless unless everyone agrees.
Where traditional centralized databases only need to be written once, blockchains need to be written thousands of times. Traditional centralized databases only need to verify data once, while blockchain needs to verify data thousands of times. Traditional centralized databases only need to transfer data once for storage, blockchain needs to transfer data thousands of times.
The cost of maintaining a blockchain is orders of magnitude higher and needs to be justified by actual efficacy. Most applications that seek some of the above properties, such as consistency and reliability, can achieve them at a much lower cost if they take full advantage of integrity checking, receipts, and backups.
This can be very good, because companies don't like owning user data in the first place, seeing it as cumbersome. But it could be bad if the user is "misbehaving". Some users send a lot of useless data to your blockchain, or figure out a way to make money, but cause a lot of inconvenience to other users, but you cannot kick such users out. This ties into the point above: Incentive structures must be well designed, as users who have the means to make money are less likely to quit.
You might think that all you have to do is deny service to malicious users, which is easy to do in a centralized service. However, unlike centralized services, denial of service is difficult in a blockchain because no single entity has the power to kick anyone out. Blockchains must be impartial, enforcing rules defined by software. If rules aren't enough to deter bad behavior, you're out of luck. There is no "spirit" of the law here. You have to deal with malicious or misbehaving elements, possibly for a long time.
Forcing an upgrade doesn't work. Other participants on the network are under no obligation to change your software. If they had that obligation, it would be extremely easy, fast and cheap to build such a system into a centralized system. The point of the blockchain is that it is not controlled by any entity, and a forced upgrade goes against the original intention.
Instead, all upgrades must be backward compatible. This is obviously quite difficult, especially if you want to add new features, and even more difficult from a testing perspective. Each version of the software adds many variables to the test, extending the release time.
Again, if this is a centralized system, this is easy to rectify, as long as the legacy system is no longer served. You can't do that in a decentralized system, because you can't force anyone to do anything.
Finally, it is at least orders of magnitude harder to scale than traditional centralized systems. The reason is obvious. The same data should be in hundreds of places, not in one place. Transmission, verification, and storage are expensive because each copy of the database incurs that cost, rather than paying those costs once in a traditional centralized database.
Of course, you can reduce the burden by reducing the number of nodes. But in that case, why need a decentralized system? If scaling cost is the main concern, why not just have a centralized database?
centralization is much easier One thing you may have noticed is that decentralized systems are difficult to deal with, expensive to maintain, difficult to upgrade, and difficult to scale. Centralized databases are much faster, cheaper, easier to maintain and easier to upgrade than blockchains. So why do people continue to use the word blockchain as if it is some kind of panacea for all problems?
First of all, many industries that believe in blockchain are actually overdue for IT infrastructure. Software in the medical industry is notoriously bad. Financial close still runs on software from the 1970s. Not only is supply chain management software difficult to use, it's also difficult to install. Companies in these industries have mostly resisted upgrading for fear of the risks involved. Many infrastructure upgrade projects cost hundreds of millions of dollars, only to end up restoring the status quo. Blockchain is a way of marketing these IT infrastructure upgrades, making them a little more enticing.
Second, blockchain can make it seem like you are on the cutting edge of technology. Like it or not, the word "blockchain" has its own niche. Few people really understand its meaning, but in order to appear fashionable, they hang these words on their lips. Just as "cloud" means someone else's computer, and "AI" means tuned algorithms, here "blockchain" means slow and expensive databases.
Third, people actually don't like government control of certain industries and want a different adjudication mechanism than the legal framework, which is often slow and expensive. For them, "blockchain" is actually a way to escape the heavy shackles of government regulation. This overhyped the capabilities of the blockchain. Blockchain will not magically eliminate human conflict.
As a result, many people are listening to exaggerated promises without really understanding blockchain’s capabilities or costs. To make matters worse, venture capitalists and corporate executives intentionally or unintentionally avoid the actual technical details and costs, and are vague about what blockchain can and cannot do. Everyone below them is afraid to say that the emperor has no clothes, and now we are facing the same situation.
So, what is blockchain suitable for? We've already shown one thing: blockchains are expensive relative to centralized databases. So, the only reason blockchain should be used is decentralization. That is, to eliminate a single point of failure or a single point of control.
This naturally means that the software or database must not be changed very often, if at all. There are too few advantages to making an upgrade, and too many disadvantages to messing with or changing the rules.
Most industries are not like this. Most industries require new features or upgrades, with the freedom to change and expand when necessary. Given that blockchains are hard to upgrade, hard to change, and hard to scale, most industries don't have much use for blockchains.
We found funding to be an exception. Unlike most industry use cases, money is better if it doesn't change. Immutability and difficulty changing the rules are good for money, not bad for it. This is why blockchain is the right tool for Bitcoin.
It is clear that many companies that want to use blockchain do not really want blockchain, but want IT upgrades in their industries. That's fine in itself, but using the word "blockchain" for its purpose is disingenuous and overhyping its capabilities.
in conclusion
Blockchain is a popular term these days; sadly, the "it's blockchain not bitcoin" meme is not going to die. If you provide a centralized service, the centralized database can do everything that the blockchain can do, and the cost of the latter is only one-thousandth of the cost of the former. If you’re offering a decentralized service, you’re probably kidding yourself that there is a single point of failure in the system. There is no "you" at all in a truly decentralized service.