Byzantine Consensus in the Common Case
Modular methods to transform Byzantine consensus protocols into ones that are fast and communication efficient in the common cases are presented. Small and short protocol segments called layers are custom designed to optimize performance in the common case. When composed with a Byzantine consensus protocol of choice, they allow considerable control over the tradeoff in the combined protocol's behavior in the presence of failures and its performance in their absence. When runs are failure free in the common case, the resulting protocols decide in two rounds and require 2nt bits of communication. For the common case assumption that all processors propose 1 and no failures occur, we show a transformation in which decisions are made in one round, and no bits of communication are exchanged. The resulting protocols achieve better common-case complexity than all existing Byzantine consensus protocols. Finally, in the rare instances in which the common case does not occur, a small cost is added to the complexity of the original consensus protocol being transformed. The key ingredient of these layers that allows both time and communication efficiency in the common case is the use of silent confirmation rounds, which are rounds where considerable relevant information can be obtained in the absence of any communication whatsoever.
READ FULL TEXT