A New Broadcast Primitive for BFT Protocols

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Drijvers, Manu, Gretler, Tim, Harchol, Yotam, Klenze, Tobias, Maric, Ognjen, Neamtu, Stefan, Pignolet, Yvonne-Anne, Rumenov, Rostislav, Sharifi, Daniel, Shoup, Victor
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866909373059563520
author Drijvers, Manu
Gretler, Tim
Harchol, Yotam
Klenze, Tobias
Maric, Ognjen
Neamtu, Stefan
Pignolet, Yvonne-Anne
Rumenov, Rostislav
Sharifi, Daniel
Shoup, Victor
author_facet Drijvers, Manu
Gretler, Tim
Harchol, Yotam
Klenze, Tobias
Maric, Ognjen
Neamtu, Stefan
Pignolet, Yvonne-Anne
Rumenov, Rostislav
Sharifi, Daniel
Shoup, Victor
contents Byzantine fault tolerant (BFT) protocol descriptions often assume application-layer networking primitives, such as best-effort and reliable broadcast, which are impossible to implement in practice in a Byzantine environment as they require either unbounded buffering of messages or giving up liveness, under certain circumstances. However, many of these protocols do not (or can be modified to not) need such strong networking primitives. In this paper, we define a new, slightly weaker networking primitive that we call abortable broadcast. We describe an implementation of this new primitive and show that it (1) still provides strong delivery guarantees, even in the case of network congestion, link or peer failure, and backpressure, (2) preserves bandwidth, and (3) enforces all data structures to be bounded even in the presence of malicious peers. The latter prevents out-of-memory DoS attacks by malicious peers, an issue often overlooked in the literature. The new primitive and its implementation are not just theoretical. We use them to implement the BFT protocols in the IC (Internet Computer), a publicly available blockchain network that enables replicated execution of general-purpose computation, serving hundreds of thousands of applications and their users.
format Preprint
id arxiv_https___arxiv_org_abs_2410_22080
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A New Broadcast Primitive for BFT Protocols
Drijvers, Manu
Gretler, Tim
Harchol, Yotam
Klenze, Tobias
Maric, Ognjen
Neamtu, Stefan
Pignolet, Yvonne-Anne
Rumenov, Rostislav
Sharifi, Daniel
Shoup, Victor
Networking and Internet Architecture
Distributed, Parallel, and Cluster Computing
Byzantine fault tolerant (BFT) protocol descriptions often assume application-layer networking primitives, such as best-effort and reliable broadcast, which are impossible to implement in practice in a Byzantine environment as they require either unbounded buffering of messages or giving up liveness, under certain circumstances. However, many of these protocols do not (or can be modified to not) need such strong networking primitives. In this paper, we define a new, slightly weaker networking primitive that we call abortable broadcast. We describe an implementation of this new primitive and show that it (1) still provides strong delivery guarantees, even in the case of network congestion, link or peer failure, and backpressure, (2) preserves bandwidth, and (3) enforces all data structures to be bounded even in the presence of malicious peers. The latter prevents out-of-memory DoS attacks by malicious peers, an issue often overlooked in the literature. The new primitive and its implementation are not just theoretical. We use them to implement the BFT protocols in the IC (Internet Computer), a publicly available blockchain network that enables replicated execution of general-purpose computation, serving hundreds of thousands of applications and their users.
title A New Broadcast Primitive for BFT Protocols
topic Networking and Internet Architecture
Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2410.22080