Abstract
Byzantine fault-tolerant storage systems can provide high availability in hazardous environments, but the redundant servers they require increase software development and hardware costs. In order to minimize the number of servers required to implement fault-tolerant storage services, we develop a new algorithm that uses a “Listeners” pattern of network communication to detect and resolve ordering ambiguities created by concurrent accesses to the system. Our protocol requires 3f + 1 servers to tolerate up to f Byzantine faults—f fewer than the 4f + 1 required by existing protocols for non-self-verifying data. In addition, SBQ-L provides atomic consistency semantics, which is stronger than the regular or pseudo-atomic semantics provided by these existing protocols. We show that this protocol is optimal in the number of servers— any protocol that provides safe semantics or stronger requires at least 3f + 1 servers to tolerate f Byzantine faults in an asynchronous system. Finally, we examine a non-confirmable writes variation of the SBQ-L protocol where a client cannot determine when its writes complete. We show that SBQ-L with non-confirmable writes provides regular semantics with 2f + 1 servers and that this number of servers is minimal.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
L. Alvisi, D. Malkhi, E. Pierce, and R. Wright. Dynamic Byzantine quorum systems. In Proceedings of the International Conference on Dependable Systems and Networks, June 2000.
H. Attiya, A. Bar-Noy, and D. Dolev. Sharing memory robustly in message passing systems. Journal of the ACM (JACM) Volume 42, pages 124–142, 1995.
R. A. Bazzi. Synchronous Byzantine quorum systems. In Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing, pages 259–266, 1997.
R. A. Bazzi. Access cost for asynchronous Byzantine quorum systems. Distributed Computing Journal volume 14, Issue 1, pages 41–48, January 2001.
M. Castro and NB. Liskov. Practical Byzantine fault tolerance. In Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI’99), New Orleans, USA, pages 173–186, February 1999.
S. Davidson, H. Garcia-Molina, and D. Skeen. Consistency in a partitioned network: a survey. ACM Computing Surveys (CSUR) Volume 17, Issue 3, pages 341–370, September 1985.
M. J. Fischer, N. A. Lynch, and M. S. Paterson. Impossibility of distributed consensus with one faulty process. Technical Report MIT/LCS/TR-282, 1982.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison Wesley, October 1994. ISBN 0-201-63361-2.
L. Lamport. On interprocess communications. Distributed Computing, pages 77–101, 1986.
Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558–565, July 1978.
D. Malkhi and M. Reiter. Byzantine quorum systems. Distributed Computing, pages 203–213, 1998.
D. Malkhi and M. Reiter. Secure and scalable replication in phalanx. In Proc. 17th IEEE Symposium on Reliable Distributed Systems, West Lafayette, Indiana, USA, Oct 1998.
D. Malkhi, M. Reiter, and A. Wool. The load and availability of Byzantine quorum systems. In Proceedings 16th ACM Symposium on Principles of Distributed Computing (PODC), pages 249–257, August 1997.
J-P. Martin, L. Alvisi, and M. Dahlin. Minimal Byzantine storage. Technical Report TR-02-38, University of Texas at Austin, Department of Computer Sciences, August 2002.
J-P. Martin, L. Alvisi, and M. Dahlin. Small Byzantine quorum systems.In Proceedings of the International Conference on Dependable Systems and Networks, pages 374–383, June 2002.
M. Naor and A. Wool. The load, capacity, and availability of quorum systems. SI AM Journal on Computing, 27(2):423–447, 1998.
E. Pierce and L. Alvisi. A recipe for atomic semantics for Byzantine quorum systems. Technical report, University of Texas at Austin, Department of Computer Sciences, May 2000.
R. Rodrigues, M. Castro, and B. Liskov. BASE: Using abstraction to improve fault tolerance. In Proceedings of the 18th Symposium on Operating Systems Principles (SOSP’ 01), October 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Martin, JP., Alvisi, L., Dahlin, M. (2002). Minimal Byzantine Storage. In: Malkhi, D. (eds) Distributed Computing. DISC 2002. Lecture Notes in Computer Science, vol 2508. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36108-1_21
Download citation
DOI: https://doi.org/10.1007/3-540-36108-1_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00073-0
Online ISBN: 978-3-540-36108-4
eBook Packages: Springer Book Archive