Since the advent of Byzantine replicated systems such as PBFT, numerous follow-up variants can maintain consistent replications in the presence of malicious nodes. However, Byzantine replication systems have been traditionally monolithic and homogeneous: the quorums nodes trust are fixed and uniform. This dissertation considers multiple aspects of heterogeneity for Byzantine replicated systems.
First, it considers heterogeneous replicated systems that ensure the trustworthiness specifications for a given computation. In the face of Byzantine attacks, the ultimate goal is to assure end-to-end policies for confidentiality, integrity, and availability. Given a computation and its policies, this dissertation synthesizes a distributed computation that flows through a sequence of heterogeneous replicated systems. It presents a security-typed object-based language, a partitioning transformation, an operational semantics, an information flow type inference system, and a synthesis tool called Hamraz. Hamraz automatically places and replicates fields and methods of the class. The experiments show the resulting systems can gracefully tolerate attacks that are as strong as the specified policies.
Second, it investigates heterogeneous quorum systems (HQS) where each process can declare its own quorums. In traditional replication systems, the set of trusted quorums is homogeneous across processes. However, trust is a subjective matter. This dissertation presents a general model of HQS. When quorum systems are not uniform, the properties that they should maintain to support reliable broadcast and consensus are not well understood. It was shown that quorum intersection and availability are necessary. This dissertation proves that they are not sufficient. It then defines the notion of quorum subsumption, and shows that the three conditions together are sufficient: it presents reliable broadcast and consensus protocols and proves their correctness.
Traditionally, the trusted set of quorums was not only homogeneous but fixed. However, trust evolves; processes might need to change their quorums. This dissertation presents reconfiguration protocols for HQS including joining and leaving of a process, and adding and removing of a quorum, and further, proves their correctness. The design of the protocols is informed by the trade-offs for the properties that reconfigurations can preserve. The dissertation further presents a graph characterization of HQS and its application for reconfiguration optimization.