What Is Byzantine Agreement Problem In Distributed System

A Byzantine error (also interactive consistency, congruence of sources, avalanche of errors, Byzantine correspondence problem, Byzantine generals problem, and Byzantine failure[1]) is a condition of a computer system, especially distributed computer systems, where components can fail and where there is imperfect information about the failure of a component. The term takes its name from an allegory, the “Problem of the Byzantine Generals”[2], which was developed to describe a situation in which the actors of the system must agree on a concerted strategy to avoid a catastrophic failure of the system, but some of these actors are unreliable. The study by Pease, Shostak and Lamport was among the first to address the problem of achieving coordinated behavior between the processors of a distributed system in the event of a failure [21]. Since the publication of the article, this topic has become a vast field of research. Below is a presentation of the main findings on the specific issues addressed in their paper. In some cases, this entry uses the terminology currently accepted in this topic and not the original terminology used by the authors. In this article, we have discussed some general information about the problem of consensus in distributed systems. The problem is complicated by the presence of treacherous generals who can not only vote for a sub-optimal strategy, but also selectively do so. For example, if nine generals vote, four of whom support the attacks, while four others are in favor of retirement, the ninth general can send a vote on withdrawal to those generals in favor of withdrawal and a vote on the attack to the others. Those who received a retirement vote from the ninth general will withdraw, while the others will attack (which may not go well for the attackers). The problem becomes even more complicated because generals are physically separated and have to send their votes through messengers who may not vote or falsify their votes. The nodes of the distributed system must all agree on a specific set of rules and be able to move forward by agreeing on a specific evaluation of a transaction before adding it to the database. Tolerance for Byzantine faults can be achieved when loyal (not imperfect) generals have a majority agreement on their strategy.