Tradeoffs in Byzantine-Fault-Tolerant State-Machine-Replication Protocol Design