Facebook releases new version of LibraBFT protocol to reduce network complexity

The LibraBFT protocol is at the heart of the Facebook Libra blockchain and is responsible for ensuring secure state machine replication.

Today, its development team Calibra has released an important update to the LibraBFT core protocol.

It is reported that the new version of the LibraBFT v2 protocol includes optimizations designed to reduce network connectivity and improve the commit latency of the Libra blockchain.

In addition, Calibra also provides Rust simulator code for reference, which can be found in the Github repository of the Calibra research team.

Reduce network complexity in practice

LibraBFT is an improved version of the HotStuff protocol that clarifies the mechanisms used to implement round synchronization between nodes. Informally, during a round of voting, a particular leader will be trusted to drive progress (usually by proposing a block (B), collecting votes (V), and broadcasting a quorum certificate ( C)) (see picture below). The purpose of loop synchronization is to have the node finally execute the same loop with a sufficiently long overlap so that the leader of the loop can succeed.

libraBFT2 (1)

In an optimistic situation, the LibraBFT v2 protocol reduces the overhead of loop synchronization to one message per node per round (see the green arrow in the figure).

The "v1" version of LibraBFT relies on the probabilistic gossip protocol to ensure uniform dissemination of the arbitration certificate (C). This unified communication requires loop synchronization and ensures that the system's liveness is maintained in the presence of malicious leaders.

While the probabilistic gossip protocol is a popular technique for many applications, it typically requires a non-linear number of messages and an increase in latency due to intermediate hops. From an engineering perspective, network overhead and the probabilities of gossiping can also complicate debugging.

In contrast, the LibraBFT v2 protocol implements loop synchronization in different ways without probabilistic gossip. First, the new protocol introduces a new type of fault protection mechanism that periodically pulls out lost data without progress. Second, LibraBFTv2 simplifies the constraints of block proposals. The new constraint ensures that an honest leader always proposes a block and forces loop synchronization immediately after the first honest node enters its loop.

The activity of LibraBFT v2 proves that the new protocol can still perform satisfactorily in a Byzantine (worst case) scenario, and in the best case, the number of messages will be linear.

For a complete technical paper on LibraBFT v2, readers can visit here: https://developers.libra.org/docs/assets/papers/libra-consensus-state-machine-replication-in-the-libra-blockchain.pdf