Abstract—This paper describes a method to implement faulttolerant services in distributed systems based on the idea of fused state machines. The theory of fused state machines uses a combination of coding theory and replication to ensure efficiency as well as savings in power and storage during normal operations. Fused state machines may incur higher overhead during recovery from crash or Byzantine faults, but that may be acceptable if the probability of fault is low. Assuming k different state machines, pure replication based schemes require k(f + 1) replicas to tolerate f crash faults in a system and k(2f + 1) replicas to tolerate f Byzantine faults. For crash faults, we give an algorithm that requires the optimal f backup state machines for tolerating f faults in the system of k machines. For Byzantine faults, we propose an algorithm that requires only kf + f additional state machines, as opposed to 2kf state machines. Our algorithm combines ideas from coding theory with replicat...
Vijay K. Garg