I read a post on LinkedIn extolling the virtues of blockchains as a new form of database that can be directly shared by a group of non-trusting parties – without the need of an administrator. So we thought we’d through our hats into the ring!
Traditional databases (SQL or NoSQL) – by contrast – are controlled by a single entity, even if some kind of distributed architecture is used within its boundaries.
When I get asked whether blockcain technology can be used for a particular purpose, my first thought is:
Can it already be done with a centralised database?
And in many cases, the answer is yes. Because in cases where robustness and trust aren’t an issue, everything a blockchain can do can be achieved with a centralised database also.
In some scenarios – despite all the hype lately – blockchain features have clear disadvantages over standard databases, for example, when it comes to confidentiality. Here’s why:
Every node in a blockchain verifies and processes every transaction. It can do so because it has full visibility into all aspects of a transaction (including the digital signature which proves the origin).
But for many financial applications, this 360° visibility at all nodes is a no-go. And the more information you want to hide, the more computational power you have to invest.
Whereas on a regular database you can simply hide data completely.
The second disadvantage of blockchain is their weak performance
They carry three additional burdens compared to centralised databases:
- Every transaction must be digitally signed – and this signature must be verified because transactions propagate between potentially unsecure nodes
- In a blockchain, great effort must be expended to ensure consensus between all nodes of the network. This requires significant back-and-forth communication
- A centralized database processes a transaction once or twice. In a blockchain, every node processes the transaction independently – generating lots of redundancy for the same result
For more information about web hosting solutions, please get in touch!