Continuous consensus (CC) is the problem of maintaining an identical and up-to-date core of information about the past at all correct processes in the system [1]. This is a primitive that supports simultaneous coordination among processes, and eliminates the need of issuing separate instances of consensus for different tasks. Recent work has presented new simple and efficient optimum protocols for continuous consensus in the crash and (sending) omissions failure models. For every pattern of failures, these protocols maintain at each and every time point a core that subsumes that maintained by any other continuous consensus protocol. This paper considers the continuous consensus problem in the face of harsher failures: general omissions and authenticated Byzantine failures. Computationally efficient optimum protocols for CC do not exist in these models if P ≠ NP. A variety of CC protocols are presented. The first is a simple protocol that enters every interesting event into the core within t + 1 rounds (where t is the bound on the number of failures), provided there are a majority of correct processes. The second is a protocol that achieves similar performance so long as n > t (i.e., there is always guaranteed to be at least one correct process). The final protocol in the general omissions model makes use of active failure monitoring and failure detection to include events in the core much faster in many runs of interest. Its performance is established based on a nontrivial property of minimal vertex covers in undirected graphs. The results are adapted to the authenticated Byzantine failure model, in which it is assumed that faulty processes are malicious, but correct processes have unforgeable signatures. Finally, the problem of uniform CC is considered. It is shown that a straightforward version of uniform CC is not solvable in the setting under study. A weaker form of uniform CC is defined, and protocols achieving it are presented.
[1]
Yoram Moses,et al.
Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures
,
1986,
TARK.
[2]
Danny Dolev,et al.
'Eventual' is earlier than 'immediate'
,
1982,
23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).
[3]
Yoram Moses,et al.
Fully Polynomial Byzantine Agreement for n > 3t Processors in t + 1 Rounds
,
1998,
SIAM J. Comput..
[4]
Leslie Lamport,et al.
Reaching Agreement in the Presence of Faults
,
1980,
JACM.
[5]
Yoram Moses,et al.
Programming simultaneous actions using common knowledge
,
1987,
Algorithmica.
[6]
Tal Mizrahi,et al.
Continuous consensus via common knowledge
,
2005,
Distributed Computing.
[7]
Piotr Berman,et al.
Cloture Votes:n/4-resilient Distributed Consensus int + 1 rounds
,
2005,
Mathematical systems theory.