Cogsworth: Byzantine View Synchronization

09/11/2019
by   Oded Naor, et al.
0

Many distributed protocols in the partial synchrony setting with Byzantine nodes divide the local state of the nodes into views, and the transition from one view to the next dictates a leader change. In order to provide liveness, all honest nodes need to stay in the same view for a sufficiently long time. This requires intricate mechanisms that are typically intertwined with the rest of the protocol, making it hard to understand and to reason about. Furthermore, state-machine replication, which is consisted of multiple instances of single-shot consensus, can use the same view synchronization protocol. We define the Byzantine View Synchronization problem, which is responsible for eventually bringing all nodes to the same view for a sufficiently long time. Two approaches for implementing a protocol that achieves view synchronization exhibit the following tradeoffs: a view doubling solution has zero communication costs but unbounded latency, while a broadcastbased solution has quadratic communication costs but constant latency. We describe both protocols, prove their correctness, and also introduce a third protocol, named Cogsworth, that has optimistically linear communication complexity and constant latency, and faced with benign failures, has expected linear communication and constant latency. Cogsworth is particularly useful for a family of consensus protocols that exhibit linear communication under various circumstances.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset