In a 2 part blog series the first part lays out key concepts surrounding this new technological breakthrough, called blockchain, the world has woken up to especially in the past few years.
Honest recordkeeping of history has been a myth and records have always been fragile even as it transcended from oral history to written with the advent of writing systems. Writing gave us the ability to record & store messages but was based on a decaying medium like paper. Also paper-based records were difficult to authenticate in terms of “time stamp” or genuineness and was subjective as it conformed to the famous quote “History is written by victors”. During the turn of the last century, in came the computers which added durability to recorded information. However they were changeable adhering to the possible fancies of whoever controls the database and continued to be vulnerable to frauds.
Mankind may have just chanced upon the holy grail of recordkeeping with blockchain technology that is an immutable, cryptograhic and decentralised ledger system based on peer-to-peer mechanisms and consensus algroithms. In short, records via blockchain are set in stone and cannot be changed not even by a system administrator. Furthermore each record has been validated through consensus among peers and therefore less vulnerable to frauds and manipulation.
Brief History First Generation - Cryptocurrency
In August 2008, before the founder Satoshi Nakamoto came on to the scene, three now-forgotten individuals filed encryption patent application and registered the site Bitcoin.org. Two months later October 2008, Satoshi released a white paper on electronic cash with a vision to solve the problem of counterfeit money. Blockchain was born on 3rd January 2009 when the first block called Genesis Block, as part of the first cryptocurrency called Bitcoin, was created. Other than the transaction details, Genesis block also contained an extra data - a newspaper headline of that day “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”. A year since Satoshi’s white paper, on October 2009 Bitcoin received a valuation on traditional currencies with $1 being equivalent to 1,309 BTC taking into account cost of electricity to create a computer-generated Bitcoin. The first Bitcoin market was established in February 2010 whereas the first milestone for Bitcoin was achieved in August 2010 when Papa John’s pizza worth $25 was ordered using 10,000BTC. Bitcoin value reached parity with the US dollar for the first time in February 2011 and within four months 1BTC was equal to $31. Recently, BTC homed in close to $3000 level (currently 1BTC = $2,250) and has risen approx. 306-times against the USD completely reversing the situation of $1 = 1300xBTC during the last 7 years.
Second Generation – Smart Contract & Digital Asset
After the most famous application of blockchain and its first digital asset, Bitcoin, this technology can be extended to other business applications where different parties e.g. private individuals, corporates, public institutions or even automated devices (IoT) enter into a transactional relationship governed by contracts. Entries into the decentralised ledger will consist of computer code/protocol or “smart contracts” that execute the terms and conditions of such governing contracts between parties. Since Blockchain is also a centralised asset registry it can be used to register ownership of other digital assets like digital docs, digital bonds, digital commodities. This creates a huge potential for blockchain much beyond existing application of cryptocurrencies. Thus a second wave of innovators have come into the fray looking to tap into the huge business upside of creating blockchain based services and products leveraging on the combination of smart contracts and digital assets.
Blockchain works on the philosophy of the absence of central authority where recorded transactions are grouped in blocks. Every blockcontains a timestamp and a reference to the previous block and hence creates a chain of blocks or blockchain. Every time a block is validated it is broadcasted to the wider network and added on top of the blockchain. Since, the whole network is based on a peer to peer communication therefore ever node has a local synchronised copy.
Blocks are to a blockchain, what pages are to a file. Each block records the following main elements: (i) time stamp (ii) content about the transaction that are being confirmed in this block which will be broadcast after finalisation (iii) reference (or hash finger print) to the previous block (iv) statement of a new complex mathematical problem to be solved by the validators of blocks (also called miners). Thus blocks are aligned in linear sequence over time and each new block added to the end of chain.
It is a mathematical function that serves as a unique fingerprint for each block. A hash function should have 2 properties: (i) hard to back calculate to original data i.e. it should be more or less impossible to decipher and eavesdrop into the block data just by looking at the hash (ii) on changing the block data hash changes unpredictably thereby creating a situation that no 2 slightly different blocks should have same hash and hence any tampering is easily identified. Different blockchains use different hash functions for example Litecoin adopts SCRYPT whereas Bitcoin uses SHA256.
Data Distribution (Client-Server versus Peer-to-Peer)
Unlike a client-server model where sever holds 100% data and the client trust the data to be definitive, blockchain utilises a peer-to-peer (P2P) approach. In a P2P network, data is identically replicated on all the nodes which makes the node more independent and can continue operating even if it loses connectivity to rest of the network. Also this makes the network more robust to malicious attacks or malfunctions and therefore harder to close down. However it creates other issues like consensus building among peers and huge data storage requirements due to data replication.
Public blockchain – Anyone can access the blockchain and can read or write (send transactions for validation) and participate in the consensus process (determining which blocks to be added and what the current state should be). It has incredible use cases for industry disruption, disintermediation and social infrastructure. Ex: Bitcoin, Ethereum, Dash, Lisk, Steem etc.
Private blockchain – closed and monitored ecosystem where ability to write and participation in the consensus process is extended only to an organisation (fully private blockchain) or a group of entities (consortium blockchain). Read permissions may be public or restricted by certain rules. Any solutions developed, the intellectual property rights is maintained within the consortium. Rules are established to align with the needs of an organisation or consortium and hence of huge interest for banks/FIs. Ex: Ripple Lab, Eris Industries, Chain, Blockstream etc.
This refers to the consensus algorithm used to attain a single state of the blockchain such that every node of the network has a local identical copy of the ledger. Consensus mechanism also guarantees transaction security and ledge integrity even if certain nodes become malicious i.e. do not follow protocol). Each node performs a certain portion of work to validate a block and running a consensus algorithm requires significant computing power and energy. Consequently it is extremely costly and difficult to manipulate a large part in order to control (or 51% stake) the blockchain. Three major consensus mechanisms to resolve blockchains with conflicting states:
1.Proof-of-Work: most common consensus mechanism based on nodes competing to a computationally hard problem solution. Network energy consumption is a major drawback. Examples: Ethereum, Bitcoin, Hyperledger, Dash, Steem.
2.Proof-of-Stake: creates a disincentive mechanism for nodes that do not follow the consensus protocol. Validators are required to put “at stake” a predefined amount of a digital asset betting on consensus process outcome, so that malicious nodes that do not follow the protocol end up losing those assets. Examples: Tendermint, Lisk
3.Byzantine-Fault-Tolerant: consensus method between authenticated validators is applicable to platforms that do not require large throughput yet demand many transactions. It is resilient to a Byzantine attack which refers to the possibility that a subset of the network nodes behave maliciously Example: Hyperledger
Unencrypted data – Public key (decryption code) accessible to every participant in the blockchain creating full and collective transparency which hurts confidentiality but speeds up dispute resolution.
Encrypted data – Accessible only to participants who have the appropriate private key (decryption code) and hence data viewership can be screened.
Hashed data – A “hash” serves as a digital fingerprint representing the veracity of a particular piece of data behind it but inferring hidden data from the hash is computationally impossible. Therefore the digital fingerprint can be shared throughout the blockchain without hurting confidentiality. Example: R3 CEV’s Corda product has adopted the hash approach.
Example - Longest Proof of Work Chain Rule
Proof-of-Work consensus mechanism used by Bitcoin blockchain is also called “longest chain rule” wherein the longest blockchain in terms of the most amount of work used (and not number of blocks) will stay. The “length” of the chain is measured by how much work it took to find each individual block. Let’s consider an example where all nodes of the network are synchronised to one state until Block 80. If 3 new competing blocks (81a, 81b, 81c), each with a slightly different transactions, are created at the same amount of time. This creates 3 different blockchains: Block A (1-80 + 81a), Block B (1-80 + 81b) and Block C (1-80 + 81c). Now the race begins for Block 82 to resolve the conflict, as different miners will try to mine the 82nd block for each of the 3 competing blockchains. If miners in Block B are the first to find Block 81b they will resolve the conflict as Block B becomes the longest blockchain (in terms of work) e.g. 1-82b whereas Block A and Block C will become “orphaned”.