Byzantine disk paxos: optimal resilience with byzantine shared memory

We present Byzantine Disk Paxos, an asynchronous shared-memory consensus protocol that uses a collection of n > 3t disks, t of which may fail by becoming non-responsive or arbitrarily corrupted. We give two constructions of this protocol; that is, we construct two different building blocks, each of which can be used, along with a leader oracle, to solve consensus. One building block is a shared wait-free safe register. The second building block is a regular register that satisfies a weaker termination (liveness) condition than wait freedom: its write operations are wait-free, whereas its read operations are guaranteed to return only in executions with a finite number of writes. We call this termination condition finite writes (FW), and show that consensus is solvable with FW-terminating registers and a leader oracle. We construct each of these reliable registers from n > 3t base registers, t of which can be non-responsive or Byzantine. All the previous wait-free constructions in this model used at least 4t+1 fault-prone registers, and we are not familiar with any prior FW-terminating constructions in this model.

[1]  Rida A. Bazzi Synchronous Byzantine quorum systems , 2000, Distributed Computing.

[2]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[3]  Chandramohan A. Thekkath,et al.  Petal: distributed virtual disks , 1996, ASPLOS VII.

[4]  Leslie Lamport,et al.  Interprocess Communication , 2020, Practical System Programming with C.

[5]  Paul M. B. Vitányi,et al.  Bounded concurrent timestamp systems using vector clocks , 2001, JACM.

[6]  Rodrigo Rodrigues,et al.  Rosebud: A Scalable Byzantine-Fault-Tolerant Storage Architecture , 2003 .

[7]  Tal Rabin,et al.  Secure distributed storage and retrieval , 2000, Theor. Comput. Sci..

[8]  Hagit Attiya,et al.  Sharing memory with semi-Byzantine clients and faulty storage servers , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[9]  Rachid Guerraoui,et al.  Deconstructing paxos , 2003, SIGA.

[10]  Robbert van Renesse,et al.  COCA: a secure distributed online certification authority , 2002, Foundations of Intrusion Tolerant Systems, 2003 [Organically Assured and Survivable Information Systems].

[11]  Sam Toueg,et al.  Fault-tolerant wait-free shared objects , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[12]  Baruch Awerbuch,et al.  Atomic shared register access by asynchronous hardware , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[13]  Chandramohan A. Thekkath,et al.  Frangipani: a scalable distributed file system , 1997, SOSP.

[14]  Flaviu Cristian,et al.  The Timed Asynchronous Distributed System Model , 1999, IEEE Trans. Parallel Distributed Syst..

[15]  Michael Dahlin,et al.  Minimal Byzantine Storage , 2002, DISC.

[16]  Rachid Guerraoui,et al.  Failure Detection Lower Bounds on Registers and Consensus , 2002, DISC.

[17]  Leslie Lamport,et al.  Disk Paxos , 2003, Distributed Computing.

[18]  Fred B. Schneider,et al.  COCA: a secure distributed online certification authority , 2002 .

[19]  Yehuda Afek,et al.  Benign Failure Models for Shared Memory (Preliminary Version) , 1993, WDAG.

[20]  Dahlia Malkhi,et al.  Active Disk Paxos with infinitely many processes , 2002, PODC '02.

[21]  Idit Keidar,et al.  On the Cost of Fault-Tolerant Consensus When There Are No Faults - A Tutorial , 2003, LADC.

[22]  Maurice Herlihy,et al.  Obstruction-free synchronization: double-ended queues as an example , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[23]  Sam Toueg,et al.  Asynchronous consensus and broadcast protocols , 1985, JACM.

[24]  Michael K. Reiter,et al.  Byzantine quorum systems , 1997, STOC '97.

[25]  Shiding Lin,et al.  A Practical Distributed Mutual Exclusion Protocol in Dynamic Peer-to-Peer Systems , 2004, IPTPS.

[26]  Michael K. Reiter,et al.  Backoff protocols for distributed mutual exclusion and ordering , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[27]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[28]  Sam Toueg,et al.  The weakest failure detector for solving consensus , 1996, JACM.

[29]  H. Venkateswaran,et al.  Responsive security for stored data , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[30]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[31]  David S. Greenberg,et al.  Computing with faulty shared objects , 1995, JACM.

[32]  Michael K. Reiter,et al.  Efficient Byzantine-tolerant erasure-coded storage , 2004, International Conference on Dependable Systems and Networks, 2004.

[33]  Vassos Hadzilacos,et al.  Using Failure Detectors to Solve Consensus in Asynchronous Sharde-Memory Systems (Extended Abstract) , 1994, WDAG.

[34]  Michael K. Reiter,et al.  An Architecture for Survivable Coordination in Large Distributed Systems , 2000, IEEE Trans. Knowl. Data Eng..