JBP – Java Byzantine Paxos
JBP aims to provide a complete, modular and clear implementation of the Byzantine Paxos agreement protocol in Java programming language. Since there are several variants of this algorithm, we choose to implement Paxos at War, by Piotr Zielinski, for consensus and extended it to for total order multicast adding only one communication step and maintaining the quadratic message complexity using the usual technique proposed by Leslie Lamport in the Classical Paxos algorithm and later extended by Castro and Liskov in the BFT system.
JBP was developed because there was no implementation of a fast Byzantine fault-tolerant Total order multicast protocol in Java. Moreover, JBP implementation follow the same line of the BFT system (implemented in C), but we want to separate state management (basically, checkpoints) from the core total order multicast algorithm.
JBP is available to download, you are welcome to try it!