“... And StateMachine Replication for All with BFT-SMaRt”
Poster in the 7th ACM SIGOPS/EuroSys European Systems Conference (EuroSys'12). Apr. 2012.
Abstract: The last decade saw an impressive amount of papers on Byzantine Fault-Tolerant (BFT) State Machine Replication (SMR), but almost no practical use of these techniques in real deployments. One of the key reasons for this situation in our opinion is the fact that there is no robust-enough implementation of BFT SMR available makes it quite difficult to use this kind of technique, since implementing this type of protocol is very far from trivial, with many subtleties that may lead even specialists to commit mistakes. To the best of our knowledge, from all “BFT systems” that appeared on the last decade, only the original PBFT system  and the more recent Up-Right  claim to implement a complete replication system. However, our experience with PBFT shows that it is not robust enough (e.g., we could not make it survive a primary failure) and it is not being maintained anymore, and UpRight uses a 3-tier architecture which tends to be more than a simple BFT replication library, and the project also appears to be dead since 2010. All the other BFT works were little more than proof-of-concept prototypes showing that they corresponding protocols could be used in practice. In this abstract we describe a 5-year effort in implementing BFT-SMART, a Java-based SMR framework which implements a protocol similar to PBFT but targeting not only high-performance in fault-free executions, but also correctness in all possible faulty behaviors and extensibility. BFT-SMART aims not only to bridge the gap of the absence of BFT SMR implementation, but also to provide an open-source implementation for state machine replication in general, since as far as we known, there is no crash fault-tolerant SMR framework available on the web. In the end, BFT-SMART is not another BFT protocol proposal, but a complete replication framework that can be used both to implement experimental dependable services and as a robust codebase for developing new protocols and replication techniques. Nonetheless, in what follows, we describe some unique BFT-SMART features that make it different from previous systems.
Research line(s): Fault and Intrusion Tolerance in Open Distributed Systems (FIT)