Table of Contents
Fetching ...

Dynamic Probabilistic Reliable Broadcast

Veronika Anikina, João Paulo Bezerra, Petr Kuznetsov, Liron Schiff, Stefan Schmid

TL;DR

This paper proposes a solution in which every broadcast message is validated by a small set of witnesses, which allows us to maintain low latency and small communication complexity, and exhibits significant scalability gains over state-of-the-art protocols.

Abstract

Byzantine reliable broadcast is a fundamental primitive in distributed systems that allows a set of processes to agree on a message broadcast by a dedicated process, even when some of them are malicious (Byzantine). It guarantees that no two correct processes deliver different messages, and if a message is delivered by a correct process, every correct process eventually delivers one. Byzantine reliable broadcast protocols are known to scale poorly, as they require $Ω(n^2)$ message exchanges, where $n$ is the number of system members. The quadratic cost can be explained by the inherent need for every process to relay a message to every other process. In this paper, we explore ways to overcome this limitation, by casting the problem to the probabilistic setting. We propose a solution in which every broadcast message is validated by a small set of witnesses, which allows us to maintain low latency and small communication complexity. In order to tolerate the slow adaptive adversary, we dynamically select the witnesses through a novel stream-local hash function: given a stream of inputs, it generates a stream of output hashed values that adapts to small deviations of the inputs. Our performance analysis shows that the proposed solution exhibits significant scalability gains over state-of-the-art protocols.

Dynamic Probabilistic Reliable Broadcast

TL;DR

This paper proposes a solution in which every broadcast message is validated by a small set of witnesses, which allows us to maintain low latency and small communication complexity, and exhibits significant scalability gains over state-of-the-art protocols.

Abstract

Byzantine reliable broadcast is a fundamental primitive in distributed systems that allows a set of processes to agree on a message broadcast by a dedicated process, even when some of them are malicious (Byzantine). It guarantees that no two correct processes deliver different messages, and if a message is delivered by a correct process, every correct process eventually delivers one. Byzantine reliable broadcast protocols are known to scale poorly, as they require message exchanges, where is the number of system members. The quadratic cost can be explained by the inherent need for every process to relay a message to every other process. In this paper, we explore ways to overcome this limitation, by casting the problem to the probabilistic setting. We propose a solution in which every broadcast message is validated by a small set of witnesses, which allows us to maintain low latency and small communication complexity. In order to tolerate the slow adaptive adversary, we dynamically select the witnesses through a novel stream-local hash function: given a stream of inputs, it generates a stream of output hashed values that adapts to small deviations of the inputs. Our performance analysis shows that the proposed solution exhibits significant scalability gains over state-of-the-art protocols.
Paper Structure (25 sections, 13 theorems, 20 equations, 5 figures, 7 algorithms)

This paper contains 25 sections, 13 theorems, 20 equations, 5 figures, 7 algorithms.

Key Result

Theorem 2

Algorithm alg:wbb implements Byzantine reliable broadcast.

Figures (5)

  • Figure 1: Illustration of how stream local hashing of similar histories ($S$ and $\hat{S}$) results in similar witness set selections ($W$ and $\hat{W}$).
  • Figure 2: Average number of instances for gathering according to expected witness set size. The parameters used are: $n=1024$, $b = 4$, $r = 2^{10}$, $k = 0.45w$. Each curve is for distinct $t$, the fraction of malicious nodes.
  • Figure 3:
  • Figure 4: Simulations (thick line) and simplified analysis (dashed line). On the left graph: $r = 2^{10}$. On the right graph: $b = 8$. In both graphs $t = 0.25$, $c = 2$ and $s = 0.5$.
  • Figure 5: Liveness and Consistency failure times. The parameters used are: $n=1024$, $b = 4$, $r = 2^{10}$, $k = 0.45w$ and $t = 0.25$.

Theorems & Definitions (14)

  • Definition 1: Long-lived Probabilistic Reliable Broadcast
  • Theorem 2
  • Theorem 3: Locality
  • Theorem 4: Witness Inclusion
  • Theorem 5: Unpredictability
  • Proposition 6
  • Proposition 7
  • Proposition 8
  • Theorem 4: Witness Inclusion
  • Theorem 5: Unpredictability
  • ...and 4 more