Member-only story

Dilemma Of The Byzantine Generals’ Problem

The Threshold Between Victory And Defeat Of The Warlords

Mi'kail Eli'yah
8 min readNov 24, 2021

The Byzantine Generals’ Problem (Lamport, Shostak, Pease et al, 1982) stated a scenario where a commanding general must send an order to n-1 allies or lieutenant generals such that:

1. All loyal lieutenants obey the same plan of action under the order2. A small number of traitors (including the general him/herself) cannot cause the loyal lieutenants to adopt a bad plan or thwart the main order. (This is the criteria for Byzantine Fault Tolerance (BFT).)

All participating entities (or nodes in distributed or decentralized networks) have to agree and commit upon every message that is transmitted between them. This agreement or alignment is called a consensus. If a group of nodes is corrupt or the message that they transmit is corrupt, then the network as a whole should not be affected by it.

For n = 3, there is no solution for 1/3 traitors.

There are 2 types of unreliability — faults and failures. The trust under this can be either that the nodes are un-abled or disabled (such as crashed or failed nodes), or they are corrupted or hijacked (such as hacked, manipulated or system take-over).

[Byzantine Commanders]                  [Computational Nodes]
1. The geographic distance or terrain barriers versus network connection hops.
2. Number of Commanders versus number of computational nodes.3. Traitors versus malicious or hijacked nodes.4. Unreliable messaging versus MitM attack or unreliable network connections or communication cutting, such as in Eclipse attack. 5. Tactical agreement versus computation consensus.

We can draw much insights as well from human history to inspire how we may design our technological solutions.

作壁上观 (zuò bì shàng guān): "Watching on the wall" originally meant that when the two sides were fighting, the others are hiding behind a wall to watch. Later, it metaphorically refer to the act of standing on the sidelines and did not offer help…

--

--

Mi'kail Eli'yah
Mi'kail Eli'yah

No responses yet

Write a response