Distributed Computing

, Volume 18, Issue 5, pp 387–408 | Cite as

Byzantine disk paxos: optimal resilience with byzantine shared memory

  • Ittai Abraham
  • Gregory Chockler
  • Idit Keidar
  • Dahlia Malkhi


We present Byzantine Disk Paxos, an asynchronous shared-memory consensus algorithm 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 algorithm; that is, we construct two different t-tolerant (i.e., tolerating up to t disk failures) building blocks, each of which can be used, along with a leader oracle, to solve consensus. One building block is a t-tolerant wait-free shared safe register. The second building block is a t-tolerant 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 wait-free consensus is solvable with FW-terminating registers and a leader oracle. We construct each of these t-tolerant registers from n < 3t base registers, t of which can be non-responsive or Byzantine. All the previous t-tolerant 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.

We further show tight lower bounds on the number of invocation rounds required for optimal resilience reliable register constructions, or more generally, constructions that use less than 4t + 1 fault-prone registers. Our lower bounds show that such constructions are inherently more costly than constructions that use 4t + 1 registers, and that our constructions have optimal round complexity. Furthermore, our wait-free construction is early-stopping, and it achieves the optimal round complexity with any number of actual failures.


Shared-memory emulations T-tolerant object implementations Byzantine failures Wait freedom Consensus Lower bounds 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Attiya, H., Bar-Or, A.: Sharing memory with semibyzantine clients and faulty storage servers. In The 22nd Symposium on Reliable Distributed Systems (SRDS) (2003)Google Scholar
  2. 2.
    Afek, Y., Greenberg, D.S., Merritt, M., Taubenfeld, G.: Computing with faulty shared objects. Journal of the ACM, 42(6), 1231–1274 (1995)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Afek, Y., Merritt, M., Taubenfeld, G.: Benign failures models for shared memory. In Proceedings of the 7th International Workshop on Distributed Algorithms, pages 69–83. Springer Verlag (1993) In: LNCS 725Google Scholar
  4. 4.
    Bazzi, R.: Synchronous byzantine quorum systems. Distributed Computing, 13(1), 45–52 (2000)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Boichat, R., Dutta, P., Frolund, S., Guerraoui, R.: Deconstructing paxos. Distributed computing column of the ACM SIGACT News 34(1), 47–67 (2003)CrossRefGoogle Scholar
  6. 6.
    Bracha, G., Toueg, S.: Asynchronous consensus and broadcast protocols. Journal of the ACM 32(4), 824–840 (1985)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Cristian, F., Fetzer, C.: The timed asynchronous distributed system model. IEEE Transactions on Parallel and Distributed Systems, pp. 642–657 (1999)Google Scholar
  8. 8.
    Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. Journal of the ACM 43(4), 685–722 (1996)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Chockler, G., Malkhi, D.: Active disk paxos with infinitely many processes. In Proceedings of the 21st ACM Symposium on Principles of Distributed Computing (PODC’02) (2002)Google Scholar
  10. 10.
    Chockler, G., Malkhi, D., Reiter, M.K.: Backoff protocols for distributed mutual exclusion and ordering. In Proceedings of the 21st International Conference on Distributed Computing Systems, pp. 11–20 (2001)Google Scholar
  11. 11.
    Delporte, C., Fauconnier, H., Guerraoui, R.: Failure detection lower bounds on registers and consensus. In Proceedings of the 16th International Symposium on Distributed Computing (DISC) (2002)Google Scholar
  12. 12.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. Journal of the ACM 35(2), 288–323 (1988)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Garay, J.A., Gennaro, R., Jutla, C., Rabin, T.: Secure distributed storage and retrieval. Theoretical Computer Science 243(1–2), 363–389 (2000)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Gafni, E., Lamport, L.: Disk paxos. Distributed Computing 16(1), 1–20 (2003)CrossRefGoogle Scholar
  15. 15.
    Goodson, G., Wylie, J., Ganger, G., Reiter, M.: Efficient byzantine-tolerant erasure-coded storage. In Proceedings of the International Conference on Dependable Systems and Networks (DSN-2004) (2004)Google Scholar
  16. 16.
    Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example In Proceedings of the 23rd International Conference on Distributed Computing Systems (ICDCS), page 522, IEEE Computer Society (2003)Google Scholar
  17. 17.
    Haldar, S., Vitanyi, P.: Bounded concurrent timestamp systems using vector clocks. J. ACM 49(1), 101–126 (2002)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Jayanti, P., Chandra, T., Toueg, S.: Fault-tolerant wait-free shared objects. Journal of the ACM 45(3), 451–500 (1998)CrossRefMathSciNetGoogle Scholar
  19. 19.
    Keidar, I., Rajsbaum, S.: On the cost of fault-tolerant consensus when there are no faults – a tutorial. Technical Report MIT-LCS-TR-821, MIT Laboratory for Computer Science May 2001. Preliminary version in SIGACT News 32(2), pp. 45–63 (2001) (published May 15th 2001)Google Scholar
  20. 20.
    Lamport, L.: On interprocess communication – part ii: Algorithms. Distributed Computing 1(2), 86–101 (1986)CrossRefzbMATHGoogle Scholar
  21. 21.
    Lamport, L.: The part-time parliament. ACM Transactions on Computer Systems 16(2), 133–169 (1998)CrossRefGoogle Scholar
  22. 22.
    Lakshmanan, S. Ahamad, M., Venkateswaran, H.: Responsive security for stored data. IEEE Trans. on Parallel and Distributed Systems 14(19), 818–828 (2003)CrossRefGoogle Scholar
  23. 23.
    Lo, W.K., Hadzilacos, V.: Using failure detectors to solve consensus in asynchronous shared-memory systems. In Proceedings of the 8th International Workshop on Distributed Algorithms (WDAG), pp. 280–295. Springer-Verlag, (1994) In: LNCS 857Google Scholar
  24. 24.
    Lin, S., Chen, M., Lian, Q., Zhang, Z.: A practical distributed mutual exclusion protocol in dynamic peer-to-peer systems. In 3rd International Workshop on Peer-to-Peer Systems (IPTPS’04) (2004)Google Scholar
  25. 25.
    Lynch, N.A., Tuttle, M.R.: An introduction to Input/Output Automata. CWI Quarterly 2(3), 219–246 (1989)MathSciNetGoogle Scholar
  26. 26.
    Martin, J.-P., Alvisi, L. Dahlin, M.: Minimal byzantine storage. In Proceedings of the 16th International Symposium on Distributed Computing (DISC) (2002)Google Scholar
  27. 27.
    Malkhi, D., Reiter, M.: Byzantine quorum systems. Distributed Computing 11(4), 203–213 (1998)CrossRefGoogle Scholar
  28. 28.
    Malkhi, D., Reiter, M.: An architecture for survivable coordination in large distributed systems. IEEE Transactions on Knowledge and Data Engineering 12(2), 187–202 (2002)CrossRefGoogle Scholar
  29. 29.
    Rodrigues, R., Liskov, B.: Rosebud: A scalable Byzantine-Fault-Tolerant Storage Architecture. Technical Report MIT-LCS-TR-932, MIT Laboratory for Computer Science (2004)Google Scholar
  30. 30.
    Vitanyi, P., Awerbuch, B.: Atomic shared register access by asynchronous hardware. In 27th IEEE Symp. Found. Comput. Sci., pp. 233–243 (1986)Google Scholar
  31. 31.
    Zhou, L., Schneider, F.B., van Renesse, R. Coca: A secure distributed on-line certification authority. ACM Transactions on Computer Systems 20(4), 329–368 (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2005

Authors and Affiliations

  • Ittai Abraham
    • 1
  • Gregory Chockler
    • 2
  • Idit Keidar
    • 3
  • Dahlia Malkhi
    • 1
  1. 1.School of Computer Science and EngineeringThe Hebrew University of JerusalemJerusalem
  2. 2.Lab for Computer Science and Artificial IntelligenceMassachusetts Institute of TechnologyMassachusetts
  3. 3.Department of Electrical EngineeringThe Technion – Israel Institute of TechnologyIsrael

Personalised recommendations