Security Analysis of Ripple Consensus

Authors Ignacio Amores-Sesar , Christian Cachin , Jovana Mićić



PDF
Thumbnail PDF

File

LIPIcs.OPODIS.2020.10.pdf
  • Filesize: 1.09 MB
  • 16 pages

Document Identifiers

Author Details

Ignacio Amores-Sesar
  • University of Bern, Switzerland
Christian Cachin
  • University of Bern, Switzerland
Jovana Mićić
  • University of Bern, Switzerland

Cite AsGet BibTex

Ignacio Amores-Sesar, Christian Cachin, and Jovana Mićić. Security Analysis of Ripple Consensus. In 24th International Conference on Principles of Distributed Systems (OPODIS 2020). Leibniz International Proceedings in Informatics (LIPIcs), Volume 184, pp. 10:1-10:16, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021)
https://doi.org/10.4230/LIPIcs.OPODIS.2020.10

Abstract

The Ripple network is one of the most prominent blockchain platforms and its native XRP token currently has one of the highest cryptocurrency market capitalizations. The Ripple consensus protocol powers this network and is generally considered to a Byzantine fault-tolerant agreement protocol, which can reach consensus in the presence of faulty or malicious nodes. In contrast to traditional Byzantine agreement protocols, there is no global knowledge of all participating nodes in Ripple consensus; instead, each node declares a list of other nodes that it trusts and from which it considers votes. Previous work has brought up concerns about the liveness and safety of the consensus protocol under the general assumptions stated initially by Ripple, and there is currently no appropriate understanding of its workings and its properties in the literature. This paper closes this gap and makes two contributions. It first provides a detailed, abstract description of the protocol, which has been derived from the source code. Second, the paper points out that the abstract protocol may violate safety and liveness in several simple executions under relatively benign network assumptions.

Subject Classification

ACM Subject Classification
  • Theory of computation → Cryptographic protocols
  • Software and its engineering → Distributed systems organizing principles
Keywords
  • Ripple
  • Blockchain
  • Quorums
  • Consensus

Metrics

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

