Everybody talks these days about the Blockchain. Everybody. But ask somebody about it. They will have a hard time trying to explain to you what is Blockchain.
Here I’ll try to explain what is Blockchain. I’ll try to give you a visual image you can keep on your head so you will have a better understanding of this cryptical concept.
So let’s start. When somebody talks to you about Blockchain, just think about that:
If you want to know how much money do you have, you can keep a ledger book and the balance will tell you the answer.
Now imagine that you want to buy something. The person selling the goods to you needs to know if you can pay for it. Obviously, you can’t show your ledger and expect the seller to trust you. The solution we have is to put a third entity in the middle, something you can rely on. This entity is also known as money.
So, if your ledger says you have 100$ and you are carrying 100$, you can use this money to pay for something. Nowadays, we can do even a little better and, instead of carrying our money with us everywhere, we can execute transactions in a electronic way using, for example, a credit card. In this case, the person selling the goods to you assumes the credit card is a valid representation of your money.
As you can see, the whole system is built around trust. The third entity is supposed to provide the trust we need to be able to execute transactions between individuals. And, very important: behind the third entity there is always an organism that provides the trust we need. When we deal with money, this organism is the government. When we use credit cards, then we talk about banks.
Our current system based in trust has a fundamental defect. Banks and the government can, for whatever reason, deny to people the access to their money. There are many methods to do it (currency depreciation, technical issues with electronic payments, …). In this case people has a serious issue: the trust is broken and the whole system crumbles.
A solution for that can be to remove the intermediate entity that provides trust to the system. Do you remember your ledger book? Now imagine that everybody has a copy of the ledger. And they all contain the same information. If all of them are identical, we can assume that all of them are true. Trust is guaranteed and the system works. This is the overall idea behind the Blockchain.
A blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. That’s why we compare the blockchain with a ledger: it’s basically the same thing (a list of records). Each block in the blockchain contains:
- A hash pointer, which is used to authenticate the block and links the block with the previous one. A hash can be understood as the fingerprint of some digital data. For any piece of data, we can calculate a hash that will be always the same for this piece of data. Another interesting feature of a hash is that it will have the same length no matter how big is the information we are encoding.
- Important point: the hash is being generated using cryptographic tools.
- Another hash pointer, which identifies this block.
- Transaction data. Every piece of information we keep in a block is a token. If we are talking about bitcoins, every token would be a transaction between two parties, indicating the timestamp, the amount and everything.
The list of records is distributed across many participants in a peer-to-peer de-centralized network. Every participant in this network is a node. The role for nodes is to guarantee that transactions are valid. When there is a new transaction the transaction is being sent to all nodes in the network. Only when properly validated the new block can be added to the blockchain. This validation process is known as mining.
This video has a very good explanation of these concepts:
We have many different blockchains: each one is being used for different purposes. We also have public (open to everybody) and private (restricted to authorized users) blockchains. An example of public blockchain is Bitcoin.
The blockchain is very useful when we need an agreement between parties regarding the ownership of an asset.
What we can do with a Blockchain?
One interesting thing about the blockchain is that we can put many different types of assets on it. Let’s not just think about money. Contracts, digital works, … they all can be kept in a blockchain. The blockchain is very useful when we need an agreement between parties regarding the ownership of an asset.