The point of the blockchain is to secure a database of records (a “ledger”) that cannot be changed, which is updated incrementally and automatically, and which is distributed across a network of participants so that everyone has an identical copy of all of the records. In this way, there can be absolute trust that everyone knows the same thing.
As a result, we get a so-called “trust-less” system that operates without a central authority.
Excellent. But hold on a second.
So get me a copy of the ledger …?
To make the system work, each participant sets up a “node”. The node is a physical store of the ledger (ie: on a computer). Each node, via the architecture of the blockchain, is connected with all the other nodes. Each physical copy of the ledger is mathematically verified as an exact copy each time a record is added.
But, it seems that setting up and operating a node requires significant third-party assistance or it is something that nearly everyone delegates to someone else. Moreover, the proper operation of each node relies upon a correct and honest implementation of blockchain architecture.
So tell me what is written on the ledger …?
It seems that natively reading the ledger records is a rather technical task – since the data that has been stored in a “block” needs to be retrieved, interpreted, processed, and displayed for it all to make sense.
Just like any software application, this usually needs third-party software that is specific to the particular blockchain environment that can read the data, interpret it and then make it useful.
“Quis custodiet ipsos custodes” – who will guard the guards themselves?
Herein lies the rub. The only way, in fact, to know what is stored and secured by the blockchain is to use intermediate applications and supports to maintain the ledger and then to retrieve and interpret the stored data.
Two stories to ponder upon:
The crypto-currency that never was
A famous example that shows the dangers very clearly. This is the story of One Coin (https://en.wikipedia.org/wiki/OneCoin). Purchasers of One Coins were given a convincing story and a log-in to a system with a purported digital wallet and a holding of crypto-currency that seemingly went up in value over time. In reality, there was no blockchain and it was a Ponzi scheme siphoning off the cash until, as with all Ponzi schemes, the authorities started to catch up and the flow of individuals at the bottom of the pyramid dried up – and all the money and the founder disappeared.
The blockchain networks without [any] user-maintained nodes
It seems that many of the much-applauded new applications that are running on the blockchain are simply trusted by users who do not run their own “nodes”. Running a node is quite a complicated task that can require dedicated on-premises hardware and software.
Users (banks, corporates, individuals) simply delegate the task of running their node back to the cloud-based software vendor – who becomes operator, gatekeeper, poacher, judge, and jury of the network all at the same time.
The trust-less system is really the “trust-the-vendor” system.
Does this matter?
In many ways, none of this really matters. We have been trusting software vendors for many years to build applications that faithfully store and return data accurately to us on demand. For cloud-based applications, we expect our software vendors to “run” the applications for us as well.
Software engineers use “databases” to do this, like Oracle or SQL Server. And databases are good at this task, optimised for speed, reliability, and efficiency.
Performance is the key difference between blockchain and traditional databases.
- Blockchain ledgers are typically energy-intensive because of the need to perform an incremental, mathematical verification step with each block that is written;
- Blockchain ledgers are slow and energy-intensive compared to databases that have been tuned and optimised over decades specifically for the task of storing and retrieving data efficiently; and
- The performance of the blockchain ledger will usually degrade as it scales up.
A diagram to help you decide whether blockchain is right for your project
(With apologies to the original author of this diagram that has circulated widely on the internet and on Reddit.)
If you do not run your own node natively and you cannot read and interpret the ledger directly – you will always be trusting someone. Most of the time that person will be the organisation that both wrote and sold you the software application. We have gone full circle.
Like this item? Get our Weekly Update newsletter. Subscribe today