LibBFT: A High-Performace Timed Automata Library Collection for Byzantine Fault Tolerance - Araujo, Rodolfo Pereira; Coelho, Igor Machado; Ochi, Luiz Satoru; Coelho, Vitor Nazário (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), 2019)
This paper describes a novel high-performance library collection called libbft, specially designed to deal with byzantine fault tolerance for consensus mechanisms. This library is inspired by timed automata theory, and by the groundbreaking work of Practical Byzantine Fault Tolerance (PBFT). As case study, we tackle recently proposed consensus algorithms, such as the Delegated Byzantine Fault Tolerance (dBFT) used on the NEO Blockchain. This library is organized in a multiprogramming language paradigm, being already implemented on C++ and Golang. The library handles states and transitions from regular automata machines, besides timed transitions, activated through conditions, actions and events. We also propose a mathematical notation to represent these elements, and an automatic tool to export the generated state machine into graphviz platform. We also integrate the library with state-of-the-art communication protocols, like the gRPC (Google RPC) and protobuf, which provides efficient and language-independent communication. This paper briefly describes the technological background behind libbft, practical applications and preliminary computational experiments.