What is a Blockchain ?
What is a blockchain?
Why trust is a fundamental issue in human relations
The characteristics of a blockchain
How a blockchain works: consensus &
A blockchain is a new way to store data. Rather than centralising information, and the control over it, in one place (a database), blockchains store it across a network where no one point has the authority to change records, This is called decentralisation..
Blockchain's record data - in blocks - and securely store this data by chaining those blocks together using cryptography, hence a block-chain.
Satoshi Nakamoto - the alias of the individual or group behind Bitcoin that we met earlier - conceptualised the idea of a blockchain in a 2008 Whitepaper (blueprint). The ability to create a decentralised ledger of transactions was fundamental to the viability of Bitcoin - a new peer-to-peer digital cash - and solving the double-spend problem.
In other words, how to create a purely digital money that cannot be spent twice and doesn’t go through a financial institution; it just flows from person-to-person across a distributed network.
The blockchain was a central element in Satoshi's solution, in combination with a method for ensuring that only valid transactional data was added to each new block - known as the consensus mechanism.
In reality Satoshi was actually solving a much bigger a problem that has been around for a very long time: trust & agency
The Problem of trust & agency
In the very first article of this section on cryptocurrency basics we discovered that money was first used to facilitate trade. Facilitating the exchange of goods between two parties that didn’t know or trust each other.
As civilisation and commerce have expanded it has been accepted that the only solution to this trust issue at scale is to centralise power in the hands of an ultimate arbiter.
Monarchs, generals, governments or multinational institutions have the final say on, and control over, what's fair (Law),who owns what assets, and what those assets are worth (Central Banking).
This arrangement has been more practical than optimal. Time and again, we have seen that trusting a central authority is a less than efficient way to do things - I'm looking at you, 2008 Financial Crisis. This is commonly known as the Principal-Agent Problem.
What is the Principal-Agent Problem?Agents (governments, large organisations and their machinery) make decisions that impact other people (Principals - citizens, customers) who's interests they should be serving. Their powerful position and the absence of accountability mean their decisions that serve their own interests and adversely impact those they should be serving.
So how can a blockchain solve this age-old problem?
All this talk of governments and authority may be starting to sound a bit far fetched so let's take a few steps back and focus on the central issue of how blockchains achieve trust without authority..
First, we'll break down the unique characteristics of a blockchain - how data is structured - then describe the process for reaching agreement (consensus) on the validity of that data. The consensus mechanism really is the secret sauce of blockchain, as this is what enables the removal of a controlling authority.
Finally, we will assess blockchains' limitations and evaluate if the technology is worth all this hype, which will lead nicely on to the final two articles in this section on crypto adoption and crypto frontiers.
The unique characteristics of a blockchain
Each block in a blockchain (barring the genesis block or first block - more on this later) contains three things.
Data to be recorded that is represented by what’s called a cryptographic hash.
A coded representation (or cryptographic hash) of the previous block's data.
A timestamp of when the block was added to the chain.
Let's break down these three things into what they are.
Data - The data recorded on a blockchain can vary depending on what is using the technology. For example, as a currency, Bitcoin uses a blockchain to record it's transaction data - which is why its referred to as a ledger.
Other uses include supply chain data management, healthcare data and identity records; the sky's the limit, so long as the information can be digitised. The point is that blockchains can securely store many different types of data.
Cryptographic Hashes - A cryptographic hash is essentially a coded (jumbled) representation of a piece of information. It uses a mathematical function (a jumbler) to generate this representation (jumble) linking the meaningful information to the hash. Thus, if I were to change the information, the corresponding hash would change, as the two things are inextricably linked by the hash (jumbling) function.
Here’s some simplified examples:
Our data: Y=1,
We apply a cryptographic hash function (to jumble it up)
This generates the Hash Y1.
If I were to change the original data to Y=2, and apply the hash function, the hashed output would also change, giving us Y2.
Crucially, it is trivial to confirm that Y2 is the correct output of the Hash, but almost impossible to work out what the Input was.
Hashing is how websites can store your passwords, confirm they are valid when you input them, but not be able to know what they are.
This is simplified for explanation purposes because cryptographic hashes encode the data that they represent. Therefore, the only link between the data and the hash is the mathematical function that generates the hash and not any content.
Here’s another example
Input data Y=1
Apply hash function
Change the Input data to Y=2
Apply hash function
Hashed output= trees.
There is no discernible relation between dog and trees, they are simply products of the same hash function generated from the data sets Y=1 and Y=2.
In reality, cryptographic hashes are long strings of letters and numbers that don't correspond to any words or meanings apart from representing the data, but are of uniform length. What digital cryptography lends to the solution to our trust problem is a reliable method for securing data that doesn’t require authority or threat of violence.
Timestamps - this one is pretty self-explanatory,. A record of the time that an individual block of data was added to the chain. Though simple, Time stamping is crucial, giving blockchains verifiable and unchangeable historical reference points.
Making the chain unbreakable
The innovation of blockchain technology is that by design, blockchains are resistant to retroactive modification and can store data securely without a centralised authority.
The process starts with the cryptographic hash function. Each block has a hash function for its own data and a hash function for the last block's data.
By encoding the previous block's data into each new block, the hashes create a chain that is it grows becomes ever harder to corrupt.; to tamper with, or modify any particular block's data, you would also have to modify all subsequent blocks to keep the chain valid.
If I change the data on a specific block, it's corresponding hash will change - remember from our dog example above - and be different to all following block's recorded hashes and thus the chain will become invalid.
However, due to the speed of today's computers, this hash function isn't enough to secure blockchain's from being tampered with.
Computers can calculate hundreds of thousands of hash functions per second and could effectively calculate new hashes for all blocks in a chain to make it valid again. Thus, Sastoshi's need to create a consensus mechanism - borrowing from previous attempts at digital cash - that was immune to brute force attack.
Proof-of-Work is the second half of blockchain technology that, combined with cryptographic hash functions, ensured that the Bitcoin blockchains is secure.
Essentially, proof-of-work is a mechanism that slows down the creation of new blocks by requiring work/effort be exerted before a block is produced. Proof of Work require a mathematical puzzle to be solved or computed for every new block added to the chain.
The puzzle itself is arbitrary, but the requirement to perform sufficient 'work' - burning electrical energy - is a way of discouraging people from trying to mess up the blockchain; you’d have to spend/exert more effort than could be justified by doing it.
This proof-of-work process is regulated to ensure blocks are created at an average time-period called the block time. For Bitcoin's it takes around 10 minutes to create a new block, which as discussed in our article on Bitcoin's limitations, is a measure impediment to scaling.
There is a reward for whoever solves the problem to incentivise it to happen. As we've already seen in Bitcoin's case, the reward is currently set at 6.25 Bitcoins and will be until at least 2024 (known as Halving).
This mechanism means there is an economic incentive for Miners to add new blocks by contributing the required level of work. It also stops computers just generating a bunch of new hashes and verifying a chain with incorrect data in the blocks.
Bitcoin uses Proof-of-Work as its consensus mechanism but there are many others, the most popular being Proof-of-Stake (PoS) and Delegated-Proof-of-Stake (DPoS).
These mechanisms are slightly more complicated and are aiming to be a more efficient way of making blockchains reliably secure but without the requirement for the work, which essentially comes down to computing power and energy consumption. They are in effect attempts to solve the Blockchain Trilemma - delivering scalability, security and decentralisation.
PoS is essentially having skin in the game by putting up funds to participate, while DPoS is the same, except you can delegate the authority your stake gives over the blockchain consensus to some other participant.
How is consensus achieved?
So we have our cryptographic hash functions that link blocks of data in a chain. We have our proof-of-work mechanism that incentivises new blocks to be added to a chain and helps ensure against bad actors by requiring a computational proof for each block.
The final way that blockchain's ensure security is by being distributed.
Blockchain's run on what's called a peer-to-peer (P2P) network - mentioned in the Satoshi quote above.
What is a Peer-to-Peer Network?A network of users that communicate directly with each other and share the same privileges.
Rather than being centralised and run by a single entity - such as government - P2P networks are made up of a distributed network of computers all following the same set of rules (protocol)., In this way, everyone of those computers connected to the blockchain has access to the full record (or chain) but behaves in a predictable way.
Each time a new block is added to the chain, everyone has the chance to verify this block’s data as accurate. Any computer that connects and runs a blockchain is called a node.
For a block to be added to the chain at least 51% (a majority) of all nodes, have to agree that it is accurate. In other words, that the proof of work has been solved and the hash functions all match. This is called achieving consensus - creating a shared agreement of truth in our magical solution to our trust. All without any central authority.
To successfully corrupt a blockchain you need to
Tamper with all the blocks on the chain.
Redo the proof of work for every block.
Take control of more than 50% of the P2P network
Not only is this almost impossible to do, with the difficulty growing as the number of nodes grows, it doesn’t make economic sense. Thus, blockchain's are a secure and decentralised way of storing data, with those qualities improving as the blockchains grow..
Blockchain use cases
Now that we've got how blockchains work nailed down, let us look at some different blockchain technology applications.
The most famous application, and what the technology was initially invented for, is a new form of money free of central control, which we now know as cryptocurrency, the first and most famous example being Bitcoin.
By storing all Bitcoin transaction data on a blockchain, Satoshi Nakamoto created the world's first digital and decentralised version of sound money. We covered this extensively in a previous article so check that out if you would like a refresher.
Since then, blockchain's have been applied to many other areas outside of currency. Another famous example is Ethereum.
In 2013, programmer, Vitalik Buterin, proposed that blockchain technology could be used to create what he termed smart contracts in a white paper.
In 2015, the Ethereum blockchain was launched to build these contracts on top of, complete with a programming language (Solidity) and native currency (Ether).
A good way to think about it is that Bitcoin gave us programmable and decentralised money, and Ethereum gives us programmable and decentralised contracts.
From this, many applications have been built, and new industries are being born. Currently, the most notable of these is decentralised finance or DeFi, an experimental form of finance where smart contracts (and therefore blockchains) are used as intermediaries instead of brokerages, exchanges or banks. For more details on Ethereum, see Article 7 - Ethereum - the World Computer.
The weakest link
As we have already seen in our discussions around 'sound money,' the Bitcoin blockchain sacrifices scalability for security and decentralisation.
In contrast, centralised and secure systems such as Visa can process tens of thousands of transactions per second, but suffer from the double-spend and trust issue; proof of work functions enable trust without authority but cannot achieve this throuput.
Bitcoin currently processes around five transactions per second, and Ethereum is around 15, making things slow and impractical.
The Ethereum community is hard at work fixing this at the moment with Ethereum 2.0. This open-source development's main objective is to improve the transaction capability from 15 per second to tens of thousands with a technique known as sharding.
More details on this are for a more advanced article. For now, it is essential to remember that blockchain technology is in its infancy and whilst yes there is a lot of promise to the technology the community is still in the process of developing and applying it at scale.
Many projects describe themselves as blockchains, yet fail to demonstrate the characteristics described here, because they cannot be achieved out of the box, and Principal-Agent problem always means that where someone can exert control, there is a good chance they will and not necessarily to the user's benefit.
Blockchain has become a buzzword that is sometimes used to infer credibility, as was seen during the dotcom days, and meaningless references to being 'an online business'
Blockchains & the Future
You should now have a basic understanding of how blockchain technology does work in the wild and why they are such a revolutionary idea. Blockchains are a radical new way of producing trust in the digital age without the need for a central authority.
To understand the impact blockchains could one day have, it may be useful to look back at the technology's creation.