Detecting Causality in the Presence of Byzantine Processes: The Synchronous Systems Case

Authors Anshuman Misra, Ajay D. Kshemkalyani



PDF
Thumbnail PDF

File

LIPIcs.TIME.2023.11.pdf
  • Filesize: 0.76 MB
  • 14 pages

Document Identifiers

Author Details

Anshuman Misra
  • University of Illinois at Chicago, IL, USA
Ajay D. Kshemkalyani
  • University of Illinois at Chicago, IL, USA

Cite AsGet BibTex

Anshuman Misra and Ajay D. Kshemkalyani. Detecting Causality in the Presence of Byzantine Processes: The Synchronous Systems Case. In 30th International Symposium on Temporal Representation and Reasoning (TIME 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 278, pp. 11:1-11:14, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)
https://doi.org/10.4230/LIPIcs.TIME.2023.11

Abstract

Detecting causality or the happens before relation between events in a distributed system is a fundamental building block for distributed applications. It was recently proved that this problem cannot be solved in an asynchronous distributed system in the presence of Byzantine processes, irrespective of whether the communication mechanism is via unicasts, multicasts, or broadcasts. In light of this impossibility result, we turn attention to synchronous systems and examine the possibility of solving the causality detection problem in such systems. In this paper, we prove that causality detection between events can be solved in the presence of Byzantine processes in a synchronous distributed system. The positive result holds for unicast, multicast, as well as broadcast modes of communication. We prove the result by providing an algorithm. Our solution uses the Replicated State Machine (RSM) approach and vector clocks.

Subject Classification

ACM Subject Classification
  • Computing methodologies → Distributed algorithms
  • Networks → Network algorithms
