Introduction to Blockchain
Blockchain technologies have the potential to radically alter the way that data of value (e.g. assets, money, certificates, important records, etc.) are recorded and transacted. They hold the potential to create peer-to-peer networks where these data records are trusted despite the lack of a centralised coordinator.
Establishing trust and transparency
For those completely new to blockchain technology, the best way to think of it is simply as a shared (replicated) electronic database in which the data records are immutable and encrypted. Nothing can be deleted, only added to or amended through transparent corrections. This replication means that it streamlines processes but importantly can be used to establish trust and transparency. Effectively it is a permanent database where data entries could look like this:
Without the private key to decrypt the data, the encryption at the record level means it is a database that can provide varying levels of secrecy (depending on what exactly encrypted).
Many variants and layers of blockchain technology
There is a lot of buzz around Blockchain technology currently and rightly so, but the volume of academic research and media articles is overwhelming, confusing and sometimes contradictory. No doubt the infancy of this technology contributes to the problem but it doesn’t help that the generic term ‘blockchain’ is used to describe many important variants and layers of technology. If those in a conversation are not clear about which specific component and/or type of blockchain is being discussed it can be confusing, even for those who are familiar with the subject.
However, the innovation of the technology is important and so it is worth getting a basic grasp on why this is so. It has the potential to be as pervasive and disrupted as the world wide web. At a very high level a blockchain is simply a type of replicated database with no central authority, a consensus algorithm runs on the network to ensure each copy is consistent. Behind this very high level description the comlexitiess creep in.
Active or passive; open or closed?
All blockchains share certain features, but they also differ in important ways. The most important differences to identify early on whether the blockchain in question is ‘passive’ or ‘active’ and whether it is ‘open’ or ‘closed’.
Before we explore these nuances let’s consider the properties common to all blockchains. As the data can be hidden in clear sight, and therefore replicated in confidence throughout the network, it means blockchains have some really useful properties. Those properties include:
If one computer fails, no records are lost and the database is kept operational
No records can be altered or deleted, only added to
It cannot be denied that the record exists or existed
Rather than secure the entry and exit points to the database, all records within the database are encrypted so that only those allowed can view / change the state of the record in question
These properties mean that the technology is really useful (and trustworthy) for data typically considered important i.e. data that must not be duplicated, viewed, changed or modified. Examples include personal identity, financial records, voting rights, health information, property, receipts, ownership, intellectual property (music, art, etc)… and many more.
These properties are achieved because unlike ‘normal’ databases that reside on (or are coordinated by) a single computer, blockchain databases reside on, and as, a network. This means that a copy of the database is kept at every single location where a computer connects to it. The core code of the database ensures that all copies are always syncronised.
Open or closed
Peer-to-peer technologies have been around for a while now but up until relatively recently, even distributed computing technology still required some central coordinator that set the agenda by reliance on their code (e.g. BitTorrent, Napster). But there are often many good reasons why we do not want one party in control of a given data set or operating model, this can be particularly true for data of value. Some blockchains have figured out a solution to this, which leads neatly to the next interesting property of blockchain technology:
No central authority required
If it is deemed optimal to have no central authority in control of the network, the next thing to clarify, is whether the network should be completely open or whether there should be participation criteria. ‘Open’ blockchains are completely censorship resistant: anyone can join and participate in the network. ‘Closed’ (or ‘private’) blockchains are shared across a network but include some criteria that determines who is permitted to join, which will also impact how the network operates and ensures security.
The first blockchain to solve the censorship resistance problem was Bitcoin: the first fully decentralised blockchain database. The real ingenuity of Bitcoin was combining cryptography and economic incentives to create a viable commercial model for peer-to-peer computing. Bitcoin harmoniously combined three separate disciplines of computer science: (1) shared databases, (2) consensus algorithms and (3) cryptography, ensuring that contributors to the security of the network were rewarded economically. The Bitcoin network has an endemic token (confusingly called bitcoin) which acts like electronic cash: bitcoin is awarded periodically to those network participants who secure it.
The combination of economic incentives with computer science permits decentralised blockchains to exist. Bitcoin demonstrated a viable implementation for shared trust and validation in a ‘trustless’ network environment with no centralised control, or common ownership of computers.
Roll forward seven years and the associated advances in thinking and we now have many variants of the same underlying principle that then allow for fundamentally different processes, businesses and relationships to be formed. It is now possible to design peer-to-peer relationships electronically with the user controlling their data: where it goes, who sees it, who uses it, and how it is used.
The extra properties that permit this flexibility are already in use across certain blockchain networks,and it is those properties that turn the blockchain from ‘passive’ to ‘active’.
Active versus passive
By ‘passive’ I mean that the database operates almost exclusively like a ledger: someone owns something, here are the encrypted records that prove the ownership, and we can all trust the notarised records.
‘Active’ blockchains contain endemic computer code as well as records which in turn introduces the following properties into blockchains:
The database can store anything electronic (eg tokens, programs, etc)
Any code can be left on the blockchain to auto-execute (run) provided its inputs are met
Conceptually, it may be quite difficult to understand the implications of this but they are profound.
Connecting and transacting
It is this functionality that will likely drive the expansion of IoT (the Internet of Things) as objects will be able both to connect to networks to fulfill their function and also, crucially, transact. It will permit contracts to be agreed and executed on-the-fly. This means that objects that are connected to the network will not only be able to talk to each other but crucially can effectively be used to either provide a value service, or call upon a value service performed by another object. Mike Hearn once described this at a Turing Conference a few years back as the equivalent of a driverless car owning itself.
The most high profile and ambitious project to date of this kind is Ethereum. Ethereum is a decentralized blockchain but one that includes code within the chain itself. This enables anyone to add code to the blockchain and guarantee that code will run (provided there is enough ‘fuel’ to pay for the execution of the code). In this excellent introduction to Ethereum video, Dr. Gavin Wood (one of the founders) gives his introduction to Ethereum: ‘Ethereum for Dummies’.
Significant opportunities in trust transfer
Blockchain technology allows electronic computer systems to become a primary medium for the transmission and shared storage of auditable trust documents and certificates. Blockchains are effectively authenticated cryptographically secured activity records of the history of a network, shared among the users of the network.
Having shared electronic trust creates significant opportunities to streamline trust transfer, massively disrupting any businesses that have this at their core. This won’t just impact financial records, where attention has been focused to date, on the contrary I find it hard to think of an industry that won’t be impacted by this technology. It includes media, telecoms, health, energy, advertising, insurance, transport, manufacturing, the list goes on.
There are important limitations to the technology, the concept of storing copies of the database everywhere does make it expensive, relatively speaking; you wouldn’t currently run big data analytics on this structure of database. Also, blockchain technology is not suitable for every business or community application. But, if a network’s use of data is important, and the answer is yes to at least some of the questions below, there is a good chance that data will at some point end up on a blockchain of some description:
- Are there advantages for the community in sharing the database?
- Is it important that individuals in the community need to add to records in the database?
- Is the absence of an intermediary desirable or required?
- Is there some level of distrust amongst the community?
- Is there an inter-dependence between records (ie a vote cannot be cast twice)?
Since the technology is still new, there are challenges that the computer science community need to solve (for example, issues of scalability, privacy, and others), and more academic research is required into the behavioural and psychological impact on the governance of networks (for example, what is the optimal way to coordinate necessary updates to the core code of the database as a network? Are there multiple options depending on the community in question?). However, these are problems that will be solved over time.