The short answer would be magic. But since I am not one of your Instagram 30s vloggers, it’s time to dig in deeper. In the past I have covered posts that gave us a glimpse of blockchain technology and what is Bitcoin? I tried to simplify things to an extent that you could explain it to a 7 year old. However, this one, is going to be a seriously adult version of How does Bitcoin Work. With that being said, as always, I promise that there’ll be no jargons. Even if you are as technically sound as my grandmother, you should be able to pick it up.
For the intro, I’d like to give a simple definition of Bitcoin. It is a peer to peer transaction system developed by a person/entity (nobody knows for sure) under the name Satoshi Nakamoto. It was first launched in 2009 after government mishandled the fiat currency and led to an epic market crash of 2008.
In principal, it is just a digital file placed on your laptop. You can send this file or a part of this file in exchange of goods/services.
But we have discussed a lot about genesis of Bitcoin and theory behind it. Today, I wanted to jump in to the magical technology that powers it. When something claims to replace the financial system of the world, it is bound to raise some eye brows. Therefore, let’s understand how these claims are actually brought to fruition.
What is Blockchain?
Blockchain is nothing but a chain of blocks. Each of these blocks store some kind of data/information. This data can be Text files, Powerpoint Presentations, Images, Videos, Transactions data etc. You name it.
But there are some key differences.
The internet we know of today, is centralized. And that has it’s own set of flaws. Let’s talk about a few of them:
Data Privacy and Access:
Let’s think of something closer to home. You store all your images on Google Drive. A few days ago, Google reported a global outage. At that point, you couldn’t access the data that you created.
Not to mention that Google has the authority of removing your data whenever need be.
So, all of us are at the mercy of Google. And it’s not just Google. There are a lot of companies like Facebook, WordPress, Microsoft, that handle bulk loads of our data. So giving them the supreme authority is worth questioning right?
Relying on a centralized system is like keeping all your eggs in one basket. There’s a possibility of hacking, theft when it comes to these applications. Example? Recently, Twitter accounts of Elon Musk and Joe Biden were hacked and they tweeted actual scams.
Unlike real life, internet has an abundance of anything. You can download a song, create copies of it, send it to your friends. Same is true for movies, images etc.
So if everything is digitized, why isn’t our money? Well, if anyone could simply create multiple copies of money, it just won’t make sense anymore. Therefore, blockchain tries to solve that problem.
Blockchain helps us manage digital money, which is Decentralized, Hack-Proof and Scarce.
Say there are three friends: Raghav, Abhinav and Palak. These three people come up with a digital currency (file) called DigiCoin. All three of them distributed this DigiCoin amongst themselves. Along with that, they also created a ledger which had the following entries:
- Raghav has 10 DigiCoins
- Palak has 10 DigiCoins
- Abhinav has 10 DigiCoins
Now imagine there is another friend called Sugandha. She is our banker and maintains this ledger for us. Every time we transact money with each other, Sugandha notes it down in the ledger:
- Example: Raghav paid Abhinav 5 DigiCoins
- Raghav’s updated balance is 5 DigiCoins
- Abhinav’s updated balance is 15 DigiCoins
Now, if anyone of us tries to copy and recreate the DigiCoin, Sugandha would know. Why? She is aware of all our balances at any given point.
But why would Sugandha do this cumbersome activity for free?
Every time, she is charging us certain percentage of our transactions as maintenance fees. Also, we need to place our trust in Sugandha that she isn’t defrauding anyone.
Over the period of time, Sugandha is becoming super rich and a centralized trusted authority. Which brings us to the next question. Is there a way to do this without Sugandha?
Although Sugandha did a great job of managing our money, it took her a while to record multiple transactions (time consuming). Not to mention that we had to forego a part of our money for that.
In this newly proposed system, every time any one of us does a transaction, we note it down on an online block. This block can be passed to everyone of us to check and view the transaction.
- Ex. Palak paid Raghav 2 DigiCoins could now be recorded on a block and shared with each one of us.
However, if anyone needs to validate the transaction, he/she needs to understand if Palak had enough money to pay Raghav. In other words, we need a chain of blocks which would have all the past data. Let’s understand how this chain of blocks would play out.
Working of Blockchain:
Let’s make the transactions real now. This time around, Abhinav sold an eraser to Palak. This eraser would cost Palak 2 DigiCoin. So a block would look something like this.
As shown in the figure, the compartment 1 will have the transaction that is ought to be recorded.
Compartment two will have a unique cryptographically generated number. It is so unique that it can be considered as the fingerprint of this block.
Since these randomly generated numbers are computed using cryptography, we call these “Cryptocurrencies”
Finally, the last compartment would have a reference number of the previous block (more on it in a while).
Also, did I tell you about this unique property of these reference numbers? The technical word for them is ‘hash’. While they have some great characteristics, for now let’s talk about just one of them.
This hash or reference number depends on the transaction data and reference number of the previous block. Even the slightest change in data will lead to a dramatic change in the reference number of the current block. This is called avalanche effect. Keep this in mind. We are going to refer back to it. For knowing more about these hashes, refer to the Instagram post below (optional for this blogpost):
Create multiple such blocks for each transaction you want to carry out, and you have a blockchain. Each of this block will now become a permanent part of this chain. This chain can be used to track the past transactions as well. How? Each block refers to the reference number of the previous block.
Please note that this blockchain is not based on server of Google or Apple. Everyone can have their own copy of blockchain. You can access it, edit it and add to it whenever there is a new block. You can then share this blockchain with everyone else to verify. Hence the term “Distributed Ledger”
What if someone changes a block?
As I mentioned that one can make as many changes to a blockchain. But then how do we maintain the sanctity of the system?
Well, consider a blockchain that has 15 blocks. And say Raghav decides to tamper the block number 6. He decides to change the data in that block and mention that Mahesh gave him 3 DigiCoins. As soon as he does that, he changes the reference number of the block #6. This changes the reference number in second compartment of block #7 completely which in turn changes the reference number of block 8 so on and so forth (avalanche effect).
So eventually, Raghav now has a blockchain which is different from Palak’s and Abhinav’s copy of blockchain. In reality, Raghav still ends up with zero additional DigiCoin and life moves on. Raghav copy of blockchain is simply disregarded.
Why Decentralization is Great?
We can infer from the above system it is change resistant. Nobody can just create DigiCoin at their own will. There are only two ways to earn DigiCoin
A. If someone gives it to you, in which case they lose it.
B. If there was a pre decided rule coded in the blockchain. Ex. You get 3 DigiCoins on your birthday every year.
Thanks to blockchain technology, we have achieved Digital Scarcity.
Wait, there’s more:
Just when you patted your back and thanked god that it’s over, here’s a new set of problem to tackle. In the example that we have taken so far, Raghav, Palak and Abhinav are friends. What if this system is running between strangers? In that case, all of them might try to go back and change the blocks to give themselves more DigiCoins.
This would eventually lead to multiple blockchains each time.
So which one is going to be the most legit one? Thanks to the unknown person who created this system, he thought of this scenario as well. Therefore, he devised a way wherein people have to put in some effort to create a new block.
If there is a lot of effort in creating a new block, people might think of tampering with it twice.
Enter: The Proof of Work.
What is Proof of Work?
Consider the same block we discussed earlier. This time around, we add another compartment to it called the work number.
Apart from adding the transaction data, one has to add this work number as well. As always, change the work number slightly, the reference number of the block changes completely (avalanche effect).
Now you can’t just add any number to this work compartment. We will make people do some work to find a unique number, that satisfies certain conditions. Example, enter the work number which can generate the reference number that starts with 0000 or else the block will be discarded.
So in order to satisfy this rule, one must start entering random numbers in the work number compartment from 1,2…1000…2000 and so on. This happens until, by coincidence, the reference number generated starts with 0000.
Every time a block is validated, a new work number is generated.
Guessing this random work number requires computational power which in turn needs electricity. And we all know that electricity costs money.
Now say someone decides to tamper with the 6th block of the chain, he does not only have to compute the work number for that block but for all the blocks that follow. (Why? Let me know in the comments section)
This work number must be guessed for all the following blocks at the same time while other blocks are also getting added to the blockchain. There is no chance someone can win this race.
So, it is a matter of minutes before someone looks at the last block of the chain and realizes that it’s reference number does NOT start with 0000. They would instantly figure out the problem and remove it from the blockchain.
This also means that longest chain in the system has most work done on it. Therefore, it has PROOF OF WORK to back it’s legitimacy.
But why would someone spend money to validate transactions? What’s the incentive?
Refer back the previous section where we mentioned that one way to mint DigiCoin (or any cryptocurrency) is that to get it from a pre-decided rule.
Say there’s a rule that every time someone validates a transaction, they get 5 DigiCoins out of nowhere. These people who validate transactions are called miners and the process of minting money by validating transactions is called mining.
Deflationary Vs Inflationary:
Bitcoin follows the exact same procedure. Every time someone validates a transaction, they get rewarded with a fixed amount of BTC. But if new BTC would keep on entering the system, wouldn’t it become an inflationary asset?
Well, you are right. But Satoshi thought of this as well. Therefore, the rate at which you get rewarded keeps on halving roughly every four years.
In 2008 you got 50 coins to create a block, it came down to 25 in 2012, 12.5 in 2016 and so on.
This means by the year 2140, there would be no more BTC left to be minted. This would make the number of Bitcoins fixed at 21mn, hence a deflationary asset.
Yes. It’s finally over. But I really wanted to do justice to the working of the blockchain and Bitcoin in general. And trust me, this is just the beginning. The concept of Bitcoin, where each block contains transactional data alone, has been taken and used by other blockchains to evolve this further. But, I think this is enough for today.
Did I do a good job of explaining how does Bitcoin work?
Let me know in the comments section below. If this article adds value to your life, please consider sharing it with your friends using the links below.
Until next time..