There is a great deal of buzz about blockchain and distributed ledgers at present. This is the second time I have seen such excitement about a new technology. The first was in the mid-1990s with the rise of the world wide web, and the reasons for the excitement now are similar to those back then: many people can see potential applications and benefits even if they do not yet see how they will be realised.
So how best to explain blockchain? I like to compare it with the web. The Internet has made it easy to share information. Imagine it as a vast skyscraper made up of an infinite number of classrooms, each with a whiteboard at the front. Anyone can wander into any empty room and start writing on the whiteboard; it’s like creating a website. We can also wander into any room and read what is written there.
The basic idea of distributed ledgers is similar, but imagine that in this case each room has a second whiteboard on the side, a ‘scratchboard’. Before being allowed to write on the main board, you need to write your draft text on the scratchboard and get approval from the people sitting in the room. Approval can be obtained via any group-decision method – for example, a majority vote. Also, once you have sent something to the main board, this text cannot be deleted without prior approval from the people in the room.
Gaining approval for what is to be written on the main board has an important consequence: everyone has seen what is going on the main board before it appears there, everyone knows they have all seen it, and everyone knows that everyone knows this – and so on, ad infinitum. Game theorists call this situation ‘common knowledge’. It stops any participant later claiming they did not see the information in question. In other words, the shared information cannot later be repudiated, or at least not plausibly.
As with many computer technologies, practice comes well before theory. Charles Babbage and Thomas Fowler, for instance, built their calculating machines a century before Alan Turing proposed a theory of computing. In the case of the distributed ledger, the first widely known example was the blockchain technology developed in late 2008 to run bitcoin, the first truly decentralised electronic currency.
The bitcoin blockchain has some features that are specific to the bitcoin application, such as aggregating transactions into blocks, and chaining these blocks together in sequence. As we are now realising, though, these features are not needed for other applications. However, because we still don’t know the full potential of the technology, we do not have a good sense of the overall conceptual space of these distributed ledger technologies (DLTs).
If we have many computers agreeing on the values of some shared information, an obvious next step is to run computer programs over these shared values. Such programs running over a distributed ledger have come to be called ‘smart contracts’ (although the terminology predates blockchains).