Hello all techie!! Today some new technologies like AI, Blockchain, Robotics, and IOT are buzzing the world of technology.
Right now, these technologies are getting so much attention from every technology experts.
Today we are trying to understand one technology named Blockchain from the above technologies.
Okay, guys, we are not going to debate about the future of blockchain like it is the bubble or it is just hype etc…
I only just know that this is the technology behind most successful cryptocurrencies and have more potential to be the future of the financial world and distributed web(web 3.0).
So here I am going to discuss what actually blockchain technology is and where it is going to be used.
Before I start introduction about what is blockchain, let me clear some most rumored things about the blockchain.
- I think we weren’t pronouncing Blockchain as “B I T C O I N” right ??
I already wrote a blog previously on these misconceptions about bitcoin and blockchain if you have not read it, I recommend reading that blog first here.
- Many tech guys like us have the question that how we develop applications using blockchain as we develop in other programming languages.
Here, we have to understand that blockchain isn’t the use case of the internet like email, e-commerce, social networking but it is something as fundamental and parallel to the internet.
- It sounded incredibly simple but it is very complex to understand.
- It has the potential to change our lives in the next 20 years in the same way that the internet has changed it in the last 20.
So, finally what is BLOCKCHAIN?
Many of you would say that “Blockchain” is the technology behind cryptocurrencies like bitcoin, ethereum, litecoin, etc. It’s true, but it’s like defining the internet as the technology behind email. Is it fair? Do we use internet only for email? No, the internet has much more capabilities except email. Like the internet, the blockchain has much more capabilities except cryptocurrencies.
Okay!! Right now you might have a question like – “Everyone is talking about blockchain potential application are endless and it will change everything etc.. but what exactly is blockchain?”
If you are google it you will get definition something like “The blockchain is a globally distributed ledger of economic transactions that can be computed to record not just economic transactions but basically everything of value.”
So, there are different ways to think about BLOCKCHAIN.
We try to understand it in other easy ways and with examples.
How does it work
Blockchain has below key features that encourage us to use blockchain instead of current centralized systems.
- P2P Network
- Proof-of-Work (Consensus)
- Cryptographic Security
- Distributed Network
- Smart Contract
We already know the meaning of Distributed and P2P network.
Blockchain’s data is managed throughout an autonomous P2P network only. A simple
P2P network forms when 2 or more PCs get connected with each other and sharing resources without any need of one centralized server.
Above term, it sounds like google definition so we try to understand it with an easy example.
If you send money from India to a friend in the USA then it’s not the money that flies from here to where it’s actually a ledger entry that happened in my ledger and another parallel entry in my friend’s ledger and money is transferred.
Now, the problem in above scenario is that there are a bunch of other ledgers like banks ledger, regulators, insurance etc.. and each of these ledgers has to be reconciled and changed and because of these, you get so many changes which create complexity, is time-consuming, costly, less privacy and security.
Let’s try to solve some part of the above problem using one feature of blockchain that is P2P Network.
Think about Blockchain as the big global distributed ledger that was made of millions of computers connected with each other directly using P2P Network.
Now you and your friend that is in the USA is also connected in this one global blockchain ledger then you can directly send money to your friend without any intermediaries like bank, regulators etc..
So, we solved some part of this problem like complexity and time-consuming using blockchain p2p feature.
You might have some questions like,
- If banks and regulators are not there then how we can trust that the money is actually transferred to my friend or not and there may be a chance of hacking?
- If it is all distributed then how and who will be going to manage this entire network?
The answer to all your questions is in the next feature that is proof of work.
Above image gives answers to all your questions but let’s try to understand that.
As I said think blockchain as the big global distributed ledger. This ledger is nothing but a chain of blocks that stores every entry occurred in the network.
I already explained block structure in my previous blog you can also refer that for a better understanding of block.
Every Block contains some entries(data) and a hash of the previous block that creates the immutable chain. If you try to modify or change any existing block in blockchain it is nearly impossible to do that because every block contains the hash of the previous block so you try to change any block it generates a different hash compared to previous hash and you have to also modify all block hashes after this block before new block is generated or added to this chain. In short, the block structure provides the most powerful security to blockchain and creates the trust in data.
Remember that the above example of money transfer, this block structure solves the problem of security in that example.
Now, Proof-of-Work is the answer to the how or who maintains the blockchain network and creates the trust among the people that are connected to this network.
Let’s understand How to do it.
The blockchain is a distributed network of hundreds or thousands of connected nodes(computers) to each other. In this network, some nodes(computers) are connected as miners.
The concept of a miner is very complex and very deep diving but we try to understand the basics concepts of miners.
When every new entry enters in the blockchain ledger, miners compete to validate that entry and validate user by solving some big mathematical problem using their CPU power. The miner who solves the problem first is rewarded for using their CPU power and validate the entry.
NOTE: Blockchain is technology so everyone is trying to implement their different proof-of-work for security and trust, just like ethereum is trying to implement proof-of-stack instead of proof-of-work. Above explained proof-of-work is of bitcoin blockchain.
The smart contract is pre-defined rules or logic and events on blockchain that trigger when some conditions are matched.
Let’s try to understand with our money transfer example.
If I want to put the condition on the blockchain network that one user can not send money more than three times per day.
Then how we can put this condition on blockchain network where there is no central authority available that check this condition because blockchain is distributed network and not owned by the single authority.
So blockchain has the feature like the smart contract that enables this condition on blockchain network for every user that is connected. Smart contracts are made of some programming logic that has some instructions and deployed on blockchain network.
Smart contracts are also immutable and can not be changed after it deployed on the network.
There are so much to do with smart contracts as we can also digitally form government contracts, land registry entries process etc..
We will more learn about smart contracts like how it is programmed and deployed on blockchain in upcoming blogs.
As I said Blockchain is technology rather than one network its have different types.
- Private Blockchain (Hyperledger)
- Public Blockchain (Bitcoin, Ethereum)
- Hybrid Blockchain
People using blockchain form above types of blockchain as per their use-cases.
Okay, guys I just try to explain blockchain using one example but believe me blockchain take much time and patience to understand it.