(The Byzantine Army was chosen as an example for the problem as the Byzantine state experienced frequent treachery in the high levels of its administration.)
The problem is complicated by the geographic separation of the generals who must communicate by sending messengers to each other, and by the presence of traitors amongst the generals. These traitors can act arbitrarily in order to achieve the following aims: trick some generals into attacking; force a decision that is not consistent with the generals' desires, e.g. forcing an attack when no general wishes to attack; or confusing some generals to the point that they are unable to make up their minds. If the traitors succeed in any of these goals any resulting attack is doomed, as only a concerted effort can result in victory.
Byzantine fault tolerance can be achieved if the loyal (non-faulty) generals have a unanimous agreement on their strategy. Note that if the source general is correct, all loyal generals must agree upon that value; otherwise, the choice of strategy agreed upon is irrelevant.
...
One solution considers scenarios in which messages may be forged, but which will be Byzantine-fault-tolerant as long as the number of traitorous generals does not equal or exceed one third. The impossibility of dealing with one-third or more traitors ultimately reduces to proving that the 1 Commander + 2 Lieutenants problem cannot be solved, if the Commander is traitorous. The reason is, if we have three commanders, A, B, and C, and A is the traitor: when A tells B to attack and C to retreat, and B and C send messages to each other, forwarding A's message,
neither B nor C can figure out who is the traitor, since it isn't necessarily A—the other commander could have forged the message purportedly from A. It can be shown that if n is the number of generals in total, and t is the number of traitors in that n, then there are solutions to the problem only when n > 3t.[4]
https://en.wikipedia.org/wiki/Byzantine_fault_tolerance