Why Blockchain?

A Tradeoff between Trust and Efficiency

Rohan Tangri
4 min readJan 28, 2024
https://www.digitalinformationworld.com/2020/06/how-blockchain-works.html

But first, what is blockchain?

I’m not going to go into the technical detail of how a blockchain works here, there are plenty of articles that do that already. I want to focus more on what exactly it’s used for.

Blockchain provides an alternative way to do compute and store information in a decentralized way. But what does that really mean? Consider a typical centralized software, it’s likely hosted on a cloud service like AWS or some private company infrastructure. The same software could instead be run on a blockchain like Ethereum. The blockchain itself is basically a clever way to get a bunch of independent computers that don’t trust each other to all work together and do compute. The term ‘decentralized’ refers to the fact that no single agent should have power over the entire network.

Blockchain as a decentralized trustless system…

The immediate problem highlighted with centralized software is the issue of trust. For example, when you use Instagram, you don’t really know what’s happening behind the scenes when you press a button. With blockchain, on the other hand, the code being run is open source, and calls to the code are recorded for anyone to see. This means you can be sure about exactly what’s being run and when, without needing to trust a central third party hosting the software.

Because no single agent has power over the entire network, the state of the software being run is also recorded through history in an immutable way.

…comes at the cost of decreased efficiency

Whilst that all sounds good, there’s no free lunch. In order to achieve this decentralized way of doing compute, all the computers in the network have to reach a consensus on the outcome of the work being done. This consensus overhead varies between blockchains, but generally the more decentralized the blockchain aims to be, the more work is required to run the consensus mechanism. Why is this an issue? Well, the cost of any piece of software can be split up into roughly 3 buckets:

  1. The labour cost of building and maintaining the software.
  2. The profit margin taken by the company offering the service.
  3. The cost of the work done when running the software.

The first two are the same whether running software on- or off-chain; in either case, a company will have employees to pay and will want to take a profit for providing their service. However, the third point is where running software on-chain can become significantly more expensive, both in terms of time and money. On a decentralized service, the compute done includes the overhead of reaching consensus. Whilst steps can be made to make the consensus mechanism more efficient, it will always require a positive amount of work to do. This materializes in two ways:

  1. Software running on-chain is more expensive than a centralized service
  2. Software running on-chain is slower than a centralized service

These two facts mean that services running on-chain often aren’t as efficient as their centralized counterparts.

Is the tradeoff worth it?

TLDR; it depends on the application. It makes most sense when the cost of dishonesty is extreme.

A good first question might be to ask if trust in software is really a problem that needs solving. On the one hand, whilst there is no physical or technical reason why a company might not exploit your trust and cheat, there is an economic one. Breaking trust is expensive. If a company is caught breaking trust, their reputation is ruined and they’re hit with regulation and fines. For example, people are still skeptical about banks following the 2008 crash, and banks have put a lot of effort and expense into trying to repair their reputation. This might be a strong enough disincentive for many to not cheat. On the other hand, this likely really only incentivizes companies to hide their cheating, especially if the reward is greater than the punishment via reputation or regulation. We’ve seen this happen a lot as well, banks really did mismanage their mortgage products back in 2008, and more recently, we see scandals coming out against social media platforms like Facebook.

A second question to ask is if blockchain really solves the trust issue. Whilst the on-chain code is open source and the transactions run are available for anyone to see, most people don’t understand code, so the code and transactions could cheat and most people wouldn’t realize. This is one area where innovations in large language models (LLMs) may come into play; and in fact, Solana has already implemented an LLM system for this exact purpose!

A final question to ask is if there is another way to solve the issue. Arguably, stronger regulations and punishments could act as a suitable deterrent for cheating. However, regulations also tend to unintentionally favour incumbents in an industry by making it much harder for new entrants. Somewhat counterintuitively, less regulation actually might be a better way. Less regulation means the barrier to entry for new entrants is lowered, and the resultant increased competition might favour the companies that don’t cheat.

Overall, blockchain is at least one option to solve the issue of trust in software. However, it’s only worth using in specific scenarios where the benefits of transparent, verifiable compute are worth more than the extra energy it takes to run. These use cases are likely limited to areas where foul play can lead to serious consequences. For example, use in the military or healthcare might make sense where dishonesty can cost people their lives. For most current software use cases though (e.g. web apps), the higher throughput and cheaper costs of centralized compute will likely remain the preferred choice.

If you found this article useful, do consider:

Promotions out the way, I do hope you found this article interesting, and let me know your thoughts!!

--

--