Blockchain which was originally devised for the cryptocurrency Bitcoin, has evolved (and has been evolving at a great pace) and become a technology which has the power to disrupt the world economic, healthcare, voting and other record keeping ecosystems. In this article we will see in detail What is a Blockchain, how does a Blockchain work and a brief into its primary use cases.
What is a Blockchain?
Lets start simple. As the name suggests, a Blockchain is a chain of blocks. A block in this chain or series is a database containing digital data or information, while the chain represent the binding of these blocks using cryptographic means. This chain of blocks or data is shared in a Distributed network of multiple nodes (computers or servers).
What exactly is a Block?
Let us understand this with an example. Suppose, Flipkart (that we use frequently for online purchases), is made up on Blockchain. Then for each of your purchase transactions through the Flipkart, the data will be stored in a Block of the Blockchain. In fact one Block of the Blockchain will have multiple purchase data of other buyers using the portal. A Block in a Blockchain normally contains up to 1 MB of digital data. Now the Block will normally contain your transaction data (purchased items, cost, time, date, etc.) and your identity (a Digital Signature assigned to you).
What is a Blockchain (formal definition)?
Now that we have a layman perspective, we can now formally define a Blockchain as a method of storing records of digital data among multiple parties which is immutable (cannot be changed), distributed and can be shared directly peer to peer without the use of a Centralized authority.
Hence we see that there are 3 pillars on which the Blockchain technology backbone is constructed.
1. Immutable data, this is because cryptographic principles are used to store data
2. Data can be shared directly peer to peer between any two nodes (computer or servers) of the system
3. Data is Distributed, i.e. a copy of the data lies with every node of the system.
This is certainly a revolutionary technology which has been trying to alter the conventional method of data keeping, in which we relied on a Central Authority for storing all our data. For example, Amazon is a central authority or a centralized database which has tera bytes of data of your shopping, your transactions, your card details, etc. We trust the Amazon server for keeping our data safe, which is of course ensured by certain legal obligations that Amazon has to obey. But again that is our trust on the legal system or the Government. Forget any bad practices, suppose the Amazon server is hacked or gets down, then it will surely impact us with our confidential data stored.
Read the article in the link to learn more about the risks involved in Centralized models. https://wordpress.com/block-editor/post/cryptocash07.wordpress.com/38.
The figure below gives you a quick comparison of the Centralized or Trust Based Model with a Decentralized or Trustless Model.
Genesis Block and Uncle or Ommer Blocks
The first Block in a Blockchain is known as the Genesis Block. Ommer or Uncle Blocks are the detached Blocks which are not chosen for inclusion in the Blockchain ledger. Please see the figure below.
How does the Blockchain work?
As we know by now that a Blockchain is made up of blocks or small databases (generally 1 MB size) which are connected to each other via cryptographic means. A network of a large number of nodes or computers will have a copy of this chain of blocks or blockchain with them. Let us see how a block is added to the chain.
Note: These blocks are added to the blockchain in the chronological order and if an nth block is added to the chain/blockchain, n is the current height of the blockchain.
Before we see how the block is added to the blockchain, let us see what are public keys and private keys.
Public Key and Private Key
Every node in a network of computers has a key assigned to it which he uses as his identity in the network. It is a cryptographic key assigned which the a particular node or computer shares with other computers for sharing of data (peer to peer transactions). It is analogous to our email id which we share with the public to transfer information.
A Private Key is analogous to your password, which you do not share with other people in the network but is used to log in to your system.
The Public Key and the Private Key of a computer/node in a blockchain network combine to generate the Digital Signature of the node or the computer. This is used for identification purposes for transactions in the network.
Let us now see how a block is added to the blockchain.
Let us take the example of a Bitcoin transaction (which we know that uses the Blockchain technology). Suppose a person A wants to send Bitcoins to person B in the network. Of course as we know by now, both A and B are connected to the network via their respective computers or servers. When A makes a transaction to B, then the transaction amount (dollar), time and the Digital Signature of A and Digital Signature of B, is stored in a Block. This new data in a block is broadcast to all the other nodes connected to the network for a validation. A voting kind of procedure happens and if majority votes validate the transaction, then the block is added to the Blockchain. The voting takes place by the nodes using their CPU power and the reason why these nodes voluntarily vote is because a reward is attached to it.
Is the Blockchain Secure?
Yes, of course, safer than any other networks used to store digital data. In fact Blockchain was developed to invent a network of storing digital data which cannot be edited but is distributed among the nodes of the network.
Let us check one of the most important reasons for this.
The blockchain uses Hash for each of its blocks.
As we read above a Blockchain is made up of Blocks and each Block has a Hash function assigned to it.
A hash is a cryptographic function created for a Block by the Blockchain algorithm. The Hash of a Block is based on the digital data which is stored in the Block. This means that if the digital data is tampered then the Hash function also changes.
A Block in the Blockchain stores its Hash as well as the Hash of its previous Block. Now when a Hacker tampers the data of a Block then it will automatically change the Hash of the Block (as the Hash is an input provided based on the data in the Block). Since this Hash is also stored in the next Block of the Blockchain a mismatch is created. Hence now the Hacker will need to change that Hash also. Again the mismatch will happen with the Hash stored in the next Block and so on.
Hence in order to change the data in one of the blocks a Hacker will have to change the Hash of each of the Blocks in the Blockchain after the Block he wants to tamper. This will require enormous computational Power and Energy (money).
Possible Use Cases of Blockchain
By now we have learnt that a Blockchain has two vital traits, the combination of which makes it unique and employable in so many facets of our lives. These two vital traits are:
- Immutable: Data stored in a blockchain is immutable or cannot be changed. As we saw this is mainly due to the cryptography, its decentralized nature and the basic algorithm which govern a blockchain.
- No third party or Central authority is needed. In the real world scenario whenever a third party is involved in any data transaction, for example a money transaction, then a cut or percentage of the payment gets to this third party. For example, when you are transferring money to your friend, the bank (third party) generally earns a commission. Similarly when you buy something using your credit card, then the credit card charges are applied. Add to it the trust we need to have on these third parties for keeping our confidential data (card numbers, money, etc.) safe.
Hence we can use the Blockchain technology in cases where we are looking to eliminate the third party (for avoiding any transaction fees) or whenever data security is of utmost importance. Though data security is also promised by the conventional Internet, this is not as promising as it is in the Blockchain network. We studied the reasons (distributed, cryptography, algorithm) above. Some of the Industries where Blockchain technology is being employed for greater security and peer to peer transaction are shown in the figure below.