Byzantine Fault-Tolerance And Beyond