You might have heard the term "Blockchain" a lot these days on internet and in news articles, mostly together with Bitcoin but have not understood what it really is? The goal today is to explain it simply so everyone understands it well enough.
So the first thing that you need to understand are two basic terms, Bitcoin and Blockchain. Bitcoin is a digital coin, its money which is digital, we are not going to talk about Bitcoin in this article as our focus here is to explain Blockchain. Blockchain is technology that enables moving digital coins or assets, like Bitcoin, from one individual to another. It’s very important to understand that Bitcoin is not Blockchain and both are different things.
(attach a pic showing bitcoin is not equals to blockchain)
Traditionally, if you want to transfer money, let's say from Pakistan to England, this is done using a trusted third party (usually a bank) and it typically works as follows: you order the third party to transfer your money to a person in England, the trusted party identifies that person and his bank account and then move the money, after taking some fee, to the right bank account in England. This takes about three days or more. What Blockchain is attempting to solve is, first transfer money without the trusted entity. Second to do it faster than three days, actually immediately and third, to do it cheaper than the fee that the third party collects. So let's dive in into how Blockchain addresses this money transfer problem.
The first principle that we are going to talk about is open ledger and I'm going to illustrate this concept using an example. Let's say that we have a network of four people who wants to move money between one another and let's assume that this network a has $10 from the beginning. Assume that A wants to move to B five dollars. What is going to happen is that we are going to add a record that A moved $5 to B. Then if B wants to move 3 dollars to D, we are going to do the same, we are going to add another record into the ledger that says B moves 3 dollars to D. Finally if you want to move one dollar from D to C, we will repeat the same process. This is the concept of open ledger.
It is essentially a chain of transaction and this is one of the reasons that this is called Blockchain. We will not go into technical details on how these blocks are protected through cryptography but this is a chain of transactions that is open and public to everyone. What it gives us is that everyone on the network can see where the money is and how much money each one has in its pocket. Everyone can decide whether a transaction is valid or not for example, now if A attempts to move $15 to D, everyone on the network can immediately see that this is not a valid transaction because A started with $10, then move out to B $5, and does not have another $15 so this transaction will not be added to the open ledger, this transaction will not be part of the chain. Now we can move to the second principle of Blockchain.
Remember that the goal of Blockchain is to get rid of a centralised place, so the second principle is a distributed ledger. This means Blockchain is going to distribute its open ledger across all the nodes in the network, which means D, for example, can have a copy of the open ledger. A can also do the same and have a copy of the ledger and anyone else that participate in this network can hold a copy of this open ledger. What we got now is that the ledger is distributed and we don't anymore need a centralised place that holds the ledger. We achieve the goal to get rid of a centralised trusted party, however we created another problem now. When there are various copies of the ledger in the network we need to make sure that all these copies are synchronised and all the participants in the network sees the same copy of the ledger and this leads to the third principle of Blockchain which is probably the most interesting one.
We have understood already that the ledger is open, everyone can see, the ledger is distributed across various nodes and now what we need to understand is how is this kind of distributed ledger nodes understand and synchronise a ledger across itself. We're going to do that using an example, let's say that, B wants to move to C $5, what B is going to do is to publish and broadcast this intended transaction to the network and everyone in the network will see immediately that B wants to move $5 to C, this will be an invalidated transaction. It is not getting yet into the ledger, in order to get into the ledger, we need to understand the concept of miners in bitcoin.
Miners are special node which can hold the ledger, in this case let's say that D and A are miners. Miners are going to do the following things: miners are going to compete among themselves who will be the first to take this invalidated transaction and be able to validate it and put it into the ledger. The first miner that will do it will get a financial reward, in this case a Bitcoin. Let's try to understand what it means to win the competition. In order to be the first that is able to take the transaction and add it to the ledger, a miner needs to do two things:
- First, it needs to validate the new transaction, this is that the ledger is open and you can immediately calculate whether B, does have their funds in order to make the transfer, this is the easy thing.
- The second thing that a miner needs to do is to find a special key that will enable this miner to take the previous transaction and lock the new transaction.
In order to find this scheme, this miner needs to invest in computational power and time because this search of the key is random. The miner is repeatedly guessing new keys until it finds the first key that match this kind of a random puzzle. The first one that do it will get the financial reward.
Let's see how ledger's are synchronized across the network. D, a miner, was able to solve the puzzle and be able to take the strands up and edit its own ledger. What D is going to do now is going to publish the solution to the entire network, which means he would say here is a validated transaction and here is the key that enables everyone on the network to take it and add it to their own ledgers. What all other miners are going to do is to see that this transaction is already validated and can be added to the ledger which means there is no point in trying to resolve this transaction and get a reward. A who is a miner, will immediately get this transaction, add it to its own ledger and will look for another transaction to work on and hopefully to get the reward next time.
Let's try to summarize what we did or what we did or what we learned:
- We tried to explain how blockchain works,
- We learned that blockchain is not Bitcoin they are two different things,
- We learned that blockchain is based on basic principles of the fact that the ledger is open and public such that everyone can see and validate transactions.
- The fact that the ledger is distributed and essentially exists in many nodes on the network, removes the dependency on third party.
- We learned about the concept of miners, who are special nodes in the network that their role is to validate transactions and add into the ledger.
- We touched only the fact that the economic incentive of miners essentially ensures that they collectively agree what is the official ledger that should be used by everyone.
You need to remember that this explanation is very simplistic, it’s only about concepts and ideas behind blockchain, the implementation itself is much more detailed and complex and answers probably a lot of questions that you have in your mind.