Hello World!
I’m sure you’ve stumbled upon this word called ‘Blockchain’ in the last few years. Today, if you use the words “Blockchain based” as a prefix to whatever you’re selling, you’re guaranteed to make 2x sales. The hype is real.
Anyway, we’re running out of time, I’ve only got five minutes to explain this. So let's start.
What is a Blockchain?
A Blockchain is a continuously growing list of records called blocks, which are linked and secured using cryptography. Sounds too Wikipedia-ish, I know. Let’s break it down.
First, let’s understand what a block is.
Block is the fundamental unit or the smallest indivisible part of a Blockchain. The image above shows what a block looks like. A block has many fields, but for the purpose of this post, we will consider only its three main fields viz. Data, Previous Hash and Hash.
The Data field of the block contains the information you want to store in your blockchain. Could be a vote in a blockchain based voting application, or a birth certificate in a blockchain based certificate registration application. In case of Bitcoin, the block stores Bitcoin transactions in its data field.
We’ll come back to the Previous Hash field later.
Next, we have the Hash field. The hash field contains the hash of the block.
What are hashes though?
A hash is a unique fingerprint of a piece of information. Hashes look different depending on the hashing algorithm, but usually, it is an alphanumeric string that looks like this: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
You give the hashing algorithm some input, and get the hash(fingerprint) in return as output. The goal is to find to a unique signature of all the information input to the algorithm. You can find a hash of a string, a pdf file or even an entire Operating System! Play around with this site to understand how different hashes are generated for different inputs.
In our case, we give the hashing algorithm the data field and the previous hash field as input, and get the (current block’s) hash as output. Check the image below for reference. This hash value of a block is very important. Because in future, if someone tries to change even one bit of information in any of the past blocks, the entire hash computed for those blocks changes.
The hash of a block serves two purposes. One, it is the signature or fingerprint of that block. Second, it serves as the previous hash field in the next block. The previous hash field that is used to produce the hash of the current block comes from the previous block. (I know it sounds confusing at first, but read it a couple more times with the above picture in mind and you'll get it)
If some hacker tries to change or modify the information in the data field of a block, it changes the hash of that block completely. And consequently, it changes the previous hash field of the next block and so on. The blockchain realizes something is wrong as all the hashes are computing to be different. This raises an alarm and the network reverts back to its original unmodified state, making the blockchain an immutable ledger.
This ‘unhackable’, or as I like to call it, ‘difficult to hack’ nature of blockchain will be much easier to understand when we discover the Distributed Peer-To-Peer network of blockchains. But that’s a topic for another day.
In conclusion, a Blockchain is just a growing list of records called blocks, that are chained or linked to each other using cryptographic hashes.
That is it for my five minute explanation of Blockchain. Hope you found it helpful!
Feel free to reach out on Twitter(@ar6aaz) or Instagram(@theblockchainblog)
Until next time.