WHY BLOCKCHAIN IS NOT EASY?
Recently, you may have heard a lot about blockchain, so what is a blockchain, anyway? Can blockchain bring something amazing to our lives as diverse as health care, finance, supply chain management, and music rights? In this article, we will seek to answer a lot of these questions by looking at what a blockchain really is and more significantly, what it’s not.
What is a blockchain?
To confirm some of these claims, we have to define what a blockchain is and here lies a lot of the confusion. Many companies use the word “blockchain” to relate some sort of magical device by which all their data will never be wrong. Such a device, of course, does not exist, at least in the real world.
Thus, what is a blockchain? Technically speaking, a blockchain is a linked list of blocks while a block is a group of ordered transactions. If you don’t understand the last sentence, you can think of a blockchain as a subset of a database, with a few additional properties.
The main thing differentiating a blockchain from a normal database is that there are specific rules about how to put data into the database. That means it’s append-only (immutable), cannot conflict with some other data that has already in the database (consistent), and the data is locked to an owner (ownable), it’s replicable and available. Ultimately, everyone agrees on what the state of the things in the database are (canonical) without a central party (decentralized).
It is this last point which is the holy grail of blockchain. Decentralization is very attractive as it implies there is no single point of failure. That is, no single authority will be able to change “history” to suit their needs or take away your asset. This immutable audit trail where you do not have to trust anyone is really the benefit that everyone who is playing with this technology is looking for. This benefit, however, comes at a great cost.
The Cost of Blockchains
As mentioned above, the immutable audit trail uncontrolled by any single party is definitely useful, but there are many costs to create such a system. Let’s discuss some of the issues.
Development is stricter and slower
Creating a provably consistent system is, of course, not an easy task. A small bug could cause some databases to be different than other ones or corrupt the entire database. As a result, a corrupted or split database no longer has any consistency guarantees anymore. Besides, all such systems have to be designed from the outset to be consistent. There is actually no “move fast and break things” in a blockchain. If you break anything, you lose consistency and the blockchain becomes worthless and corrupted.
You may be wondering, why can’t you just fix the database and move on? That would be easy enough to do in a centralized system, but this is not in a decentralized one. You need the agreement of all players in the system or consensus in order to change the database. The blockchain has to be a public resource that does not belong to any single entity, or the entire effort is a very expensive way to create a slow, centralized database.
Incentive structures are difficult to design
Adding the right incentive structures and then making sure that all actors in the system cannot corrupt the database is really a large consideration since a blockchain may be consistent, but that is not very useful if it has got a lot of frivolous, consisted useless data because the costs of putting data into it are very low. Neither is a consistent blockchain useful if it has almost no data since the costs of putting data into it are pretty high.
What gives the data finality? How can you make sure that the rewards are aligned with the network goals? Why do nodes keep or update the data? And when they are in conflict, what makes them choose one piece of data over another? These are all incentive questions that need good answers and to be aligned not just at the beginning but at all points in the future as technology and companies change, otherwise, the blockchain is out of date and become useless.
You may be thinking about why you cannot just “fix” some broken incentive. Once again, this is easy in a centralized system, but in a decentralized one, it is not. You simply cannot change anything without consensus.
Maintenance is very costly
A traditional centralized database only needs to be written to once while a blockchain needs to be written thousands of times. A traditional centralized database needs to only check the data once while a blockchain needs to check the data thousands of times. A traditional centralized database needs to transmit the data for storage only once whilst a blockchain needs to transmit the data thousands of times.
The costs of maintaining a blockchain are orders and need to be justified by the utility. Most applications looking for some of the properties stated earlier like consistency and reliability can get such things for a whole cheaper utilizing receipts, integrity checks, and backups.
Users are sovereign
This is really good as most companies do not like the liability of having user data in the first place. This can be bad, otherwise, if the user is “misbehaving”. There’s no way to kick out any misbehaving user. This is related to the fact that incentive structures have to be designed really well in a manner that a user who figures out an exploit is not likely to give that up, especially if there’s profit for that user.
You may be wondering what you can simply refuse service to malicious users, which would be very easy to do in a centralized service. Nonetheless, unlike a centralized service, refusing service is challenging because no single entity has the authority to kick anyone out. The blockchain has to enforce the rules defined by the software or be impartial. If the rules are insufficient to deter bad behavior, you’re probably out of luck. You simply have to deal with this problem possibly for a very long time.
So, what is blockchain good for?
So far, we have already known that a blockchain is very expensive relative to centralized databases. Therefore, the only reason you should use a blockchain is to decentralize, which means to remove the single point of failure or control.
Indeed, this means that the software or database must not change things around often. There should be little upgrading upside and much screwing up the downside.
However, most industries are not like this. They require new features or upgrades and the freedom to change and expand when necessary. Given that blockchains are hard to upgrade, to change or to scale, most industries don’t have much use for a blockchain.
One exception we have found is money. Unlike most industries, money is actually better if it doesn’t change too often. Difficulty and immutability in changing the rules is a positive for money and not a detriment. This is why when it comes to Bitcoin, blockchain is the right tool for the job.
Blockchain is a popular term these days. In a sense, different conceptions of blockchain are trying to do the impossible. That means they want the security of a decentralized system with the control of a centralized one. This desire is the best of both worlds, but what they end up is the worst of both worlds, which are the costs and difficulty of a decentralized system with the failure modes of a centralized one.
JT1 - IT Recruitment Agency
Phone: +8428 6675 6685