Keywords
  • Byzantine fault-tolerance
  • causality
  • happens before
  • distributed system
  • message-passing
  • synchronous system

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Paulo Sérgio Almeida, Carlos Baquero, and Victor Fonte. Interval tree clocks. In Proc. 12th International Conference on Principles of Distributed Systems, OPODIS, pages 259-274, 2008. URL: https://doi.org/10.1007/978-3-540-92221-6_18.
  2. Alex Auvolat, Davide Frey, Michel Raynal, and François Taïani. Byzantine-tolerant causal broadcast. Theoretical Computer Science, 885:55-68, 2021. Google Scholar
  3. Punit Chandra and Ajay D. Kshemkalyani. Causality-based predicate detection across space and time. IEEE Trans. Computers, 54(11):1438-1453, 2005. URL: https://doi.org/10.1109/TC.2005.176.
  4. Punit Chandra and Ajay D. Kshemkalyani. Data-stream-based global event monitoring using pairwise interactions. J. Parallel Distributed Comput., 68(6):729-751, 2008. URL: https://doi.org/10.1016/j.jpdc.2008.01.006.
  5. Bernadette Charron-Bost. Concerning the size of logical clocks in distributed systems. Inf. Process. Lett., 39(1):11-16, 1991. URL: https://doi.org/10.1016/0020-0190(91)90055-M.
  6. Cynthia Dwork, Nancy A. Lynch, and Larry J. Stockmeyer. Consensus in the presence of partial synchrony. J. ACM, 35(2):288-323, 1988. URL: https://doi.org/10.1145/42282.42283.
  7. E.N. Elnozahy. Manetho: Fault tolerance in distributed systems using rollback-recovery and process replication, phd thesis. Technical report, Tech. Report 93-212, Computer Science Department, Rice University, 1993. Google Scholar
  8. Colin J. Fidge. Logical time in distributed computing systems. IEEE Computer, 24(8):28-33, 1991. URL: https://doi.org/10.1109/2.84874.
  9. Michael J Fischer, Nancy A Lynch, and Michael S Paterson. Impossibility of distributed consensus with one faulty process. Journal of the ACM (JACM), 32(2):374-382, 1985. Google Scholar
  10. Ajay D. Kshemkalyani. Temporal interactions of intervals in distributed systems. J. Comput. Syst. Sci., 52(2):287-298, 1996. URL: https://doi.org/10.1006/jcss.1996.0022.
  11. Ajay D. Kshemkalyani. Reasoning about causality between distributed nonatomic events. Artif. Intell., 92(1-2):301-315, 1997. URL: https://doi.org/10.1016/S0004-3702(97)00004-0.
  12. Ajay D. Kshemkalyani. Causality and atomicity in distributed computations. Distributed Comput., 11(4):169-189, 1998. URL: https://doi.org/10.1007/s004460050048.
  13. Ajay D. Kshemkalyani. A framework for viewing atomic events in distributed computations. Theor. Comput. Sci., 196(1-2):45-70, 1998. URL: https://doi.org/10.1016/S0304-3975(97)00195-3.
  14. Ajay D. Kshemkalyani. A fine-grained modality classification for global predicates. IEEE Trans. Parallel Distributed Syst., 14(8):807-816, 2003. URL: https://doi.org/10.1109/TPDS.2003.1225059.
  15. Ajay D. Kshemkalyani and Roshan Kamath. Orthogonal relations for reasoning about posets. Int. J. Intell. Syst., 17(12):1101-1110, 2002. URL: https://doi.org/10.1002/int.10062.
  16. Ajay D. Kshemkalyani and Anshuman Misra. The bloom clock to characterize causality in distributed systems. In The 23rd International Conference on Network-Based Information Systems, NBiS 2020, volume 1264 of Advances in Intelligent Systems and Computing, pages 269-279. Springer, 2020. URL: https://doi.org/10.1007/978-3-030-57811-4_25.
  17. Ajay D. Kshemkalyani, Min Shen, and Bhargav Voleti. Prime clock: Encoded vector clock to characterize causality in distributed systems. J. Parallel Distributed Comput., 140:37-51, 2020. URL: https://doi.org/10.1016/j.jpdc.2020.02.008.
  18. Ajay D. Kshemkalyani and Mukesh Singhal. Distributed Computing: Principles, Algorithms, and Systems. Cambridge University Press, 2011. URL: https://doi.org/10.1017/CBO9780511805318.
  19. Sandeep S. Kulkarni, Murat Demirbas, Deepak Madappa, Bharadwaj Avva, and Marcelo Leone. Logical physical clocks. In Proc. 18th International Conference on Principles of Distributed Systems, OPODIS, pages 17-32, 2014. URL: https://doi.org/10.1007/978-3-319-14472-6_2.
  20. Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7, pages 558-565, 1978. Google Scholar
  21. Leslie Lamport, Robert E. Shostak, and Marshall C. Pease. The byzantine generals problem. ACM Trans. Program. Lang. Syst., 4(3):382-401, 1982. URL: https://doi.org/10.1145/357172.357176.
  22. Friedemann Mattern. Virtual time and global states of distributed systems. In Parallel and Distributed Algorithms, pages 215-226. North-Holland, 1988. Google Scholar
  23. Anshuman Misra and Ajay D. Kshemkalyani. The bloom clock for causality testing. In Diganta Goswami and Truong Anh Hoang, editors, Proc. 17th International Conference on Distributed Computing and Internet Technology, volume 12582 of Lecture Notes in Computer Science, pages 3-23. Springer, 2021. URL: https://doi.org/10.1007/978-3-030-65621-8_1.
  24. Anshuman Misra and Ajay D. Kshemkalyani. Causal ordering in the presence of byzantine processes. In 28th IEEE International Conference on Parallel and Distributed Systems (ICPADS), 2022. URL: https://doi.org/10.1109/ICPADS56603.2022.00025.
  25. Anshuman Misra and Ajay D. Kshemkalyani. Detecting causality in the presence of byzantine processes: There is no holy grail. In 21st IEEE International Symposium on Network Computing and Applications (NCA), pages 73-80, 2022. URL: https://doi.org/10.1109/NCA57778.2022.10013644.
  26. Anshuman Misra and Ajay D. Kshemkalyani. Solvability of byzantine fault-tolerant causal ordering problems. In Mohammed-Amine Koulali and Mira Mezini, editors, Networked Systems, pages 87-103, Cham, 2022. Springer International Publishing. URL: https://doi.org/10.1007/978-3-031-17436-0_7.
  27. Anshuman Misra and Ajay D. Kshemkalyani. Byzantine fault-tolerant causal ordering. In 24th International Conference on Distributed Computing and Networking (ICDCN), pages 100-109, 2023. URL: https://doi.org/10.1145/3571306.3571395.
  28. Marshall C. Pease, Robert E. Shostak, and Leslie Lamport. Reaching agreement in the presence of faults. J. ACM, 27(2):228-234, 1980. URL: https://doi.org/10.1145/322186.322188.
  29. Tommaso Pozzetti and Ajay D. Kshemkalyani. Resettable encoded vector clock for causality analysis with an application to dynamic race detection. IEEE Trans. Parallel Distributed Syst., 32(4):772-785, 2021. URL: https://doi.org/10.1109/TPDS.2020.3032293.
  30. Nuno M. Preguiça, Carlos Baquero, Paulo Sérgio Almeida, Victor Fonte, and Ricardo Gonçalves. Brief announcement: efficient causality tracking in distributed storage systems with dotted version vectors. In ACM Symposium on Principles of Distributed Computing, PODC, pages 335-336, 2012. URL: https://doi.org/10.1145/2332432.2332497.
  31. Fred B. Schneider. Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Comput. Surv., 22(4):299-319, 1990. URL: https://doi.org/10.1145/98163.98167.
  32. Reinhard Schwarz and Friedemann Mattern. Detecting causal relationships in distributed computations: In search of the holy grail. Distributed Comput., 7(3):149-174, 1994. URL: https://doi.org/10.1007/BF02277859.
  33. Mukesh Singhal and Ajay D. Kshemkalyani. An efficient implementation of vector clocks. Inf. Process. Lett., 43(1):47-52, 1992. URL: https://doi.org/10.1016/0020-0190(92)90028-T.
  34. Francisco J. Torres-Rojas and Mustaque Ahamad. Plausible clocks: Constant size logical clocks for distributed systems. Distributed Computing, 12(4):179-195, 1999. URL: https://doi.org/10.1007/s004460050065.
  35. Paul A. S. Ward and David J. Taylor. A hierarchical cluster algorithm for dynamic, centralized timestamps. In Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS 2001), pages 585-593, 2001. URL: https://doi.org/10.1109/ICDSC.2001.918989.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail