Today we are going to talk about blockchain the reason we are going to talk about that is that we need to create common language across Business and Technology about this.
Blockchain is a technology that enables moving digital coins or assets from one individual to another individual
Let’s go into the problem that blockchain attempts to solve and that problem is “Money Transfer” I’m going to explain it as a conceptual level.
Assume if a person A wants to move money or transfer money to a person B let’s say from USA to Japan this is typically done using a third trusted party and it is typically works as follows
First of all person A says I want to move some money to B so he orders third trusted party to transfer money to B because it is trusted, identify person B and the bank account in Japan and then move the money after taking some fee to the right account in Japan, this typically takes about three days or more, What blockchain is attempting to solve is first to do the 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 into how blockchain addresses this money transfer problem?
The first principle that we are going to talk the first concept is a concept of the open ledger and I’m going to illustrate this concept using an example
let’s say that we have a network of four people that actually wants to move money from one another and let’s assume that at Genesis at the moment of the inception of this network Person A has $10 from the beginning, now let’s see the concept of the open ledger and how it is being implemented in blockchain let’s say that A wants to move to be $5 what is going to happen is that we are going to add a transaction “A move to B $5” and we are going to linked it in to the already existing transactions then let’s assume that “B wants to move to D $3” so we are going to do the same we are going to link another transaction into the ledger or chain that says “B moves to D $3” finally if you want to move one dollar from D to C again we will do the same process “D move to C $1” and we link it to the ledger, So 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 – means 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? How much money each one has in its pocket? And everyone can decide whether a transaction is valid or not, for example if A attempts to move $15 to C, everyone on the network can immediately see that this is not a valid transaction because A started with $10 move out another $5 to B, A does not have $15 and 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, look that we have a centralized place now that managing the ledger but remember that blockchain goal is to get rid of centralized place, so the second principle is a Distributed Ledger, which means blockchain is going to trade the centralized one and to distribute it across the nodes in the network which means D for example can have a copy of the ledger and can hold it in his node A can do the same and have a copy of the ledger and anyone else that participate in this network can holds a chain of events that happens, now what we got is that the ledger is distributed and essentially we don’t need any more the centralized place that holds the ledger, we achieved the ball got rid of the centralized trusted party.
Synchronized Ledger – Mining
We removed third centralized 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 synchronized and all the participants in the network sees the same copy of the ledger, the same version of the ledger and this leads to the third principle of blockchain which is probably the most interesting one.
We are understood already that the ledger is open i.e. everyone can see the ledger, it is distributed across various nodes and now what we need to understand is how in this kind of distributed ledger nodes understand and synchronize 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 B is going to publish and broadcast this intended transaction to the network. Everyone in the network will see immediately that B wants to move $5 to C, this is an invalidated transaction, it is not getting yet into the ledger, in order to get into the letter we need to understand the concept of MINERS.
Miners are special nodes which can hold the ledger, in this case let’s say that D and A are miners, they 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 and put it into the ledger, the first miner that will do that will get a financial reward.
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
- Validate the new transaction – this is easy because the ledger is open and you can immediately calculate whether B does have their funds in order to make the transfer.
- 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 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 will do that will get the financial reward.
Let’s see how Ledger’s are synchronized across the network.
The A miner was able to solve the puzzle and be able to take this transaction and added to its own ledger what he is going to do now is going to publish the solution to the entire network to broadcast it to the entire network which means he would say here is a validated transaction and here is the lock here is a key that enables everyone on the ledger on the network sorry to take it and add it to their own engines what all miners are going to do any for example see that this transaction is already violated and can be added to the ledger which means there is no point in trying to resolve this transaction and get a reward a will immediately get this transaction add it to its own ledger and we look for another transaction to work on and hopefully to get the reward next time
We learned how blockchain works and is based on basic principles that
- The ledger is open and public such that everyone can see and validate transactions.
- The ledger is distributed and essentially exists in many nodes on the network removes the dependency on third party
- The concept of miners who are special nodes in the network that their role is to validate transactions and adds into the ledger
- Economic incentive of miners essentially ensures that collectively they agree what is the official Ledger’s that should be used by everyone.