Papers1 provider · 1 record
October 29, 2024· arXiv
preprint
Open access

A New Broadcast Primitive for BFT Protocols

Authors:Manu DrijversTim GretlerYotam HarcholTobias KlenzeOgnjen MaricStefan NeamtuYvonne-Anne PignoletRostislav RumenovDaniel SharifiVictor Shoup

Abstract

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.

Community

0 comments
Use Connect Wallet in the navigation

No discussion yet

Be the first to share a question or observation.