In consensus, the n nodes of a distributed system seek to take a consistent decision on some output, despite up to t of them crashing or even failing maliciously, i.e., behaving "Byzantine". It is known that it is impossible to guarantee that synchronous, deterministic algorithms consistently decide on an output in fewer than f + 1 rounds in executions in which the actual number of faults is f ≤ t. This even holds if faults are crash-only, and in this case the bound can be matched precisely. However, the question of whether this can be done efficiently, i.e., with little communication, so far has not been addressed.In this work, we show that algorithms tolerating Byzantine faults and deciding within f + 2 rounds must send Ω(nt + t 2 f ) messages; as a byproduct, our analysis shows that decision within f +1 rounds is impossible in this setting (unless f = t). Moreover, we prove that any crash-resilient algorithm deciding in f + 1 rounds has worst-case message complexity Ω(n 2 f ). Interestingly, this changes drastically if we restrict the fault model further. If crashes are orderly, i.e., in each round, each node picks an order in which its messages are sent, and crashing nodes successfully transmit a prefix of their sequence, deciding in f + 1 rounds can be guaranteed with O(nt) messages.
Categories and Subject Descriptors
General TermsAlgorithms, Reliability, Theory Keywords lower bounds; cubic message complexity; Byzantine faults; crash faults; early-stopping Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit