Trying to explain the underlying concepts of Blockchain in a clear, simple way.
Over the last 6 months, we’ve been attempting to pull apart blockchain, from concept, to economics. This article is designed to act as a starting point, or primer, for anyone attempting to understand how blockchain works. If we have something wrong, inaccurate or out of date, let us know in the comments!
“If you can’t explain it simply, you don’t understand it well enough.”
— (maybe) Albert Einstein
What is blockchain?
It’s easiest to think of Blockchain as a database (or Ledger), that is copied and synchronised across a network of computers (Nodes). Nodes are free to join the network by simply running a set of Software, allowing the Network to be distributed across a wide range of computers. This is why blockchain is often referred to as a “Distributed Ledger” technology.
Nodes commit computing capacity to the network and maintain a record of changes to the Ledger. These changes are synchronised and agreed by a group of Nodes across the Network. This process of agreement is called Consensus and is core to the security of the system.
Why should I care about blockchain?
Blockchain isn’t a “silver bullet”, but it does support the creation of digital networks without the need for trust between parties. This allows the transaction of value, between parties without the need for a central authority to oversee it. The value that is being transacted, very much depends on the blockchain use case, as each implementation is different.
Some early use cases include:
- Digital currencies without the need for banks, for example Bitcoin
- Sharing of processing power between computers, for example Ethereum
- Sharing of storage space between computers, for example Filecoin
- A representation of an asset or service, like a set of data or a company share, for example Civic / Monaco
The full range of advantages and disadvantages of blockchain are yet to emerge, but we’ve written a short blog on some of them here.
Adding blocks to the chain
Keeping in mind, that The Ledger is a form of shared database. Participants in the network can be Nodes, who store and run the database, or Accounts, who are the users of it and records within it.
Transactions between Accounts on the network are transfers of “value”. Each blockchain has a different use case for what this “value” is as explained briefly above. Each Transaction is submitted to multiple Nodes to be processed and approved (a process called Consensus that is explained later).
Each set of approved Transactions in a given timeframe form a Block. This new Block is added to the Ledger as part of a Chain of previous Blocks. This is where the name Blockchain comes from. Over time, more and more Blocks are added, creating an immutable (unchangeable) record of transactions.
Accounts and Keys
Accounts, are used to create and receive transactions. Each account is made up of several components:
- Public Key — An address for inbound transactions (Public Key)
- Private Key — A signature for outbound transactions (Private Key)
- Record of Value — The balance of the Account
- Record of Transactions — Interactions with other Accounts
Private Keys are used to generate Public Keys using complex calculations (cryptography), that would require exponential amounts of computing power to decrypt, making them computationally secure. This ensures that Public Keys can be safely shared, but still linked to the Accounts’ Private Key. Users are encouraged to never disclose their Private Key and take steps to ensure their account is securely backed up.
Before Transactions and Blocks are added to the Chain, they are circulated around the Nodes to be agreed. Multiple Nodes must agree a transaction is correct before it can be added to the blockchain permanently. This process is called Consensus. Each Node provides their commitment to Consensus by performing a task, such as a complex math problem call Proof. This is called “Mining the blockchain”, as Nodes are generally rewarded for doing the work.
Consensus can be performed in many different ways. Two common models of consensus for public Blockchains are:
- Proof of work (PoW) — where nodes compete to agree which block is real by solving mathematical problems. This makes it computationally expensive to cheat.
- Proof of stake (PoS) — where nodes risk their own capital to agree consensus. If the block is not agreed the stake is lost. This makes it financially expensive to cheat.
The most basic implementation of a blockchain is a distributed ledger, or simple record based database. Smart contracts build on this concept to create the conditions for transactions to occur.
Smart contracts expand the available rules for a transaction. In a technology sense, they may allow new functions like connection to outside services e.g. Data stores, or to link transactions together e.g. transfer of funds.
Public and Private Blockchains
How Nodes are added to the Network and who can view the Ledger, decides whether the blockchain is public or private. Public blockchains generally allow any computer to become a Node and any person to view the Ledger. This makes them easy to take part in. Private Blockchains tend to restrict Nodes to certain computers and limit access to the Ledger, swapping ease of participation for control of the network. Private blockchains can also reach Consensus differently, saving computing power by agreeing Transactions without Mining or Proof.
A simple Glossary of Blockchain Terms:
Some of the terms you may like to remember.
- Bitcoin: a crypto currency based on blockchain, currently the largest use of blockchain
- Ethereum: a distributed computer, with smart contact capabilities, currently the second largest use of blockchain
- Node: A computer that take part in the blockchain network by storing the Blockchain and running the Software
- Transactions: Transfers of value between Accounts, recorded by the Blockchain
- Accounts: Creators and receivers of transactions that also store the value transferred
- Block: A record of a collection of transactions within a set of time
- Chain: A set of agreed Blocks containing transactions, over time
- Consensus: The agreement between Nodes, that a Block is accurate and can be added to the Chain
- Proof: The task completed by the Nodes, to reach Consensus
- Public/Private Keys: The address (public key) and access code (private key) of the account
- Smart Contracts: an extended set of functions for the blockchain, that allows data in the Ledger to be manipulated
- Mining: A task performed by a Node to agree Consensus, usually resulting in a reward for the Node for the work done
- Fiat Currencies: legal tender whose value is backed by the government that issued it e.g. USD, GBP, EUR
- Hard and Soft Forks: Changes in the Software of a blockchain that results in two incompatible variations of Node being created
Icons used under Creative Commons from the wonderful people at icons8.com