Blockchain and distributed ledger: solutions looking for problems?
The twin concepts of Blockchain and Distributed Ledgers are abstract and seemingly interesting though hitherto they seem to be solutions looking for problems, and most of the problems that they are claimed to solve can (and are) addressed more reliably, quickly and efficiently in other ways.
My understanding of this is the following:
Blockchain provides a mechanism for non-repudiation of 'transactions', including historic transactions. Every transaction includes a hash of the preceding transaction, thus forming a chain of validated events. Any participant can validate any asserted transaction of whatever vintage, therefore including the entire lineage of transactions.
Distributed Ledgers provides mechanisms for agreeing with some form of consensus on what changes to a set of transactions (e.g. new transactions) are accepted to be authoritative by the network. This is important if there is value in the chain of transactions NOT bifurcating (e.g. in the case of crypto currency, not being spent twice). This characteristic may be less valuable in other scenarios, e.g. supply-chain/authenticity chains.
These two concepts are related because an important motivation (perhaps the only motivation) for blockchain, is the desire not to rely upon a single central authoritative version of transactions (which is vulnerable to corruption, perhaps intentionally so by the authority itself) or availability concerns. To avoid having to rely on a single authority you are immediately faced with a consensus question of how to reach agreement on the shared view of the list of transactions (i.e. to avoid branching or bifurcation of the list of transactions). Voting and quorum, perhaps weighted with proof-of-work or proof-of-stake are mechanisms that are frequently used for this.
The inherent challenge with this approach to distributed ledger is the following: consensus is vulnerable to someone gaining control over a majority of participating nodes (51% problem), or even less if weighted by proof-of-work or proof-of-stake. To mitigate against this it is important to have a large number of participating nodes, but in so-doing validating transactions necessarily needs to involve a lot of (relatively high latency) communication between peers, directly limiting overall throughput of transactions, even if many can be done concurrently.
Widely distributing the database clearly offers resilience to accidental data loss, but (as always) at the expense of significantly reduced overall throughput (or RTO or RPO). The lack of reliance upon a single trusted authority can be seen as a benefit, but also increases reliance on untrusted parties who may try to gain control of the overall network.
So where might these technologies be useful or relevant, and where do the advantages outweigh the downsides? Low-throughput scenarios that require high levels of resilience and public verification and visibility of changes and history. Changes to Global DNS records seems a great example to me, (not the DNS lookup itself necessarily, but the record-of-ownership of domains, say). Similarly for other asset registers perhaps. If even supply chain platforms (Maersk/IBM) and exchanges and clearing houses (ASX) are abandoning the technology - even if only for commercial reasons - this suggests that the advantages of blockchain and distributed ledger are not as compelling as their supporters claim.