Decoding the Enigma of Blockchain


What is the difference in Bitcoin and Blockchain

Even today mainstream media refers to Bitcoin and Blockchain as almost being synonymous. But the comparison makes no sense. Think of it this way.

In the 70s, Xerox invented the computer mouse and their OS had a GUI interface with applications opening up in small ‘Windows’. It was a breakthrough technology back in the days. However, it was Apple computers and later Microsoft who unleashed the true potential of GUI, window-like interface and mouse as an input device. Similarly, Bitcoin is an electronic cash system whose purpose was to be a digital money for use on internet. Bitcoin is the the name of the token (or currency) and also of the protocol and the network. Bitcoin protocol is implemented by the concept of Blockchain. In fact, the Bitcoin whitepaper does not even make use of the word ‘Blockchain’, rather refers to it as ‘chain of blocks’. I have already discussed this in origins and philosophical ideology behind Bitcoin.

Ethereum is another crypto-currency like Bitcoin which has its own implementation of Blockchain and is second in market-cap of all 700+ crypto-currencies. It was the concept of ‘Smart contracts’ within Ethereum which attracted the attention of established Banking and financial institutions as well as IT vendors like IBM, Microsoft and Accenture for Blockchain. We will discuss Ethereum and Smart Contracts much later.

However to learn and understand Blockchain, one has to understand the techno-functional aspects of Bitcoin and I have already covered a few topics and will continue posting on Bitcoin.


Each node has the exact same copy of the ledger

What is Blockchain

Blockchain is a distributed ledger of all transactions that have ever taken place in the network. Every transaction in the ledger is fully transparent to each node and depending on the type of implementation it also visible to anyone on the internet.

Blockchain is a merge of a consensus algorithm, the protocol that the network implements and a group of nodes running that protocol. Hence this has to be differentiated from a database as ‘database’ is just a piece of software.

Each transaction entry in the blockchain is irreversible or immutable i.e it cannot be changed either by manual intervention or by any participating node of the network. Transactions are transmitted and added to the digital ledger by very strong cryptography techniques. Each time a new node is added then a majority of the participating nodes validate the newly connected node. Once validated then the node has to download the entire ledger and sync with the network. Now each transaction that gets appended to a block (and the block subsequently to the blockchain) then the newly added node will have a copy of it and is in sync with the entire network.

Technically speaking, blockchain is simply a data structure where each block is linked to another block. The blocks are linked to each other in a time-stamped chronological order. To access data of the first ever created block, you have to traverse from the last created block, then the block before that, so on and so forth till you reach the first block. Each block contains elements like the version # , reference of the address of the previous block, timestamp, transactional data, block size etc.

Each blockchain solution implements its own algorithm as a ‘consensus mechanism’. Since every node in the network has equal weightage in terms of authority, they have to execute the same algorithm to validate each transaction. The consensus in terms of blockchain means the collective agreement or the decision making process of majority nodes. The consensus is carried out to collectively depend upon the ‘state’ of the entire network. Consensus helps to solve Double spend and Byzantine’s General Problem of Distributed decentralized systems.

Especially for a public peer-to-peer network, there has to be some incentive involved so that nodes a) Participate in the network b) Play their part honestly (i.e not trying to hack it). The incentive is usually issued by some form of tokens (digital currency). These tokens can be redeemed for something on the network (like buying real world products) or even on the internet or exchanged for fiat currency or other crypto-currencies. This ensures that there are more honest nodes in the network than dishonest ones and the network becomes more and more secure and robust.

Most blockchain implementations also introduce a ‘difficulty level’. If the nodes are agreeing upon the consensus too quickly then the algorithm is designed in such a way that the difficulty increases and vice-versa. This has to ensure that the block creation time remains more or less constant.

Strictly speaking, Blockchain has to be public ledger where each participating node is equal in terms of authority and control. However, enterprise implementations of Blockchain are changing these definitions — much to the anger and dismay of the early adopters or the ‘true believers’ of blockchain. In fact Accenture has even filed for a patent for an ‘editable’ blockchain — which is like saying dealcoholized beer :)

Bitcoin was the first implementation of Blockchain and we will see in my next blog on how this was done. It will also cover advanced blockchain concepts of merkle trees, cryptography and forking.

Blockchain analogy


Think of it as a custom implementation of Google Slides (Cloud solution of Google for creating presentations like MS Powerpoint). The Google slide document is public and everyone has read access to it. Each slide has a fixed template. Slides cannot be reordered among themselves and a slide can be added only before the last added slide. Each slide has details of say ‘Toronto weather forecast for the next 10 mins’ . The participants of the system (those who are added to view the document) use their own predictive model and guess what will be the weather of Toronto in next 10 mins. After 10 mins the forecast values are compared with the actual values. The slide which had values closest to the actual and submitted earliest is added to the document. This is the winner for that round and wins say Tim Hortons gift card :). Once the winning slide is added to the document then it remains as a permanent entry and this process goes on after every 10 minutes and for ever. The entire document and contents of each slide in it is visible to all participants. All participants agree mutually and without bias which will be the winning slide.

In the above example —