Byzantine Fault Tolerance for Nondeterministic Applications
Source: Cleveland State University
All practical applications contain some degree of nondeterminism. When such applications are replicated to achieve Byzantine Fault Tolerance (BFT), their nondeterministic operations must be controlled to ensure replica consistency. To the best of the knowledge, only the most simplistic types of replica nondeterminism have been dealt with. Furthermore, there lacks a systematic approach to handling common types of nondeterminism. In this paper, the authors propose a classification of common types of replica nondeterminism with respect to the requirement of achieving Byzantine fault tolerance, and describe the design and implementation of the core mechanisms necessary to handle such nondeterminism within a Byzantine fault tolerance framework.