Consensus in distributed systems cannot be asynchronous due to the FLP Result: there is no deterministic consensus algorithm that is guaranteed to terminate in an asynchronous crash-stop system model
This holds even if
Similar to tradeoffs made in the CAP Theorem, when under attack, we need to choose between
- safety
- consistency
- liveness/availability
This can somewhat be abated by randomized protocols (see: HoneyBadgerBFT, Nakamoto consensus)