When goods are exchanged, a certain amount of trust is involved. The buyer wants to ensure that they receive what they pay for and the seller wants to ensure they get paid for what they sell. Similarly, if you lend someone money, you want to ensure that they pay you back as agreed. If it’s a good friend or someone you know well and there is a high level of trust, this exchange take place much more simply. But when it involves 2 strangers who don’t know or trust each other, it gets more complex. Similarly, as the value of the exchange increases the level of trust needs to increase.
To solve our issues of mistrust, we use a third party – a centralized intermediary / broker / middleman – to lower the uncertainty. Eg. a bank, escrow or PayPal to exchange money, eBay, Amazon and Discogs to sell goods, Airbnb to host your home to travellers… These intermediaries connect people together and establish trust that the owner has the right to sell, the buyer has the means to pay and will help to resolve issues that arise. The intermediaries have too much to lose if things go wrong and they become untrusted.
Typically, the intermediary validates and records the business transactions for all exchanges, updating all the parties involved, which is more efficient than each person trying to keep track themselves, reducing the the possibility of human error or fraud.
The problem of third party intermediaries is that it can still be inefficient and introduce overhead and delays in keeping everyone updated, transaction times and carrying out agreements. They are also a single-point-of-failure, vulnerable to fraud, security attack, technical malfunction, human error or a natural disaster, as all the information is kept centrally by them. It requires just one corruption, intentionally or unintentionally, for data to be lost and trust to diminish. Also, intermediaries usually expect payment for their services, which they are often accused of taking too high a cut for the services they provide and can increase the fees at any time. As people have little alternative they continue to use intermediaries and have little say. Some people fear that as intermediaries grow they may abuse their power (eg censorship, decline a transaction request or freeze all assets).
This is where the Blockchain can resolve these issues. Blockchain technology lowers uncertainty and allows people who don’t trust each other to efficiently exchange value without using a centralised third party intermediary. The trust is placed not in the users but in the technology – software code, cryptography and collaboration.
Blockchain technology validates and records the business transactions and assets for all exchanges of every participant (who owns what and who transacts what), stored in what is known as a ledger (database / registry). Each time a transaction is made, it is shared to all participant’s individual computers (which is known as peer-to-peer replication, between people directly and not via a central intermediary), where every computer (of which there can be millions) has an identical ledger that is updated locally, providing one version of truth that shows all the details of every transaction end-to-end. So the ledger is stored in multiple places & multiple people are responsible for updating and securing the ledger. Trust is established by increasing transparency, ensuring everyone has the same ledger and hence access to the same information.
How does blockchain work?
There are varying implementations of blockchain. Below is a simple description of how blockchain works:
- A user requests a new transaction, eg. Person A wants to transact with Person B.
- The requested new transaction is sent/broadcast to every computer on the specific blockchain network (P2P network of computers).
- Every computer in the network checks the new transaction (verification) and the user’s status against some validation rules /algorithms that are set by the creators of the specific blockchain network.
- Once verified, the new transaction is combined with other transactions to create a new data block. Each block has limited storage size to store the transaction data. When a new block is full, it’s timestamped and linked securely using public/private key cryptography (involving checksums and hash functions) to the previous block, which is linked to the previous block etc, forming a chain of blocks. Each subsequent block strengthens the verification of the previous block and hence the entire blockchain.
- A new block is validated by consensus by being sent/broadcast to the network of computers (rather than 1 single central authority) to perform checks on the cryptography. If the network doesn’t agree with the new block checks then the suspected fraudulent block is rejected, it will not be processed and will not be added to the blockchain.
- If accepted by majority of the network, the new block is added to the end of the existing blockchain in a way that is permanent and unalterable, creating a reliable & transparent record of the transaction. It is replicated on every computer’s ledger on the network, making it publically available and ensuring there is only one version of truth.
- The transaction is complete and part of the blockchain. Eg. Person A has transacted with Person B. It can not be altered in any way.
The transaction is stored permanently on the blockchain. Blockchain records all transactions ever made, in chronological order, from the first one until now, making it possible for anyone to inspect all the transactions.
As the ledger is decentralised and kept communally, no single computer, user or institution is in charge or controlling the blockchain. If any single computer keeping the records is hacked or knocked offline, other computers can continue without it. The built in redundancy means the blockchain is robust with no single point of failure.
Blockchain data structure is append only (data can only be added to the end of the chain). Individual transactions in a block or a whole block that’s already recorded in the ledger cannot be changed or deleted without being noticed obviously by others, as the checksum/cryptography wouldn’t be correct. Similarly, it’s not possible to Insert a block between two existing blocks. The ledger is very secure, verifiable and tamper-evident. This is why the blockchain is said to be immutable.
To make a change, every block on the chain (all history) would have to be hacked and not just on 1 computer but everyone’s computer (millions) simultaneously. This built-in validation and tamper-evident feature removes the possibility of tampering by a malicious actor (eg a database/system administrator) and makes it secure.
New transactions are constantly being processed into new blocks that are added to the end of the chain. As the number of transactions grows, so does the blockchain.
When a computer connects to the network for the first time it downloads the entire blockchain and stores the full ledger that has the entire transaction history.
Key attributes of blockchain
The following attributes are used to describe blockchain:
Use Cases: What is blockchain used for?
Blockchain was created by Satoshi Nakamoto in October 2008 for the digital cryptocurrency Bitcoin, with the aim to build a system of electronic money without banks or a central authority ruling. However, blockchain can be used to store, track and trade not just cryptocurrencies and transactions but virtually anything of value. There are many different blockchains used for many different purposes.
Blockchain can be used for ‘Smart Contracts’, where computer code is stored inside each block. The code can enforce agreements/contracts between all participants involved, without an intermediary’s involvement. Participants can agree to a contract with set predetermined terms and conditions. The code will run a program/application and only when the conditions are met will specific actions be performed. Blockchain doesn’t allow participants to change the agreement or back out. Eg. the code could read from external data sources, such as stock market prices or flight delays or weather for a specific location, and then perform actions such as buying/selling shares or making an insurance claim payout.
Ethereum is an example of a blockchain-based platform that runs smart contract code.
There is speculation that in the future smart contracts could replace the need for lawyers.
Most blockchain applications concern data management and data verification and are used within organisations that have fast-paced innovative cultures, such as the financial sector. However, there are use cases for it across all industries, including government, farming, agriculture, utilities, healthcare, insurance, AI, publishing, real estate and social media. Intermediaries facilitating data exchanges between participants in any industry could be replaced by a P2P system like blockchain.
Blockchain can be used for both static and dynamic data:
- For history and ownership of static information/records that don’t change. Eg. land title, government voting records, identity records, patents and smart contracts (eg for insurance payout claims).
- For dynamic tradable information and transactions of things that are exchanged and change owners over time. Eg. trade finance / fractional investing, supply chain, payment systems, insurance claims, initial coin offerings (ICOs) and blockchain as a service.
Although the variety of uses are increasing, Blockchain is still an emerging immature technology, which can be complex, expensive, inefficient, has scalability and interoperability issues and often existing technologies can solve the problem better. The value that blockchain brings needs to be carefully considered for each individual use case. Some have said that Blockchain is a solution in search of a problem. Blockchain may work for a particular use case but what value does it bring over a traditional database? If blockchain can be replaced with a database to give the same result then it’s nothing new and of little value. Also, if there’s only one entity involved, blockchain is not needed as information can be stored in one place (a database).
Remember that Blockchain was originally created to change the way we manage trust & ownership, share data securely across multiple parties and eliminate intermediaries, to distribute the power back to the users.
However, democratization and removing a central authority is not always happening, as in order for an organisation to justify and ensure a good return on investment in this new technology, usually someone in the organisation takes a lead role to pioneer and develop the platform. Then they bring in industry partners. Often an organisation is more concerned with digitalising the organisation, appearing to be transparent, collaborating with others and modernising their brand/reputation to attract attention and gain competitive advantage.
A good use case for blockchain is where a business has already gone through digitalisation, a centrally kept database would be a major liability and there is a low trust environment where participants can’t trade directly or there is a lack of an intermediary to facilitate.
What are the downsides of blockchain?
Other than cryptocurrencies, few blockchains have been used & tested in the real world for a decent amount of time (common usage is proof-of-concepts), so with the limited proven use cases it’s not clear if blockchains are better than old ways of recording data. It’s not clear if there are a lot of use cases needing decentralisation.
There are many different implementations of blockchain that have different consensus algorithms, which are still being experimented with to address various concerns associated with using blockchain.
Blockchain is said to be inefficient in comparison to traditional databases, where it consumes a lot of energy/resources (including high environmental impact), transacts/processes slowly, difficult to scale and is costly to maintain. Inefficiency increases with more users. This is due to the many computers on the network needing to share the ledger and perform the cryptographic and security activities. It’s worth noting that Bitcoin was purposefully designed to be energy intensive and requiring high computation as a barrier to entry and to manage the number of computers. It takes minutes to complete a Bitcoin transaction, where a transaction on a typical database takes fractions of a second. To increase efficiency, blockchain can be implemented in a way to place limitations on the amount of data stored. So rather than storing actual records, blockchain can be used as an index for locating the records (which are stored elsewhere).
Regarding ownership and privacy, the distribution attribute of blockchain can be a disincentive, although it is possible to have private blockchains, aswell as public blockchains, where those who are participating can be restricted and identified. You can also have permissionless and permissioned blockchains, where restrictions on what users can be do varies.
Security is another concern. Blockchain is still experimental and there is uncertainty. There is a lack of academic research, standardisation and regulation.
Blockchain being immutable, having tamper-evident records, can be a disadvantage aswell as an advantage, as it is not possible to modify or remove a record for legitimate or legal reasons.
There are technical hurdles to implementing blockchain due to a lack of standards and developers. Those working on blockchain projects are often enthusiasts learning as they go along. There are ~20Million active developers for Bitcoin & blockchain technology worldwide. Yet 1 in 1000 (~20,000 in total) feel confident in their skillset to consider themselves blockchain programmers & apply for open positions. It’s still early days.
Blockchain is just one way to solve a problem of centralised systems. In the future, there are likely to be different ways (that don’t use the blockchain) and different consensus technology allowing a different way to set up rules and establish trust. This is just the beginning.