Skip to main content

Byzantine Generals Problem


The Byzantine Generals Problem was first proposed by Leslie Lambert in his paper on the problem of the fault tolerance of communication in a distributed peer-to-peer network, in 1982. During the communication of a distributed , problems occurred in certain parts of the network can cause the computer to send faulty messages, damaging the consistency of the entire . Essentially, The Byzantine Generals Problem is the problem of consensus in peer-to-peer communication.


The Byzantine Generals Problem originated from the middle ages. The Byzantine Empire had a vast territory; therefore, messengers were the only way for communications between armies. If the traitorous generals or compromised messengers deliver the wrong message, the armies could not reach an agreement on a common plan of action. There are two ways to solve this problem. One is to send messengers using oral messages to reach an agreement where the minority should obey the majority. However, it is very difficult to distinguish the traitors with this method. The other is to send messengers using written messages with exclusive signatures, each general should attach their signatures to the written message, but this could take too much time and a higher amount of resources.

The Byzantine Generals Problem on the Internet

The Byzantine Generals Problem on the Internet refers to the problem where malicious or compromised nodes affect information communication, resulting in data inconsistency in the network. In 1999, Miguel Castro and Barbara Liskov proposed the Byzantine Fault Tolerance Algorithm. They believed if two-thirds of the nodes operate normally, the consistency and correctness of the network can be assured. Later, Nakamoto Satoshi proposed Proof of Work and Asymmetrical Encryption algorithm, providing new solutions to the Byzantine Generals Problem.

Byzantine Fault Tolerance
Suppose the number of generals is n, the number of traitors is t. When n=3, t=1, there is one traitor among general A, B, C. If A sends out the command of “attack,” but traitor B tells C to “retreat,” A, B, and C cannot reach an agreement. Therefore, when the number of traitors is equal to or bigger than the one-third of the total number of generals, the Byzantine Generals Problem cannot be solved.
Similarly, suppose the number of nodes in the network is n, the number of malicious nodes is t, only when N>=3T+1, meaning that the normal nodes constitute two-thirds of N, the network can reach consensus.

Proof of Work

Suppose general A sends out the message of “attack” and attaches his signature to it; if other generals receive the message and agree to attack, they will attach their signature to the message too. If general A sends out the message of “attack” but does not attack, general A can be distinguished as a traitor. This is a way to tell the wrong information from the correct ones.
Similarly, multiple nodes in the network can conclude a “result” – a transaction record, by doing some “work.” The first node which works out the “result” can propagate the transaction record to the entire network. If the transaction record is correct, other nodes will add it to their ledger, preparing themselves for solving the proof of work problem.

With the PoW mechanism, a hacker has to have no less than 51% of the computing power of the entire network to release a false block or damage the network security. In such a case, the cost of such behavior is much greater than the benefit. Therefore, the possibility of false information appearance becomes much lower; the network can reach a consensus in a pretty short time.

Asymmetric Encryption Algorithm

In Asymmetric Encryption Algorithm, one needs to have a pair of keys – a public key and private key, to encrypt or decrypt information. If A wants to send a message to B, then A needs to use B’s public key to encrypt the message, and B needs to use his or her own private keys to decrypt the message. If B wants to prove his or her identity, he or she can sign a message with the private key and broadcast it to the network so that others can verify B’s identity by using B’s public key.
Since the identity and the signature are unforgeable, the Asymmetric Encryption Algorithm has solved the problem of privacy during information transmission and the problem of signature credibility.


Popular posts from this blog

What is CeFi? What is Defi? What is difference?

​​​​​​  Definition CeFi, short for centralized finance, offers some of the yield benefits of DeFi with some of the ease of use and security of traditional financial-services products. With CeFi, you can earn interest on savings, borrow money, spend with a crypto debit card, and more. With DeFi, users trust that the technology will perform as proposed to execute on services being offered. On the other hand, with CeFi, users trust a business's people to manage funds and execute the business's services. A DeFi coin is much like a digital version of a fiat coin — it transfers value in the course of a financial transaction. DeFi coins are built on and often named for their unique, native blockchain networks. In spring 2021, Maker, Compound, Uniswap, Aave, Chainlink, and Ankr are among the most popular DeFi coins. DeFi vs CeFi: CeFi Ecosystem relies on a centralized exchange to manage financial services while DeFi is an open and transparent network. CeFi, short for centralized financ

What is Alliance chain?

 Alliance chain Blockchain is a distributed ledger where each node is responsible for storing data. Depending on the difference in access control, the blockchain can be divided into a public string, a private string, and an alliance string. Public chain The public chain is fully open to the public and allows anyone, regardless of time and place, to engage in transactions and store data in a chain that only requires a device connected to the Internet. For example, BTC blockchain and ETH blockchain are both public chains. Because each node is blockchain independent, user privacy can be greatly protected. In addition, any node with the same rights can try to record and update data through a consensus mechanism. All public chain data is transparent so that everyone can check the history. The public chain is highly decentralized because it runs according to established rules, which does not allow developers or other users to make changes to rules and data. However, the trading speed is much

Coin Hoarding means

Behavior where an investor starts to purchase and hoard a large sum of some currency.