Distributed computing with rules of thumb
Impossibility of distributed consensus with one faulty process