Skip to content

Byzantine Generals’ Problem

    A term used to describe the situation of a single strategy that requires consensus from all members within a group who cannot be trusted or verified. 

    For example, Imagine a city besieged and surrounded by the Byzantine army led by 5 different generals. All 5 generals surrounding the city have to formulate an attack plan and in its simplest form, it is merely between attacking and retreating. The generals are far apart from one another, and the only means of communication is via messengers (who may be spies or be killed/replaced by enemy messengers). To further complicate matters, some generals may be malicious and can tamper with the votes. Suppose the generals now cast votes to decide whether to attack or retreat and thus also inform the rest of their decision at the same time. This however presents a problem – if any of the generals are malicious/messenger gets replaced, some generals may be tricked into attacking. So, how can the Byzantine Generals ensure that their votes cannot be tampered with? 

    This problem is analogous to that of a decentralized peer-to-peer system – the challenge is to ensure that all nodes (generals) are looking at information (votes) that are valid and not tampered with.

    Share