LinBFT: Linear-Communication Byzantine Fault Tolerance for Public Blockchains
Impossibility of distributed consensus with one faulty process