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

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 $e$ of a certain join-semi lattice $L$ and it has to decide on a value that contains $e$. Moreover, any pair $p_i,p_j$ of correct processes has to decide two values $dec_i$ and $dec_j$ that are comparable (e.g., $dec_i \leq dec_j$ or $dec_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 ${\cal O}(\sqrt f)$ rounds and tolerating $f < \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 $n$ processes with distinct unique IDs. We first prove that, when only authenticated channels are available, the problem cannot be solved if $f=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 $f$ byzantine failures (where $f<n/3$) and that terminates in ${\cal O}(\log f)$ rounds. We discuss how to remove authenticated messages at the price of algorithm resiliency ($f < n/4$). Finally, we present a transformer that converts any synchronous LA algorithm to an algorithm for synchronous Generalised Lattice Agreement.

[1]  Nicola Santoro,et al.  Population Protocols with Faulty Interactions: The Impact of a Leader , 2017, CIAC.

[2]  Sriram K. Rajamani,et al.  Generalized lattice agreement , 2012, PODC '12.

[3]  Vijay K. Garg,et al.  Linearizable Replicated State Machines with Lattice Agreement , 2018, OPODIS 2018.

[4]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[5]  Maurice Herlihy,et al.  Distributed Computing Through Combinatorial Topology , 2013 .

[6]  Nicola Santoro,et al.  Line Recovery by Programmable Particles , 2018, ICDCN.

[7]  Hagit Attiya,et al.  Wiley Series on Parallel and Distributed Computing , 2004, SCADA Security: Machine Learning Concepts for Intrusion Detection and Prevention.

[8]  Paul G. Spirakis,et al.  Fault Tolerant Network Constructors , 2019, SSS.

[9]  Danny Dolev,et al.  Simple Gradecast Based Algorithms , 2010, ArXiv.

[10]  Ophir Rachman,et al.  Atomic snapshots using lattice agreement , 1995, Distributed Computing.

[11]  Ho-Lin Chen,et al.  Speed faults in computation by chemical reaction networks , 2014, Distributed Computing.

[12]  Emmanuelle Anceaume,et al.  Byzantine Generalized Lattice Agreement , 2020, 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[13]  Joel Rybicki,et al.  Byzantine Approximate Agreement on Graphs , 2019, DISC.

[14]  Florian Schintke,et al.  Linearizable State Machine Replication of State-Based CRDTs without Logs , 2019, PODC.

[15]  Vijay K. Garg,et al.  Byzantine Lattice Agreement in Synchronous Systems , 2020, OPODIS.

[16]  Vijay K. Garg,et al.  Lattice Agreement in Message Passing Systems , 2018, DISC.