Skip to Main Content
State-machine-based replication is an effective way to increase the availability and dependability of mission-critical applications. However, all practical applications contain some degree of non-determinism. Consequently, ensuring strong replica consistency in the presence of application non-determinism has been one of the biggest challenges in building dependable distributed systems. In this Study, the authors propose a classification of common types of application non-determinism with respect to the requirement of achieving Byzantine fault tolerance (BFT), and present the design and implementation of a BFT framework that controls these types of non-determinism in a systematic manner.