I recently worked on a project with VAKT, a start-up that is backed by an energy and finance consortium, to build a commodities post-trading management platform built on the blockchain platform Quorum.
As someone who works with blockchain technologies, I am often asked “What is blockchain?”. A lot of times explaining technology topics is much easier if one removes technology from the mix. I have found it useful to draw an analogy to a game of soccer (or football as we like to call it in the UK). Although it might not be an entirely accurate analogy, it does help explain the principles and provides us with a reference in a space that is more widely understood.
A simple description of soccer is about two teams playing opposite each other looking to score more goals than the other; refereed by an independent person on the field who validates and provides arbitration on the rules of the game, e.g. timing, goals, fouls, etc. The players and the audience generally have an eye on the big board (which displays the score and time details of the game) and teams often change tactics, depending on the score or the time left in the game. In many ways the board is showing the current “state” of the game as multiple events unfold on the pitch. As a thought experiment, we will try to re-think soccer as if it were to live by the same principles as blockchain (“BlockSoc”).
The core focus of blockchain is decentralization - attempting to eradicate centralization of any form - and by doing so it offers extremely high levels of availability and resiliency as a whole system. Hence, that should be our first focus whilst re-imagining soccer.
The score. One of the first centralized points that come to mind is “the scorecard on the big board” - the final score is what determines the outcome of the game. In the blockchain version of a soccer game, every player has their own scorecard, and each player’s scorecard needs to have exactly the same score.
The referee. Another point of centralization is the referee, who makes decisions about the rules of the game, like goals and fouls that have a profound impact on the outcome of the game. They act as a “controlling authority”. In blockchain-based systems, such decision-making power is not concentrated in one place. For blockchain soccer to live by the same principles, a decision about a goal or foul would not rest with a single person and would be validated by all players of both teams on the pitch (one could also include the audience in the validation).
In a blockchain system, one way to think of this is that the “Referee” can be any of the players at any time. How the referee is chosen is referred to as the “consensus algorithm”, and the rules are encoded in “Smart Contracts”. Consensus algorithms have been around for a while (and can be found for example at the heart of distributed datastores), but usually operate in high trust contexts, in which all “players” are trusted to be honest. One of the core “innovations”, if you like, of blockchain systems is to develop consensus mechanisms that allow less trusted players to participate. The most proven algorithm in this respect is Proof of Work, but this is an area of active research and many other ideas are being explored (e.g. Proof of Stake, Hashgraph consensus, Proof of Authority). Some blockchain implementations also use more traditional consensus algorithms (e.g. RAFT) because they expect to operate in a context of higher trust. Others provide abstractions that allow a range of approaches, from trusted authorities through to fully decentralized protocols.
Humans don't cope well in these sorts of conflict scenarios (remember both teams want to win, and so there is little incentive for team A to agree that team B scored a goal) - it is likely that this sort of game in the real world would end up in chaos. This is one of the reasons we tend to have intermediaries like the referee. One of the core value propositions of blockchain is that it can potentially automate these kinds of rules and decisions and allow people and organizations to interact with some level of trust without requiring an intermediary.
Beyond decentralization, another interesting aspect of blockchain systems is how they record data (or transactions). In soccer, once a goal has been agreed, we want to make it very hard for anyone to change the result, perhaps to try and add an extra goal for their team that was not actually scored. We call this “Tamper Resistance” but often people will talk about “Immutability” or “Permanence” to mean roughly the same thing. There are three contributing elements that together provide Tamper Resistance.
Firstly, blockchain systems do not offer “update” or “delete” operations - they operate as append-only data stores. In the blockchain version of soccer, when a player scores a goal, they notify all the other players so that everyone can update their cards. As previously mentioned, the “decision” as to whether or not this was a valid goal would be decided by the smart contracts and decentralized consensus, and the result of that decision notified to all the players. Each player will now have a validated list of all the goals and so can derive the current scores by adding up all the goals for each team.
Secondly, each append operation is cryptographically signed (the equivalent of the author adding a wax seal to each write) - that way we know that it was not tampered with. The wax seal also allows the possibility to know to whom the seal belongs, but it is not always a characteristic of blockchain systems. In bitcoin for example, each person can generate a random wax seal whenever they want (called an “address”), so while you can tell between which addresses bitcoins are transferred, there is no information in the blockchain about who owns which addresses (seals). This is known as “psuedononymity”. Other blockchain systems use stronger ties between the wax seals and their owners. In our game of soccer we might want to know exactly which players are submitting the goals because it is a fairly closed system, so we might choose to associate the wax seal to the player.
Finally, every write operation is linked to the previous write by being recorded into “blocks” of transactions that are cryptographically linked together (that's where the name comes from - chain of blocks). As a result, even if you were able to somehow change a particular transaction, the link to the next block would be broken. This provides a verifiable integrity across the entire history of all the transactions on the blockchain. In blockchain systems like bitcoin all of this takes some time and so in our game of soccer we might choose a different mechanism that will allow the results to be recorded faster, but the end goal is the same: to have a set of data about the game whose integrity is easy for us to verify.
Together these three elements make it extremely difficult to tamper with data on the blockchain.
The combination of tamper resistance and digital signatures provides the foundation for some level of Non-Repudiation, i.e. it is possible for someone to use the blockchain as evidence that something happened, and to varying degrees (depending on the implementation) who was involved.
Another aspect of blockchain systems is the ability to encode the rules of the game such that we can program the blockchain for any sport, not just soccer. In the blockchain world, the rules about what makes a valid goal are encoded in “Smart Contracts” that are executed by the players in order to make decisions about whether a goal is accepted. By embedding the logic with the data in the system, the logic used for each transaction can be verified and is also Tamper Resistant making for a highly transparent, verifiable system which can aid trust between those making use of it.
In summary, we have looked at three of the key characteristics of blockchains (Decentralization, Tamper Resistance, and Embedded, Decentralized execution logic), through the lens of our soccer game. As with any analogy we need to be careful how literally to take it but I have found that for some people the idea has unlocked the concepts for them, particularly around decentralization. If you are interested, there is much more to explore. Most of my learnings rebuilding on blockchain are based on working on the VAKT platform - you can learn more about our journey in this paper, which I co-wrote with VAKT’s CTO, Adam Vile, and my colleague, Jim Barritt, who I thank for his help in writing this piece.
For further details, watch this talk from XConf EU 2019
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.