163

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

IEEE International Conference on Distributed Computing Systems (ICDCS), 2020
Abstract

In the Lattice Agreement (LA) problem, originally proposed by Attiya et al., 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 or a replicated state machine with commutative operations. 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 where Zheng et al. propose an algorithm terminating in O(f){\cal O}(\sqrt f) rounds and tolerating n/31n/3-1 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).

View on arXiv
Comments on this paper