References

  1. Bowen Alpern and Fred B. Schneider. Defining liveness. Inf. Process. Lett., 21(4):181-185, 1985. URL: https://doi.org/10.1016/0020-0190(85)90056-0.
  2. Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, Srinivasan Muralidharan, Chet Murthy, Binh Nguyen, Manish Sethi, Gari Singh, Keith Smith, Alessandro Sorniotti, Chrysoula Stathakopoulou, Marko Vukolic, Sharon Weed Cocco, and Jason Yellick. Hyperledger fabric: a distributed operating system for permissioned blockchains. In Rui Oliveira, Pascal Felber, and Y. Charlie Hu, editors, Proceedings of the Thirteenth EuroSys Conference, EuroSys 2018, Porto, Portugal, April 23-26, 2018, pages 30:1-30:15. ACM, 2018. URL: https://doi.org/10.1145/3190508.3190538.
  3. Frederik Armknecht, Ghassan O. Karame, Avikarsha Mandal, Franck Youssef, and Erik Zenner. Ripple: Overview and outlook. In Mauro Conti, Matthias Schunter, and Ioannis G. Askoxylakis, editors, Trust and Trustworthy Computing - 8th International Conference, TRUST 2015, Heraklion, Greece, August 24-26, 2015, Proceedings, volume 9229 of Lecture Notes in Computer Science, pages 163-180. Springer, 2015. URL: https://doi.org/10.1007/978-3-319-22846-4_10.
  4. Ethan Buchman, Jae Kwon, and Zarko Milosevic. The latest gossip on BFT consensus. CoRR, abs/1807.04938, 2018. URL: http://arxiv.org/abs/1807.04938.
  5. Christian Cachin, Rachid Guerraoui, and Luís E. T. Rodrigues. Introduction to Reliable and Secure Distributed Programming (2. ed.). Springer, 2011. URL: https://doi.org/10.1007/978-3-642-15260-3.
  6. Christian Cachin and Björn Tackmann. Asymmetric distributed trust. In Pascal Felber, Roy Friedman, Seth Gilbert, and Avery Miller, editors, 23rd International Conference on Principles of Distributed Systems, OPODIS 2019, December 17-19, 2019, Neuchâtel, Switzerland, volume 153 of LIPIcs, pages 7:1-7:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019. URL: https://doi.org/10.4230/LIPIcs.OPODIS.2019.7.
  7. Christian Cachin and Marko Vukolic. Blockchain consensus protocols in the wild (keynote talk). In Andréa W. Richa, editor, 31st International Symposium on Distributed Computing, DISC 2017, October 16-20, 2017, Vienna, Austria, volume 91 of LIPIcs, pages 1:1-1:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2017. URL: https://doi.org/10.4230/LIPIcs.DISC.2017.1.
  8. Miguel Castro and Barbara Liskov. Practical byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst., 20(4):398-461, 2002. URL: https://doi.org/10.1145/571637.571640.
  9. Bernadette Charron-Bost, Fernando Pedone, and André Schiper, editors. Replication: Theory and Practice, volume 5959 of Lecture Notes in Computer Science. Springer, 2010. URL: https://doi.org/10.1007/978-3-642-11294-2.
  10. Brad Chase and Ethan MacBrough. Analysis of the XRP ledger consensus protocol. CoRR, abs/1802.07242, 2018. URL: http://arxiv.org/abs/1802.07242.
  11. Klitos Christodoulou, Elias Iosif, Antonios Inglezakis, and Marinos Themistocleous. Consensus crash testing: Exploring ripple’s decentralization degree in adversarial environments. Future Internet, 12(3):53, 2020. URL: https://doi.org/10.3390/fi12030053.
  12. 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.
  13. Guy Golan-Gueta, Ittai Abraham, Shelly Grossman, Dahlia Malkhi, Benny Pinkas, Michael K. Reiter, Dragos-Adrian Seredinschi, Orr Tamir, and Alin Tomescu. SBFT: A scalable and decentralized trust infrastructure. In 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2019, Portland, OR, USA, June 24-27, 2019, pages 568-580. IEEE, 2019. URL: https://doi.org/10.1109/DSN.2019.00063.
  14. Vassos Hadzilacos and Sam Toueg. Fault-tolerant broadcasts and related problems. In Sape J. Mullender, editor, Distributed Systems (2nd Ed.). ACM Press & Addison-Wesley, New York, 1993. Google Scholar
  15. 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.
  16. LibraBFT Team. State machine replication in the Libra blockchain. Technical report, 2020. URL: https://developers.libra.org/docs/state-machine-replication-paper.
  17. Giuliano Losa, Eli Gafni, and David Mazières. Stellar consensus by instantiation. In Jukka Suomela, editor, 33rd International Symposium on Distributed Computing, DISC 2019, October 14-18, 2019, Budapest, Hungary, volume 146 of LIPIcs, pages 27:1-27:15. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019. URL: https://doi.org/10.4230/LIPIcs.DISC.2019.27.
  18. Adriano Di Luzio, Alessandro Mei, and Julinda Stefa. Consensus robustness and transaction de-anonymization in the ripple currency exchange system. In Kisung Lee and Ling Liu, editors, 37th IEEE International Conference on Distributed Computing Systems, ICDCS 2017, Atlanta, GA, USA, June 5-8, 2017, pages 140-150. IEEE Computer Society, 2017. URL: https://doi.org/10.1109/ICDCS.2017.52.
  19. Lara Mauri, Stelvio Cimato, and Ernesto Damiani. A formal approach for the analysis of the XRP ledger consensus protocol. In Steven Furnell, Paolo Mori, Edgar R. Weippl, and Olivier Camp, editors, Proceedings of the 6th International Conference on Information Systems Security and Privacy, ICISSP 2020, Valletta, Malta, February 25-27, 2020, pages 52-63. SCITEPRESS, 2020. URL: https://doi.org/10.5220/0008954200520063.
  20. Pedro Moreno-Sanchez, Navin Modi, Raghuvir Songhela, Aniket Kate, and Sonia Fahmy. Mind your credit: Assessing the health of the ripple credit network. In Pierre-Antoine Champin, Fabien L. Gandon, Mounia Lalmas, and Panagiotis G. Ipeirotis, editors, Proceedings of the 2018 World Wide Web Conference on World Wide Web, WWW 2018, Lyon, France, April 23-27, 2018, pages 329-338. ACM, 2018. URL: https://doi.org/10.1145/3178876.3186099.
  21. Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. Whitepaper, 2009. URL: http://bitcoin.org/bitcoin.pdf.
  22. 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.
  23. Ripple Labs. Ripple 1.4.0. URL: https://github.com/ripple/rippled/releases/tag/1.4.0.
  24. Ripple Labs. XRP Ledger Documentation > Concepts > Introduction > XRP Ledger Overview. Available online, URL: https://xrpl.org/xrp-ledger-overview.html.
  25. Ripple Labs. XRP Ledger Documentation > Concepts > Consensus Network > Consensus. Available online, https://xrpl.org/consensus.html, 2020.
  26. 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.
  27. David Schwartz, Noah Youngs, and Arthur Britto. The Ripple protocol consensus algorithm. Ripple Labs Inc., available online, https://ripple.com/files/ripple_consensus_whitepaper.pdf, 2014.
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