A blockchain is a publicly shared immutable ledger, an append-only log of transactions that uses crypto-currency techniques to minimise any security risk. As shown in Figure 1, transactions are contained in blocks that are linked together through a series of hash pointers. Any tampering of a block can be detected since the hash pointer to it would no longer be valid.
As a ledger system it is very open. In addition to the source code being openly available, a key feature of blockchains is that in principle every user has their own copy of the entire blockchain. In fact, there is no central or master copy, simply the multiple copies held by the volunteers in the user community.
Volunteers are rewarded for their effort through a number of algorithmic processes that can result in payment. Small payments can be attached to individual transactions. Consensus on what types of blocks and transactions can be part of the blockchain is automatically reached according to whether the majority of blockchain holders accept newly proposed blocks. This attribute leads to a system where consensus is hardwired into the software.
Without the need for any central control or mediator blockchains allow for leaderless democracy, a new way of governing human behaviour online through ‘one computer one vote’. In this way, a blockchain can act as a provenance protocol for sharing data across disparate semi-trusting organisations.