Relating The Byzantine Generals’ Problem and it’s Blockchain solution.
The Byzantine Generals’ Problem is proof that the greater the number of parties in a system, the greater the uncertainty of trust. It is a fact that the world is a global village, connected on a centralized network at the local and national levels. The globe is made of clusters consisting of nodes and networks. The centralization constitutes a single point of failure. However, I would want you to answer the following questions, before I dig deep in my exposition on the relationship between Byzantine Generals Problem and Blockchain solution;
- Has the centralized system allowed you to own your thoughts, data, and records?
- Is the undoing of Byzantine Generals Problems, not repeating itself?
- Have you received the level of trust you deserve?
Your answers to the above questions suggest the need for redesigning your system to form a recap around Byzantine Generals’ Problem and Blockchain solutions.
One major cause of institutional failure is having a single point of failure. Remember that a single point of failure is endemic in a centralized system. If we can decentralize our communication systems, data, ledger, and so on; I believe we can earn trust. Decentralization dismisses a single point of failure system design. However, I am not taking you long on this piece, but to arouse your mind to think in this direction and what we can achieve with it. I made a few observations on the relationship between Byzantine Generals’ Problem and Blockchain solutions.
What is Byzantine Generals’ Problem?
The Byzantine Generals’ Problem unveils the problems encountered in a distributed and trust dependent system. There is no doubt in achieving a distributed system, but earning trust in a distributed system is what I never foresaw until Bitcoin Blockchain showed up. In my opinion, I feel communication failure is inherent in conventional distributed systems.
I want you to see the Byzantine Generals Problem, is the problem found among several divisions of an army encamped outside the city of enemy territory, and a different commander in charge of each division. You can imagine these soldiers and their commanders as the parties involved in a transaction. If there is no bridge of communication and mischief among the commanders, lieutenants, and foot soldiers, there are possibilities of overthrowing the enemy territory. That is a simplified definition of a Byzantine Generals’ Problem. We need to build a trustless system to tackle the challenge if we must achieve an optimal distributed and trust system. Finding a way to navigate the Byzantine Generals’ Problem around Blockchain is what you need.
There have been numerous attempts to tackle the problem of trust in a distributed or decentralized system. First is likening the failure to a Byzantine Generals Problem. Marshall Pease, Robert Shostak, and Leslie Lampard made the summary in 1982. Other attempts include Blind Signature System. Untraceable Electronic Cash, by Chaun D, and Chaun D, Fiat A, and Noar M, in 1984 and 1990, respectively. I ran through the successive innovations hoping to solve the Byzantine Generals’ Problem, to show you how expensive and quite difficult it has been to tackle the Byzantine Gnerals’ Problem in a decentralized system. You may be thinking, what the heck relates Byzantine Generals’ Problem and Blockchain solution, stay put, while I dazzle you.
The Blockchain Solution To Byzantine General’s Problem
I will try as much as possible to be analytical so that you can relate it to the Blockchain network. Another thing you have to take into consideration is that I am referring to the Bitcoin Blockchain. It is the first manifestation of Blockchain, and it uses the Proof of Work consensus mechanism. Imagine the different divisions of soldiers as nodes of computers where transactions are carried out. The enemy territory is the task; the messenger is the party that sends out a message or mission. Have it at the back of your mind that the messenger is not trusted. Establishing trust will help you to perform a successful transaction.
When a Bitcoin client (messenger) executes a transaction (sends bitcoin from one address to another), it broadcasts the transaction to all the users in the decentralized `system. Within a few seconds, most of the clients in the world receive the transaction. At this point, however, the transaction is considered “unconfirmed” because it suffers from the Byzantine Generals’ Problem. For instance, what if a dishonest Bitcoin client sent out two transactions moving the same bitcoin to two different addresses? Which one should the clients accept? This brings us to the issue of consensus in a decentralized system like the bitcoin Blockchain. By implication, establishing consensus within the distributed ledger will be the only option.
Read about other applications of Blockchain here
The quest to establish consensus led to the introduction of mining. You can imagine the complexity of building a consensus in a decentralized system with millions of different parties involved. Credits must be given to Satoshi Nakamoto, an unknown group or entity, who in November 2008 deployed the Bitcoin Blockchain. He introduced a Proof of Work (called Hashcash) mechanism as a consensus algorithm, where miners can verify the transaction in a distributed network. The Bitcoin miners run a computer program which gives each miner equal opportunity that is proportional to their computational power to discover the solution to the next block on the Blockchain network. These miners compete to find the answer to the set of proof-of-work (PoW) parameters for that block. The proof-of-work concept solves the Byzantine Generals’ Problem because it achieves a majority agreement without a centralized authority in place.
Check about; Ethereum here
The 51% Threat To Decentralization
Bitcoin can solve the Byzantine Generals’ Problem so long as honest miners consist of at least 50% of the hashing power in the entire system. So, to maintain the Blockchain system s a decentralized network, it is important for the ecosystem that honest miners maintain 50% of the computational power in the system at all times. If a particular miner controls more than 50% of the hash power, such a miner can always overrule the judgment of the rest of the miners combined. This is termed the 51% threat. What this entails is that a 51% miner automatically becomes a centralized ledger.
Read more about Scalability of Blockchain
There are things you cannot isolate if you want to solve Byzantine Generals’ Problem and it’s Blockchain solution; it is the establishment of a consensus in the network. The first successful solution to the Byzantine Generals Problem is the Bitcoin Blockchain. Don’t forget that the Bitcoin Blockchain consensus is a Proof of Work mechanism. As miners continue to increase in size and number, the Bitcoin network becomes more decentralized.