Unless you’ve been living in some other planet for some time now, you’ll have heard the word ‘blockchain’ being talked a lot about around.
It was a big buzzword in 2018 and coming in 2019, people are still gossiping about it now. However, we’re frequently being told it could be a game-changer, not many people still know what blockchain actually is.
This guide is here to let you know exactly that. In this one, I’m going explain everything about blockchain – what exactly it is, how the hell it works, and why it’s taking the world by a storm – all in plain English, though!
Table of Contents
Why do we need blockchain?
In essence, Blockchain is a decentralized database (you can call it a ledger too) that records information of transaction in such a way that it is permanent and public.
To explain how blockchain actually works, let me use an example. Let’s say you want to send some amount of money to your friend, how would you do it? In general, You’d reach out to the bank you have an account in and tell them to transfer your desired amount of money from your account to your friend’s.
Now what the bank does to satisfy your order is it makes an entry in a register. It would look something like the picture above. Once the entry has been done in the register by the bank, you can now call your friend and tell him/her that the money has been transferred in his/her account.
Note: We are not bringing computers here just to avoid complexity. If you prefer, think of this register as just another database in computers.
So, what actually just happened? Did just one change in the entry of a register transfer the money? Well, actually yes, that just happened only. So now you can understand that all we need to transfer money around the globe is to enter the information of it into a register.
However, the entry needs to be done in someone else’s register; and that’s the problem. Means, the bank is doing the entry for you, and in their register, you’re not doing it by yourself.
What if your bank operator commits a mistake when writing down (or entering) the information of the transaction? What if the bank operator intentionally mis-writes the transaction to favor your friend? What if the bank escapes with the register? Your money is gone then??
Well, smart people among us started thinking like this and they started asking an important question: how can we avoid the third parties in transactions like banks, and still maintain the register? The solution they thought of is known as blockchain.
How does blockchain work?
We now know what blockchain basically is – it’s just another (and smart) way to maintain a register of transactions – nothing more than that.
Imagine a situation where there are 100 individuals who want to stop using financial institutions like banks. On mutual agreement, they have the details of each other’s accounts all the time – but without knowing the other’s identity.
01. The empty folder
To start with, everyone has an empty folder.
As we progress, each of these hundred individuals will keep adding pages to their folder. This collection of pages is going to form the register that will track the transactions.
02. Making a transfer
So everyone in the network will be sitting with a blank page and a pen in their hands, ready to note down transactions of anybody in that network, or within the system.
Now a transaction is about to be made. Suppose person no 2 wants to send $10 to person no 9. To make the transaction, no 2 have to shout and tell everyone of the network that he wants to transfer $10 to no 9 – Everyone, please make a note.
Everyone in that network then checks whether no 2 has enough balance to transfer $10 to no 9. If he/she does, everyone then takes note of the transaction on the blank page of theirs.
03. Tracking transactions
In this process, transactions will keep happening within the system and everyone will keep noting them down until their page gets filled.
When the pages get filled, everyone has to put that page away in their folders, bring out a new page and repeat the whole process over again. The magic of blockchain actually lies when the page has to be put away in the folder.
04. Starting a new page
The deal with this system is that when the page goes in the folder, everyone’s version of the page must look same as they all noted down same transactions and the page must not be modified ever in the future.
To attain the deal, we will have to seal the contents of the page.
So, how do we seal a page?
We seal the page using a mechanism that we call a hash function. To understand easily, think of the hash function as a magic machine that takes some information from the left side and produces some gibberish-looking info on the right side.
The catch about these machines or process is that they make it very difficult, almost close to impossible to reverse this process.
In other words, considering a particular output, the only way to figure out what the input was is to try every possible option until you hit on the right one. It’s a lot like blind shooting in the sky to bring a bird down, which is almost impossible.
Let’s back my words with a demonstration. So here I ask you the following question: What should I send from the left of the machine as an input so that I get an output from the right side that starts with three leading zeros (eg 000ab or 00098)?
As reversing the process is impossible, the only way to figure out is to keep trying every number in the universe until we get that desired output with the desired constraints – three leading zeros. This feature comes in very handy when sealing the page.
Again, let’s imagine I’ve given you two boxes. The first box contains the number 24893. I then asked you – Can you figure out a number that fed into the machine after being added to the number in the first box which is going to give us such code starting with three leading zeros?
After trying every number in this universe, we might stumble upon the number – say 23591 is the number we were looking for.
In this case, the seal for the number 24893 is the number 23591. So if we write 20893 on a page and put a seal that is labeled 21191 on the page, the page then gets sealed.
If anyone ever wants to verify how authentic that page is, all they had to do is simply add the two numbers and feed the answer to the magic machine. If the output comes with three leading zeros, we can say that the contents are still authentic.
When we have to seal a page that contains a list of transactions, we need to find out such a number that when appended to the list of transactions and fed to the machine afterward, gives a code starting with three leading zeros on the right side.
So now that we have learned about sealing the page, we may go back to the time when we had finished writing the last transaction on the page, and we had no space to write more.
Download Free Ebook about cryptocurrency and blockchain
How do we establish the sealing number?
As soon as everyone on a network runs out of space on the page to write down any more transactions, they then have to calculate the number that’ll be needed to seal the page so it can be tucked away then in the folder.
Everyone within the network has to do the calculation. The first one among them to figure out the sealing number announces it within the network so everyone else knows it…
Immediately upon getting aware of the sealing number, everyone checks if that yields the required output or not. If it’s a yes, then everyone seals their page with that sealing number and tucks it away in their folder.
But what if for someone, say #6, the announced sealing number doesn’t yield the required output? In that case, it’ll be assumed that there’s some error in his page and thus he would have to discard the page of his version.
Later on, he’ll copy the page again from someone else within the network that has no error in his page. Afterward, #6 will have to again try to seal his page using the announced number and finally, put it away in his folder.
Now, everyone has the same version of the transaction page.
You might ask me an obvious question now – Why does everyone gives the effort to do the calculation of the sealing number when they know that someone else in the network will calculate and announce it to them? Couldn’t they just wait for the announcement?
A smart question indeed. The person who does the calculation first to find out the sealing number gets rewarded with some free cryptocurrency – say bitcoins. That’s how bitcoin came into existence.
So, once everyone has put away the page in their respective folders, they pull out a whole new blank page to write more transactions and ultimately repeat the whole process all over again, and keep going, forever.
Now, assume a single page of transactions as a block and the folder as the chain of pages ( means ‘blocks’), and that’s how it turns into blockchain.
That is a simple explanation of how blockchain works., in plain English. If you think you’ve understood the basics, I encourage you to ask more question on this and keep adding layers to the platform of knowledge you’ve built on this topic from this article.