An Extensible Framework for Implementing and Validating Byzantine Fault-Tolerant Protocols

Abstract

HotStuff is a Byzantine fault-tolerant state machine replication protocol that incurs linear communication costs to achieve consensus. This linear scalability promoted the protocol to be adopted as the consensus mechanism in permissioned blockchains. This paper discusses the architecture, testing, and evaluation of our extensible framework to implement HotStuff and its variants. The framework already contains three HotStuff variants and other interchangeable components for cryptographic operations and leader selection.Inspired by the Twins approach, we also provide a testing framework for validating protocol implementations by inducing Byzantine behaviors. Test generation is protocol-agnostic; new protocols can execute the test suite with little-to-no modifications. We report relevant insights on how we benefited from Twins for validation and test-driven development. Leveraging our deployment tool, we evaluated our implementation in various configurations.

Publication
In Proceedings of the 5th Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed Systems 2023
Hanish Gogada
Hanish Gogada
PhD Candidate

Interested in Distributed Systems and BFT protocols.

Hein Meling
Hein Meling
Professor of Distributed Systems

My main interest is in secure and dependable distributed computing, including cryptocurrencies and blockchains.

Leander Jehl
Leander Jehl
Associate professor

Design, implementation and verification of reliable distributes systems, including the incentivization of decentralized systems.

John Ingve Olsen
John Ingve Olsen
Scientific Programmer

EDIT ME!