30
4
v1v2 (latest)

Synchronous Byzantine Lattice Agreement in O(log(f)){\cal O}(\log (f)) Rounds

Abstract

In the Lattice Agreement (LA) problem, originally proposed by Attiya et al. \cite{Attiya:1995}, a set of processes has to decide on a chain of a lattice. More precisely, each correct process proposes an element ee of a certain join-semi lattice LL and it has to decide on a value that contains ee. Moreover, any pair pi,pjp_i,p_j of correct processes has to decide two values decidec_i and decjdec_j that are comparable (e.g., decidecjdec_i \leq dec_j or decj<decidec_j < dec_i). LA has been studied for its practical applications, as example it can be used to implement a snapshot objects \cite{Attiya:1995} or a replicated state machine with commutative operations \cite{Faleiro:2012}. Interestingly, the study of the Byzantine Lattice Agreement started only recently, and it has been mainly devoted to asynchronous systems. The synchronous case has been object of a recent pre-print \cite{Zheng:aa} where Zheng et al. propose an algorithm terminating in O(f){\cal O}(\sqrt f) rounds and tolerating f<n/3f < \lceil n/3 \rceil Byzantine processes. In this paper we present new contributions for the synchronous case. We investigate the problem in the usual message passing model for a system of nn processes with distinct unique IDs. We first prove that, when only authenticated channels are available, the problem cannot be solved if f=n/3f=n/3 or more processes are Byzantine. We then propose a novel algorithm that works in a synchronous system model with signatures (i.e., the {\em authenticated message} model), tolerates up to ff byzantine failures (where f<n/3f<n/3) and that terminates in O(logf){\cal O}(\log f) rounds. We discuss how to remove authenticated messages at the price of algorithm resiliency (f<n/4f < n/4). Finally, we present a transformer that converts any synchronous LA algorithm to an algorithm for synchronous Generalised Lattice Agreement.

View on arXiv
Comments on this paper