Blockchain technology was invented to make the world’s first crypto-currency, Bitcoin, possible. Traditional currencies rely on intermediaries like governments, banks and clearing houses to guarantee their value and process transactions. Bitcoin uses digital technologies to cut out these middlemen.
The central technology is a shared, distributed ledger. Instead of relying on third parties such as banks or land titles offices to record and keep a copy of transactions, a Blockchain creates a digital ledger of which each participant has a copy. Participants communicate with each other via a peer-to-peer computing network.
Records are added to the shared ledger one block at a time and are identified by a timestamp and a unique digital identifier, or ‘hash’, produced using a cryptographic algorithm. Each new block also records the hash of the previously added block, and this links them together in a chain. The Blockchain also needs to verify that any new block is valid before it is accepted into the chain - a process known as consensus.
As well as recording transactions, a Blockchain can also contain a set of rules or a ‘smart contract’ that automatically performs certain actions when a block is accepted and added to the chain.
Once a block is accepted, it cannot be deleted; any attempt to insert a new block between two existing blocks would be rejected by the consensus process. Similarly, the contents of the block are tamper proof, because it is impossible to change all the duplicate copies of the Blockchain held by all the different participants.
Although every participant has a copy of the ledger, they cannot necessarily read all the records. Using digital identity and encryption technologies, it is possible to restrict access to records to just the concerned parties and/or auditors, for example.
A Blockchain generally needs a way to identify participants and ensure they are who they say they are (unless, like Bitcoin, the participants are anonymous). Most Blockchains used in business – known as Permissioned Blockchains – identify participants.
Permissioned Blockchains use a certificate authority (CA) that issues a unique cryptographic certificate to each participant so they can be identified. A CA is a sort of middleman, but not one that slows down transactions or adds much expense. In fact, identifying participants makes the process of achieving consensus easier and cheaper.
Consensus can be an expensive process with anonymous Blockchains. In the case of Bitcoin, it is achieved by setting complex problems for groups of computers that hold matching copies of the ledger to solve. The more computers in agreement, the more computing power they have to solve the problem. The first group to come up with a solution prevails, and their version of the ledger is distributed to all the others. While effective, the amount of computing power and energy consumed can be out of proportion with the end result.
Achieving consensus with Permissioned Blockchains is generally less costly and can vary depending on the application. It can be as simple as nominating a certain number of participants as validators, with consensus achieved when a majority of validators are in agreement. More complex methods include the use of Practical Byzantine Fault Tolerance algorithms – perhaps a topic for another crash course!