Is Blockchain the Right Technology for My Application?
This is an attempt at guidelines to help in technology decisions about when and where to use blockchain technology.
Blockchain in a Nutshell
A blockchain is a distributed list more than one entity can add new elements to. Each list element cryptographically validates its predecessor. Combined with the fact that adding new elements is computationally expensive, this protects the list’s integrity.
Pros and Cons of the Blockchain Architecture
Let’s start with what blockchain is good at:
- Due to the distributed nature, there is no dependency on any individual entity for the management of the data
- Tampering with the data is uneconomical because of the huge resources that would be required
And here are the caveats:
- Maintaining the list is highly inefficient due to the tamper-proof architecture
- The throughput in transactions per second is very low compared to a database
- Storage requirements can be high because verification of the list’s integrity requires access to all blocks
When to Use Blockchain Technology
From the above, we can deduce where blockchain is a good technology choice.
Trust and Accountability
Legal contracts allow for pretty efficient management of accountability and – indirectly – trust. Making a system’s technology tamper-proof is not necessary when the risks of tampering are too high for the parties involved.
Takeaway: blockchain technology only makes sense where traditional legal instruments are insufficient or not applicable.
Dependencies on Elements Outside the Blockchain
If you cannot move the entire data set including all dependencies to the blockchain, the mechanisms that protect the blockchain’s integrity are wasted. People will simply cheat elsewhere in the process.
Takeaway: a blockchain must be self-sufficient and not rely on external data.
Processing Speed and Efficiency
Blockchain technology incurs a high computational overhead. Compared to databases, blockchains are inefficient and slow.
Takeaway: blockchains are not replacements for databases.
Putting the hype aside, there seem to be very few use cases where blockchains would genuinely be the best technology choice. Bitcoin seems like a good fit but is hampered by the low slow transaction speed and huge (energy) inefficiencies.