TL;DR: A blockchain’s purpose is to facilitate the recording and distribution of data amongst network participants in the form of blocks that are validated and added onto a ledger. That concept can be difficult to wrap our heads around. This article expands on that one definition.
The technology underlying blockchain was first described in 1991 by two researchers, Stuart Haber and W. Scott Stornetta, who wanted to implement a system of document time-stamping that could not be tampered with. But it wasn’t until almost two decades later, with the launch of Bitcoin in January 2009, that blockchain had its first real-world application.
The Bitcoin protocol was built using blockchain technology. In a paper titled “Bitcoin: A Peer-to-Peer Electronic Cash System” written by its pseudonymous author ‘Satoshi Nakamoto’, Bitcoin is referred to it as “a new electronic cash system that’s fully peer-to-peer, with no trusted third party.”
While Bitcoin is one use-case of blockchain technology, blockchain technology in itself is a foundational system. A comparison can be made between Blockchain as TCP/IP (Internet Protocol) and Bitcoin as Google, Facebook, Youtube, etc. (A specific use-case of the Internet).
It’s crucial to understand that blockchain technology isn’t limited to the purpose of money, but focussed on solving the problem of trust as a primitive. Even though the technology was introduced by Satoshi as a means to enable the decentralisation of money through Bitcoin, it has been adapted many times over to be used for many other reasons. It disrupts functions, processes and activities relating to any sort of trust: brokers, dealers, bankers, social networks, registries, auditors, etc. It offers opportunities to replace these intermediaries, let alone automate them entirely.
The primary problems blockchain technology solves are: Trust and Interoperability.
Let’s get started.
I’m going to go about explaining the technology by dividing it into 5 components:
The foundation to a blockchain is not the chain of blocks itself, but the Ledger underlying it. The ledger is just a database that maintains all the data added through the blockchain and the accounts on it. Think of the underlying ledger as an excel sheet. Every cell modification on that sheet can only be done via our next component.
The question of how data is added, removed or manipulated brings us to the second component: a Transaction. The purpose of a transaction is to make a change on the ledger mentioned above. This transaction must not be confused with a monetary transfer of value (which is just one of many possible transaction types). A transaction here refers to the manipulation of data. For example, sending a message via a blockchain would be considered a transaction. The only way a transaction can be published is by ‘signing’ them. Signing a transaction is the process of approving the manipulation of data in the ledger. Why do you have to “approve” transactions? There are cells in a blockchain that only you have control over (like your asset balances). Only you can approve the change of those cells (Send money, for example). How are “you” defined on the blockchain? Through the next component.
Who can make transactions? Accounts. Accounts are just access points for you into the blockchain. An account here is similar to any other account you have on the internet: they come with access keys (like a username and password). Unlike traditional access keys, they are referred to as ‘public keys’ and ‘private keys’. The only way a transaction can be made is through an account identified by the Blockchain. Anyone can get an account on a public Blockchain as it is permission-less, but would need an approval to get an account on a private Blockchain. Most Blockchains you will be dealing with are public (Bitcoin, Ethereum, Tezos, etc.).
Accounts are popularly described as ‘wallets’. More on that in a separate article.
The most popular component is quite literally the virtual chain of connected blocks. This virtual chain of connected blocks grows as changes are made to its underlying ledger. So when someone says a new block has been created, all it means is that a bunch of data has been added, removed or changed on its ledger. Hence, transactions only go through once the blocks they are wrapped in get approved or in technical terms — ‘validated’. Every new block added is connected to the previous block and that’s how the chain grows. This virtual chains purpose is to act as proof of every change on the ledger. This chain follows certain guidelines and parameters that are hard coded into it that describe how data is to be wrapped into blocks.
The final component is the Network. The network is what runs the whole show, maintaining the ledger, packaging all the transactions it receives into blocks and publishing them onto the blockchain. The network is analogous to a server company, but distributed. Who is ‘the network’? The network is just a set of devices that connect to each other and run the above mentioned activities. These devices are called ‘nodes’. Think of a node as a server that stores data and computes on the data it stores. Each node maintains the ledger and the blockchain, acting as its gatekeepers. The incentive for these peers to put up their devices as nodes is the rewards they earn. Rewards such as transaction fees, currency issuance, etc. On public blockchains, anyone can run a node. You can put your computer up as a node and earn rewards for running the network.
How do these nodes come together and run the network and its activities? Through ‘Consensus’. Consensus refers to how two or more parties come to agreement on an issue. Consensus protocols are a set of rules the network follows in maintaining this whole ecosystem, from ways to communicate and maintain the ledger to publishing blocks and approval parameters. The most popular consensus protocols today are PoW (Proof of Work) and PoS (Proof of Stake). This is a rather complex topic, which is why it will be explained further in a separate article.
The network component varies in nature between different blockchains depending on their purpose. A private enterprise blockchain, for example, would require permissioning of nodes, read-write authorisation, limits on openness of data, etc. Which is why it would be designed with privacy in mind, rather than decentralisation and would limit the users it onboards.
Let’s look at the requirements where all these 5 components intertwine to conduct the processes facilitated by the technology:
1. A transaction must be published— A user must publish a transaction onto the network for it to be added into a block. This transaction can be anything from a straightforward money transfer to a change in data regarding identity.
2. The transaction must be verified — Once a transaction has been published, the nodes on the network verify everything from read/write permissions to whether the change in the ledger from the transaction is feasible (for example, Bob wants to send Alice 1.2 units of X. If Bob does not have 1.2 units, the nodes declare the transaction invalid)
3. The transaction must be put in a block — upon verification, the transaction and all its data is added to a block. Adding a transaction to a block guarantees the transaction in time and makes it immutable. It cannot be edited or changed unless the entire network comes to consensus on changing it.
4. The block must be given an ID — Once all the transactions meant to go in a block have been verified, it is given a unique identifier called a hash. The block is also given the ID of the previous block added to the blockchain in order to link the new block with the previous blocks.
To explain this flow let’s take an example. The use case for this example is a straightforward money transfer. Bob wants to send money to Alice who lives in a different country. Traditionally Bob would have to use a service offered by his bank or a remittance service to facilitate the transfer, which would incur him fees and a time delay for the third party entity to settle the transaction. Using a DLT (Distributed Ledger Technology) like a blockchain, Bob would have to publish a transaction directly onto the blockchain, after which the network would verify the feasibility of the transaction and publish it.
The benefits of a blockchain over a traditional database is as follows:
The storage of assets and data is fully self-custody. No third party has access or control over the assets and records of an account except for the holder of its access keys. For the first time ever digital assets, data and records can be held by the owner without relying on centralised infrastructure like banks and internet companies.
Unlike a centralised company offering services under its discretion, a blockchain or smart contract deployed on a blockchain comes with hardcoded functionality. It does exactly what its coded to do and cannot deny a service, which means you get what you expect.
Immutability is the assurance that something cannot be reversed. Meaning, once a transaction has been issued via a block, no one can undo the operation. Data on the ledger can only be changed with a new transaction, but previous transactions are irreversible, unless majority of the nodes come to consensus on changing them.
Since a public blockchain runs on a network of nodes that hold a copy of its ledger, you can always rely on it. Distribution of the network via nodes removes the problem of a ‘single point of failure’, which reduces the probablity of network downtime.
Unlike a database with a single point of failure, a hack would require the exploiter to gain access to atleast 51% of the nodes on the network for them to be able to manipulate the system. Furthermore, due to the necessity of a digital signature to conduct a transaction, only you (The holder of your private key, similar to password) have authority to conduct a transaction on behalf of your account.
Everything that happens on an open network like a public blockchain is transparent. Every transaction that takes place on a public blockchain needs to be verified by a network of nodes for them to be validated. This need of validation requires all activity passing through it to be public. This benefit is limited to public blockchains only, not permissioned/private blockchains. Permissioned blockchains come with its own set of validation rules, limiting how open they are.
Due to its transparency and its maintenance of historical records via the chain and ledger, activity conducted via a blockchain is fully traceable and can be backtracked easily. This helps industries save a lot on tracking expenses. For example, in the retail industry, goods can be tracked all the way from its origin to the customer, enabling the retailer to efficiently track and modify their logistics process, as well as for customers to stay confident about the products they buy.
Unlike a social network with a username that’s linked to an email which might be linked to a KYC done elsewhere, on a blockchain an account comes fully delinked, in the form of alphanumeric characters.
Due to its decentralised nature, middlemen become an unnecessary component. Removing intermediaries from financial services, real estate, supply chain management, etc. enables fewer parties to conduct activity that would usually require a middleman.
Unlike a traditional database, maintained by a single entity (company), a blockchain and its ledger is maintained by a set of participants called nodes. These nodes act as the validators of the network, similar to a company validating its database.
Blockchain technology, although introduced as a means to move money around peer-to-peer, enables a lot more than just that. Applications range from replacing passports and decentralised governance to supply-chain management and replacing banks. Authenticating these possibilities would require you to dig deeper into the technology, which leads you to the next topic in the series: ‘Smart Contracts’.