Testing the ”Fast Byzantine Consensus” Protocol

Bachelor Thesis (2025)
Author(s)

A. Căruțașu (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Burcu Kulahcioglu Ozkan – Mentor (TU Delft - Software Engineering)

J.M. Louro Neto – Mentor (TU Delft - Software Engineering)

Jérémie Decouchant – Graduation committee member (TU Delft - Data-Intensive Systems)

Faculty
Electrical Engineering, Mathematics and Computer Science
More Info
expand_more
Publication Year
2025
Language
English
Graduation Date
31-01-2025
Awarding Institution
Delft University of Technology
Project
['CSE3000 Research Project']
Programme
['Computer Science and Engineering']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Byzantine fault-tolerant protocols have been around for decades, offering the guarantee of agreement on a correct value even in the presence of arbitrary failures. These protocols have become a critical part of achieving consensus in distributed systems and are widely used nowadays. As such, we should aim to ensure the correct functioning of these systems and one essential step to take in this direction is by finding systematic and automatic ways to test BFT protocols. This paper evaluates the performance of ByzzFuzz, an automatic testing framework designed to find bugs in the implementation of Byzantine fault-tolerant protocols through randomized testing. In that sense, we evaluate ByzzFuzz’s ability to find bugs in our implementation, compare its method of injecting network and process faults to a baseline method that arbitrarily injects faults and compare the performance in bug detection of small-scope and any-scope message mutations. We implemented the ”Fast Byzantine Consensus” protocol and employed ByzzFuzz to evaluate the framework’s capability of finding implementation bugs. We materialized a liveness violation previously uncovered in a theoretical analysis research.

Files

License info not available