Have you heard about the Byzantine problem?
Generals with their army are circling a byzantine city.
The challenge here is if one part of the general’s attack and other parts defend everyone will lose. To win, every general should agree to a decision, and then do it.
The same thing is happening in blockchain.
In a blockchain, as a distributed ledger with no central authority, decisions cannot be split like, yes 50% and no 50%. It should be either yes 100% or no 100% this is what is called consensus.
Some algorithms take care of this. We should learn them…
Blockchain is a public ledger.
A ledger in accounting terms means you record all your transactions there. In a blockchain, transactions are stored in blocks, and those blocks relate to a link to its previous block. As new transaction happens, blocks grow, and hence the chain grows.
Blockchain has the following characteristics
It uses Asymmetric cryptography for user security and a consensus algorithm for ledger consistency.
Blockchain is a chain of blocks as shown in the above diagram. It is an overview diagram of typical blockchain architecture.
Let us see the characteristics of a blockchain now.
The title question “Which programming language to learn in 2021?” is the question everyone who wants to become a software developer asks every year.
All you need to do is, change the year on that question, and if you google, you will find someone would have asked for it.
My goal in writing this article is to provide an answer that will withstand time, so even in 2030, someone with this question, this article should still be relevant.
Very ambitious but, it’s worth a try.
We are all dusting and climbing up from the great fall called the Covid-19 pandemic…