Imagine a situation when Rajesh, your best friend, has gone on a vacation abroad and calls you after a week saying that he has run out of cash and requires you to send him some money.
You contact your bank, either by calling your relationship or account manager, or by going there physically or via any online medium, like a website or mobile app. You ask the bank representative to transfer Rs. 50,000 to Rajesh’s account. The representative checks the register to see if you have enough balance to make the transfer. After a satisfactory check, he goes on to make an entry in the register stating the details of the required transaction. In a more developed city, this task can be done via computers as well.
“Rajesh, I’ve transferred you the asked money. Get me a gift when you return back,” you said to your friend.
Let’s quickly review what happened: You and Rajesh trusted the bank to manage your money. There was no real movement of physical currency, just an entry in a register that neither you nor Rajesh owns or controls.
In other words, you both trusted a third party to enable trust among yourself. The trust among you is dependent on a third party – a middleman.
So, just in case, if we come across a joker in our Gotham city, whose intention is to inject chaos into the society, there are only a few of these organizations/ middlemen to go corrupt (intentionally or not). Also,
What if the register gets burned or lost?
What if the bank representative makes a mistake and enters 10,000 instead of 50,000?
Aren’t we relying too much on these middlemen to enable functionality where they need not be involved?
Let’s try to simplify the issue here by answering some fundamental questions. Does the transfer of money simply require an entry in a register? What if we could make the entry ourselves instead of asking someone else to do it?
Blockchain aims to answer it by allowing us to maintain the register ourselves instead of being dependent on any third party.
“It might make sense just to get some Bitcoin in case it catches on. If enough people think the same way, that becomes a self-fulfilling prophecy.” — Satoshi Nakamoto in 2009
So, the main requirement of this method is to have enough people who’d not like to be dependent on these third-party actors.
Let us consider that we found 6 people who’d like to give up their dependency on banks or other such middlemen. Upon a mutual agreement, they get the details of everyone’s accounts but without knowing the respective identities of others.
Everyone gets an empty register with spaces where they can add details.
Person2 wants to send Rs. 1000 to Person5. He shouts that he wishes to do so and asks everyone to make an entry for it in their register. Everyone checks whether Person2 has enough money in his/ her account to enable the transaction. After that, they all make a note of this transaction. That’s it. That was the end of the first transaction.
Then, after rounds of such shouting and transferring of money, everyone’s register starts running out of empty spaces to enter any new transaction. This is the time when everyone secures their current registers and gets a new one. The process of securing can be done via sealing it with a ‘unique key.’ Sealing is basically an act of securing it so that no one can EVER alter any entry once it is kept in a safe location. For everyone to keep trusting the content of all the registers, they need to trust the sealing process.
Jargon: Mining is the process that is equivalent to sealing in our example.
Currently, we trust a third party (like a bank) to keep the contents of the register safe. However, in a proposed decentralized arrangement, sealing is the crux of trust.
Let us go deeper into the process of sealing.
Consider a machine that gets input from one side and produces an output from the other side. Let us call it a ‘Hash function’ machine. The method of producing a random output from an input is unknown to anyone – which is the special thing about this machine. Suppose the machine gets an input – 537, it will produce a unique output, which, let us say is – khsfhdj. The process is irreversible, which means that you can never figure out the input from the output.
If we start with a trial and error method and feed the input with random numbers, we’ll eventually get the output, but the process is going to be very exhaustive. If done on a computer, it will take a lot of computation power to figure out this number. Let us call these efforts – proof of work, as it is proof that work has been done to evaluate the output. After figuring out this special sealing number, we can be sure that the participants have put in effort and ensured that the content is genuine.
So now we have a mechanism to seal our data of transactions and the actors are also involved in the protection of the contents.
Why put effort into figuring out the sealing number when others can find it eventually? There are rewards associated with it, generally some tokens or coins.