Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Making CRDTs Byzantine fault tolerant

Making CRDTs Byzantine fault tolerant

Slides from a talk given at the 9th Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC), Rennes, France, 5 April 2022.
https://papoc-workshop.github.io/2022/
https://martin.kleppmann.com/2022/04/05/bft-crdt-papoc.html
Paper: https://martin.kleppmann.com/papers/bft-crdt-papoc22.pdf

Abstract:

It is often claimed that Conflict-free Replicated Data Types (CRDTs) ensure consistency of replicated data in peer-to-peer systems. However, peer-to-peer systems usually consist of untrusted nodes that may deviate from the specified protocol (i.e. exhibit Byzantine faults), and most existing CRDT algorithms cannot guarantee consistency in the presence of such faults. This paper shows how to adapt existing non-Byzantine CRDT algorithms and make them Byzantine fault-tolerant. The proposed scheme can tolerate any number of Byzantine nodes (making it immune to Sybil attacks), guarantees Strong Eventual Consistency, and requires only modest changes to existing CRDT algorithms.

Martin Kleppmann

April 05, 2022
Tweet

More Decks by Martin Kleppmann

Other Decks in Research

Transcript

  1. View Slide

  2. Thank you to my supporters
    Crowdfunding supporters include: Ably, Adrià Arcarons, Chet Corcos,
    Macrometa, Mintter, David Pollak, Prisma, RelationalAI, SoftwareMill,
    Talent Formation Network, Adam Wiggins
    https://www.patreon.com/martinkl

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. https://martin.kleppmann.com/papers/bft-crdt-papoc22.pdf
    https://automerge.org/
    [email protected]
    https://twitter.com/martinkl
    https://www.patreon.com/martinkl

    View Slide