I am new to this problem and trying to understand it. For example if I have 7 generals, 4 of them are honest and 3 of them are traitors. Now, how do I know which 4 generals are honest generals because if
General1 (honest) sends an attack message to General2
General2 (traitor) sends an attack message to General3
General3 (honest) sends an attack message to General4
General4 (traitor) sends an attack message to General5
General5 (honest) sends an attack message to General6
General6 (traitor) sends an attack message to General7 (honest)
and so on
General2 is traitor but sending attack message to General3, but when it comes to attack General2 will not participate in it and if this way traitors get the majority, it means we lost the system. So, is there any way to find out who the traitors are before the attack? Or how to find out which ones are the honest generals?