Quorum systems are a popular mechanism for building highly available data repositories. Byzantine Quorum Systems (BQSs) are quorum systems that guarantee the consistency of the replicated data that is trusted to them even if a subset of the replicas, up to a given threshold, is arbitrarily compromised.
BQSs exemplify an attractively simple approach to integrating fault-tolerance and security in distributed systems, i.e. hardening the mechanisms we use to build highly available services so they operate correctly even when faulty components behave in malicious ways.
Unfortunately, this approach does not quite work out of the box. This
talk addresses some of the theoretical and practical questions that
come with "some assembly required": Can we change dynamically the
structure of a BQS to respond to an attack? What is the minimum number
of replicas necessary to implement a BQS for a given threshold of
faulty replicas? What consistency guarantees can a BQS provide? Do
these guarantees depend on the cryptographic attributes of the data