High-performance Byzantine Fault-Tolerant State Machine Replication

Download .zip Download .tar.gz View on GitHub


BFT-SMaRt is a high-performance Byzantine fault-tolerant state machine replication library developed in Java with simplicity and robustness as primary requirements. Our main objective is to provide a code base that can be used to build dependable services and also extended to create new protocols.

Downloads and Source Code

You are welcome to download and try yourself BFT-SMaRt's most recent release and browse the source code.


Currently we have the following documentation available:

  • This technical report (a shorter version appears in IEEE/IFIP DSN 2014) describes the design and implementation of BFT-SMaRt and presents a detailed evaluation of the system.
  • This page describes how to run and develop your first fault-tolerant service using BFT-SMaRt.
  • The BFT-SMaRt configuration parameters and a description on how to use them is defined here.
  • Some discussion about the main concepts employed in the system are described here.
  • A short description of the programming API can be found here.
  • The system javadoc can be found here.


A list of frequently asked questions about BFT-SMaRt can be found here.

Powered By

A list of academic projects and papers that use BFT-SMaRt or one of its early version can be found here.

Sponsors and Contributors

The projects and foundations that sponsors BFT-SMaRt and it's contributors can be found here.