Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
162 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Process-Commutative Distributed Objects: From Cryptocurrencies to Byzantine-Fault-Tolerant CRDTs (2311.13936v2)

Published 23 Nov 2023 in cs.DC

Abstract: This paper explores the territory that lies between best-effort Byzantine-Fault-Tolerant Conflict-free Replicated Data Types (BFT CRDTs) and totally ordered distributed ledgers, such as those implemented by Blockchains. It formally characterizes a novel class of distributed objects that only requires a First In First Out (FIFO) order on the object operations from each process (taken individually). The formalization leverages Mazurkiewicz traces to define legal sequences of operations and ensure both Strong Eventual Consistency (SEC) and Pipleline Consistency (PC). The paper presents a generic algorithm that implements this novel class of distributed objects both in a crash- and Byzantine setting. It also illustrates the practical interest of the proposed approach using four instances of this class of objects, namely money transfer, Petri nets, multi-sets, and concurrent work stealing dequeues.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (71)
  1. “Causal Memory: Definitions, Implementation, and Programming” In Distributed Comput. 9.1, 1995, pp. 37–49
  2. “Laws of order: expensive synchronization in concurrent algorithms cannot be eliminated” In SIGPLAN Symposium on Principles and Practice of Parallel Programming (POPL) ACM, 2011, pp. 487–498
  3. “Money Transfer Made Simple” In Bulletin of Association for Theoretical Computer Science (BEATCS) 132, 2020 URL: https://hal.archives-ouvertes.fr/hal-02861511
  4. “Merkle Search Trees: Efficient State-Based CRDTs in Open Networks” In 38th IEEE International Symposium on Reliable Distributed Systems (SRDS) IEEE, 2019, pp. 1–10
  5. “Designing an integrated blockchain-enabled supply chain network under uncertainty” In Scientific Reports 13.3928 Nature, 2023
  6. Mathieu Baudet, George Danezis and Alberto Sonnino “FastPay: High-Performance Byzantine Fault Tolerant Settlement” In ACM Advances in Financial Technologies (AFT) ACM, 2020, pp. 163–177
  7. Michael Ben-Or “Another Advantage of Free Choice (Extended Abstract): Completely Asynchronous Agreement Protocols” In ACM Symposium on Principles of Distributed Computing (PODC), 1983, pp. 27–30
  8. Robert D. Blumofe and Charles E. Leiserson “Scheduling Multithreaded Computations by Work Stealing” In Journal of the ACM 46.5, 1999, pp. 720–748 DOI: 10.1145/324133.324234
  9. Gabriel Bracha “Asynchronous Byzantine agreement protocols” In Information and Computation 75.2 Elsevier, 1987, pp. 130–143
  10. “Setchain: Improving Blockchain Scalability with Byzantine Distributed Sets and Barriers” In Blockchain IEEE, 2022, pp. 87–96
  11. “Byzantine Fault Tolerance for Services with Commutative Operations” In IEEE International Conference on Services Computing (SCC) IEEE, 2014, pp. 219–226
  12. “Byzantine-Tolerant Distributed Grow-Only Sets: Specification and Applications” In International Symposium on Foundations and Applications of Blockchain (FAB) 92, OASIcs Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2021, pp. 2:1–2:19
  13. “Online Payments by Merely Broadcasting Messages” In International Conference on Dependable Systems and Networks (DSN) IEEE, 2020, pp. 26–38
  14. Tyler Crain, Christopher Natoli and Vincent Gramoli “Red Belly: A Secure, Fair and Scalable Open Blockchain” In IEEE Symposium on Security and Privacy (S&P) IEEE, 2021, pp. 466–483
  15. “Narwhal and Tusk: a DAG-based mempool and efficient BFT consensus” In Annual EuroSys Conference (EuroSys) ACM, 2022, pp. 34–50
  16. Alex De Vries “Cryptocurrencies on the road to sustainability: Ethereum paving the way for Bitcoin” In Patterns 4.1, 2023, pp. 100633
  17. “Dynamo: amazon’s highly available key-value store” In ACM Symposium on Operating Systems Principle (SOSP) ACM, 2007, pp. 205–220
  18. “Epidemic Algorithms for Replicated Database Maintenance” In ACM Symposium on Principles of Distributed Computing (PODC), 1987
  19. “Deterministic Asynchronous Automata for Infinite Traces” In Acta Informatica 31.4, 1994, pp. 379–397
  20. “Trace Theory” In Encyclopedia of Parallel Computing Springer, 2011, pp. 2071–2079
  21. “The Book of Traces” World Scientific, 1995
  22. “Scalable work stealing” In ACM/IEEE Conference on High Performance Computing (SC) ACM, 2009
  23. “The Weakest Failure Detector for Eventual Consistency” In ACM Symposium on Principles of Distributed Computing (PODC) ACM, 2015, pp. 375–384
  24. Cynthia Dwork, Nancy A. Lynch and Larry J. Stockmeyer “Consensus in the presence of partial synchrony” In Journal of the ACM 35.2, 1988, pp. 288–323
  25. “Efficient Synchronization of State-Based CRDTs” In IEEE International Conference on Data Engineering (ICDE) IEEE, 2019, pp. 148–159
  26. “Ethereum” accessed 9 October 2023, https://ethereum.org/
  27. Michael J. Fischer, Nancy A. Lynch and Mike Paterson “Impossibility of Distributed Consensus with One Faulty Process” In Journal of the ACM, 1985 DOI: 10.1145/3149.214121
  28. Davide Frey, Mathieu Gestin and Michel Raynal “The Synchronization Power (Consensus Number) of Access-Control Objects: The Case of AllowList and DenyList” In International Conference on Distributed Computing (DISC), 2023
  29. “Consensus-Free Ledgers When Operations of Distinct Processes are Commutative (Invited Paper)” In International Conference on Parallel Computing Technologies (PaCT), Springer LNCS 12942, 2021, pp. 359–370 DOI: 10.1007/978-3-030-86359-3“˙27
  30. Roy Friedman, Michel Raynal and François Taïani “Fisheye Consistency: Keeping Data in Synch in a Georeplicated World” In International Conference on Networked Systems (NETYS) 9466, Lecture Notes in Computer Science Springer, 2015, pp. 246–262
  31. “Scaling Blockchain Consensus via a Robust Shared Mempool” In IEEE International Conference on Data Engineering (ICDE) IEEE, 2023, pp. 530–543
  32. Juan A. Garay, Aggelos Kiayias and Nikos Leonardos “The Bitcoin Backbone Protocol: Analysis and Applications” In Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT) (2) 9057, Lecture Notes in Computer Science Springer, 2015, pp. 281–310
  33. “Algorand: Scaling byzantine agreements for cryptocurrencies” In ACM Symposium on Operating Systems Principles (SOSP), 2017, pp. 51–68
  34. “Perspectives on the CAP Theorem” In Computer, 2012
  35. “’Cause I’m strong enough: reasoning about consistency choices in distributed systems” In SIGPLAN Symposium on Principles and Practice of Parallel Programming (POPL) ACM, 2016, pp. 371–384
  36. “The consensus number of cryptocurrency” In Distributed Computing 35.1, 2022, pp. 1–15
  37. Danny Hendler, Yossi Lev and Nir Shavit “Dynamic memory ABP work-stealing” In International Conference on Distributed Computing (DISC), 2004, pp. 188–200
  38. Maurice Herlihy “Wait-Free Synchronization” In ACM Trans. Program. Lang. Syst. 13.1, 1991, pp. 124–149
  39. Maurice Herlihy and Jeannette M. Wing “Linearizability: A Correctness Condition for Concurrent Objects” In ACM Trans. Program. Lang. Syst. 12.3, 1990, pp. 463–492
  40. “Hyperledger” accessed 9 October 2023, https://hyperledger.org/
  41. Florian Jacob, Saskia Bayreuther and Hannes Hartenstein “On CRDTs in Byzantine Environments” In Sicherheit P-323, LNI Gesellschaft für Informatik, Bonn, 2022, pp. 113–126
  42. “Rover: A Toolkit for Mobile Information Access” In ACM Symposium on Operating Systems Principle (SOSP) ACM, 1995, pp. 156–171
  43. Martin Kleppmann “Making CRDTs Byzantine fault tolerant” In Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC@EuroSys) ACM, 2022, pp. 8–15
  44. Tsung-Ting Kuo, Hyeon-Eui Kim and Lucila Ohno-Machado “Blockchain distributed ledger technologies for biomedical and health care applications” In Journal of the American Medical Informatics Association 24.6 Oxford University Press, 2017, pp. 1211–1220
  45. Leslie Lamport, Robert Shostak and Marshall Pease “The Byzantine Generals Problem” In ACM Transactions on Programming Languages and Systems 4, 1982, pp. 382–401
  46. Erick Lavoie “GOC-Ledger: State-based Conflict-Free Replicated Ledger from Grow-Only Counters” In CoRR abs/2305.16976, 2023
  47. Richard J Lipton and Jonathan S Sandberg “PRAM: A scalable shared memory”, 1988
  48. A Mazurkiewicz “Trace Theory” In Advances in Petri Nets 1986, Part II on Petri Nets: Applications and Relationships to Other Models of Concurrency Bad Honnef: Springer-Verlag, 1987, pp. 279–324
  49. Maged M. Michael, Martin T. Vechev and Vijay A. Saraswat “Idempotent work stealing” In SIGPLAN Symposium on Principles and Practice of Parallel Programming (POPL), 2009, pp. 45–54
  50. Achour Mostéfaoui, Hamouma Moumen and Michel Raynal “Signature-Free Asynchronous Binary Byzantine Consensus with t <<< n/3, O(n2) Messages, and O(1) Expected Time” In Journal of the ACM, 2015 DOI: 10.1145/2785953
  51. Anca Muscholl “Über die Erkennbarkeit unendlicher Spuren”, 1994
  52. “Sovrin network for decentralized digital identity: Analysing a self-sovereign identity system based on distributed ledger technology” In 2021 IEEE International Symposium on Systems Engineering (ISSE), 2021, pp. 1–7 IEEE
  53. Satoshi Nakamoto “Bitcoin: A peer-to-peer electronic cash system”, 2008 URL: https://bitcoin.org/bitcoin.pdf
  54. Pezhman Nasirifard, Ruben Mayer and Hans-Arno Jacobsen “OrderlessChain: A CRDT-based BFT Coordination-free Blockchain Without Global Order of Transactions” In International Middleware Conference (Middleware) ACM, 2023
  55. “LSEQ: an adaptive structure for sequences in distributed collaborative editing” In ACM Symposium on Document Engineering (DocEng) ACM, 2013, pp. 37–46
  56. “Data consistency for P2P collaborative editing” In CSCW ACM, 2006, pp. 259–268
  57. M.R. Pease, R. Shostak and L. Lamport “Reaching agreement in the presence of faults” In Journal of the ACM, 1980, pp. 27:228–234
  58. Matthieu Perrin “Distributed Systems: Concurrency and Consistency” London/Oxford, GBR: ISTE Press - Elsevier, 2017
  59. Matthieu Perrin, Achour Mostéfaoui and Claude Jard “Causal consistency: beyond memory” In PPoPP ACM, 2016, pp. 26:1–26:12
  60. Matthieu Perrin, Achour Mostéfaoui and Claude Jard “Update Consistency for Wait-Free Concurrent Objects” In IPDPS IEEE Computer Society, 2015, pp. 219–228
  61. “Flexible Update Propagation for Weakly Consistent Replication” In ACM Symposium on Operating Systems Principle (SOSP) ACM, 1997, pp. 288–301
  62. Michael O Rabin “Randomized byzantine generals” In Annual Symposium on Foundations of Computer Science (FOCS), 1983, pp. 403–409
  63. Michel Raynal “Fault-Tolerant Message-Passing Distributed Systems - An Algorithmic Approach” Springer, 2018 DOI: 10.1007/978-3-319-94141-7
  64. “Ripple” accessed 9 October 2023, https://ripple.com/
  65. “A comprehensive study of Convergent and Commutative Replicated Data Types”, 2011, pp. 50 URL: https://inria.hal.science/inria-00555588
  66. “Conflict-Free Replicated Data Types” In International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS) 6976, Lecture Notes in Computer Science Springer, 2011, pp. 386–400
  67. “Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System” In SOSP ACM, 1995, pp. 172–183
  68. “Consistency in Non-Transactional Distributed Storage Systems” In ACM Comput. Surv. 49.1, 2016, pp. 19:1–19:34
  69. Stephane Weiss, Pascal Urso and Pascal Molli “Logoot: a scalable optimistic replication algorithm for collaborative editing on P2P networks” In International Conference on Distributed Computing Systems (ICDCS), 2009, pp. 404–412 IEEE
  70. World Food Programme “Building Blocks” accessed 18 October 2023, https://www.wfp.org/building-blocks
  71. Wieslaw Zielonka “Safe Executions of Recognizable Trace Languages by Asynchronous Automata” In Logic at Botik 363, Lecture Notes in Computer Science Springer, 1989, pp. 278–289

Summary

We haven't generated a summary for this paper yet.