Blockchain’s algorithms for public consensus literally create order out of chaos, but are they a relevant solution for your problem?
Bitcoin’s “proof of work” is the most famous of the blockchain consensus algorithms. As Bitcoin transactions are attempted in real-time, there’s no administrator to rule on the order in which they’ve occurred or even whether they’re legitimate.
Instead, many participants do the calculations — the “work” needed to process and record the transactions — and once a consensus is reached that becomes the agreed version of reality, memorialised on the shared ledger that is the blockchain.
Creating this official account of all transactions is literally all the Bitcoin blockchain does, and a key aim is to prevent the double-spend problem.
“Consensus” is one of those beguiling properties of blockchain — along with “trust” and “decentralisation” — which are actually difficult to generalise beyond the narrow confines of cryptocurrency. The consensus reached in the public blockchains is not what many people think it is. Instead of a general type of agreement, blockchain consensus is tightly defined for a singular purpose.
In most of the broader business applications for which blockchains are being planned or deployed, we don’t need a crowd to reach “consensus” about the state of a ledger, because there are various authority structures already accepted and established. If we don’t need the special self-administered blockchain consensus, we probably don’t need to add the algorithm’s enormous overhead and notorious real-time delays.
The problem space of the Bitcoin blockchain is non-fiat digital money, that is, electronic cash transacted with no intermediaries or regulator, and no registration of account holders.
Since the 1990s at least, however, we’ve already seen the creation of stored-value smartcard and digital money solutions using a central reserve or “mint” to oversee transactions and prevent double-spend. Mondex and David Chaum’s DigiCash are the prime examples.
However, many cryptocurrency advocates reject central control. They remained unhappy with these architectures until the arrival of Satoshi Nakamoto in 2008.
Nakamoto’s pioneering blockchain architecture cleverly crowd-sources the monitoring of each and every Bitcoin transaction. The network of participants periodically reaches agreement on blocks of accepted transactions, which it commits to the shared ledger. Account holders do not need to be registered, but are allowed to generate their own key pairs as they join the network.
Nobody knows which user goes with which key pair. The blockchain ascribes transactions to key pairs, and the community simply assumes that users remain in control of their keys. If a private key is lost or destroyed, then the corresponding balance can never be spent again. If a private key is stolen or copied, its original owner has no recourse to a system operator, because there isn’t one.
The consensus reached by the blockchain is about one thing only: the order in which transactions are deemed to have occurred. Agreement on ordering of the ledger is sufficient to prevent double-spend of the cryptocurrency. In late- generation synchronous ledgers without an intrinsic underlying currency, like Hyperledger Fabric, this function is explicitly named the Ordering Service.
Consensus about the order of ledger entries is a special-purpose outcome and cannot be readily generalised to any other property of the data. Anyone contemplating broader blockchain applications should be wary of how the word “consensus” can be stretched too far.
The architects of non-fiat cryptocurrency are at liberty to simply reject central administration as they build their special new world. Yet very few real-world business settings are like that.
If a program has a natural or inherent administrator — as with education, healthcare, elections, or land titles — then it doesn’t need to crowdsource any question about the state of its data. There isn’t much that a distributed consensus algorithm can tell us that the administrator can’t work out for itself, more quickly and for far less cost.
Finally, remember that blockchain consensus creates order out of the deliberate chaos of cryptocurrency, where key holders are allowed to go unregistered.
In many of the extended blockchain use cases, such as internet of things (IoT) or supply chain, there is no such disorder.
IoT devices tend to have serial-numbered chips to securely hold the private keys. Supply chain operators are generally authorised employees, typically using dedicated terminal equipment in warehouses, field locations and delivery vehicles. These types of networks are orderly to begin with, and don’t need an elaborate consensus algorithm to work out what’s going on.
When analysing potential uses for blockchain, always ask precisely what any consensus is about, and what’s the point of it.
What do you need to know about the application’s users in the system’s operation?
And is it actually beneficial to crowdsource the monitoring of a user network if it’s cheaper or more natural to have a central manager?