https://cse.buffalo.edu/~stevko/courses/cse486/spring14/lectures/36-bft1.pdf
All loyal lieutenants follow the same order even if the commander is a traitor
If the commander is loyal, every loyal liuetenant obeys his command
- A commander sends all the lieutenants either an attack or retreat message
- The lieutenants send each other the message that they received from the commander
- If a lieutenant receives differing messages from the commander and the lieutenant, it retreats
Invariant 2 can’t be supported if one lieutenant is a traitor. The commander can send attack, but the 1 loyal lieutenant will retreat if the unloyal lieutenant tells it to retreat
- Each lieutenant sends each other the message they receive from the commander
- Each lieutenant sends other lieutenants the messages they receive from other lieutenants
Build out the OM tree. For every level of depth we go, we remove the effect of one traitor
k = # of lieutenant nodes
1 message
1 + k
1 + k + k(k-1)
1 + k + k(k-1) + k(k-1)(k-2)