Advertisement

Dissecting Tendermint

  • Yackolley Amoussou-GuenouEmail author
  • Antonella Del Pozzo
  • Maria Potop-Butucaru
  • Sara Tucci-Piergiovanni
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11704)

Abstract

In this paper we analyze Tendermint, proposed in [12], one of the most popular blockchains based on PBFT Consensus. Our methodology consists in identifying the algorithmic principles of Tendermint necessary for a specific system model. The current paper dissects Tendermint under two communication models: synchronous and eventually synchronous ones. This methodology allowed to identify bugs in preliminary versions of the protocol and to prove its correctness under the most adversarial conditions: an eventually synchronous communication model under Byzantine faults. The message complexity of Tendermint is \(O(n^3)\).

Keywords

BFT Consensus Blockchain Tendermint Complexity 

Notes

Acknowledgment

The authors would like to thank the reviewers of NETYS 2019 for their insightful comments. The authors also thank Zaynah Dargaye for numerous discussions, and in particular for the consistency of this work.

References

  1. 1.
  2. 2.
    Abraham, I., Gueta, G., Malkhi, D.: Hot-stuff the linear, optimal-resilience, one-message BFT devil. CoRR abs/1803.05069 (2018). http://arxiv.org/abs/1803.05069
  3. 3.
    Abraham, I., Malkhi, D., Nayak, K., Ren, L., Spiegelman, A.: Solidus: An incentive-compatible cryptocurrency based on permissionless byzantine consensus. CoRR, abs/1612.02916 (2016)Google Scholar
  4. 4.
    Aguilera, M.K.: A pleasant stroll through the land of infinitely many creatures. ACM Sigact News 35(2), 36–59 (2004)CrossRefGoogle Scholar
  5. 5.
    Amoussou-Guenou, Y., Del Pozzo, A., Potop-Butucaru, M., Tucci-Piergiovanni, S.: Correctness and Fairness of Tendermint-core Blockchains. CoRR abs/1805.08429 (2018)Google Scholar
  6. 6.
    Amoussou-Guenou, Y., Del Pozzo, A., Potop-Butucaru, M., Tucci-Piergiovanni, S.: Correctness of tendermint-core blockchains. In: 22nd International Conference on Principles of Distributed Systems, OPODIS 2018, 17–19 December 2018, Hong Kong, China. pp. 16:1–16:16 (2018)Google Scholar
  7. 7.
    Amoussou-Guenou, Y., Del Pozzo, A., Potop-Butucaru, M., Tucci-Piergiovanni, S.: Dissecting Tendermint. Research report, LIP6, Sorbonne Université, CNRS, UMR 7606; CEA List (2018). https://hal.archives-ouvertes.fr/hal-01881212v2
  8. 8.
    Anceaume, E., Del Pozzo, A., Ludinard, R., Potop-Butucaru, M., Tucci-Piergiovanni, S.: Blockchain abstract data type. In: SPAA 2019 (2019, to appear)Google Scholar
  9. 9.
    Androulaki, E., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: Proceedings of the Thirteenth EuroSys Conference, EuroSys 2018, Porto, Portugal, 23–26 April 2018, pp. 30:1–30:15 (2018)Google Scholar
  10. 10.
    Baldoni, R., Bertier, M., Raynal, M., Tucci-Piergiovanni, S.: Looking for a definition of dynamic distributed systems. In: Malyshkin, V. (ed.) PaCT 2007. LNCS, vol. 4671, pp. 1–14. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-73940-1_1CrossRefGoogle Scholar
  11. 11.
    Ben-Or, M.: Another advantage of free choice (extended abstract): completely asynchronous agreement protocols. In: Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, pp. 27–30. ACM (1983)Google Scholar
  12. 12.
    Buchman, E., Kwon, J., Milosevic, Z.: The latest gossip on BFT consensus. Technical report, Tendermint (2018). https://arxiv.org/abs/1807.04938
  13. 13.
    Cachin, C., Kursawe, K., Petzold, F., Shoup, V.: Secure and efficient asynchronous broadcast protocols. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 524–541. Springer, Heidelberg (2001).  https://doi.org/10.1007/3-540-44647-8_31CrossRefGoogle Scholar
  14. 14.
    Castro, M., Liskov, B.: Practical byzantine fault tolerance. In: Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI) (1999)Google Scholar
  15. 15.
    Crain, T., Gramoli, V., Larrea, M., Raynal, M.: (Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains (2017). http://csrg.redbellyblockchain.io/doc/ConsensusRedBellyBlockchain.pdf. Accessed 22 May 2018
  16. 16.
    Crain, T., Gramoli, V., Larrea, M., Raynal, M.: DBFT: Efficient byzantine consensus with a weak coordinator and its application to consortium blockchains. arXiv preprint arXiv:1702.03068 (2017)
  17. 17.
    Decker, C., Seidel, J., Wattenhofer, R.: Bitcoin meets strong consistency. In: Proceedings of the 17th International Conference on Distributed Computing and Networking Conference (ICDCN) (2016)Google Scholar
  18. 18.
    Dwork, C., Lynch, N.A., Stockmeyer, L.J.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Dwork, C., Naor, M.: Pricing via processing or combatting junk mail. In: Brickell, E.F. (ed.) CRYPTO 1992. LNCS, vol. 740, pp. 139–147. Springer, Heidelberg (1993).  https://doi.org/10.1007/3-540-48071-4_10CrossRefGoogle Scholar
  20. 20.
    Fischer, M.J., Lynch, N.A.: A lower bound for the time to assure interactive consistency. Inf. Process. Lett. 14(4), 183–186 (1982)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Garay, J.A., Moses, Y.: Fully polynomial byzantine agreement in t+1 rounds. In: Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, 16–18 May 1993, San Diego, CA, USA, pp. 31–41 (1993)Google Scholar
  23. 23.
    Kokoris-Kogias, E., Jovanovic, P., Gailly, N., Khoffi, I., Gasser, L., Ford, B.: Enhancing bitcoin security and performance with strong consistency via collective signing. In: Proceedings of the 25th USENIX Security Symposium (2016)Google Scholar
  24. 24.
    Kowalski, D.R., Mostéfaoui, A.: Synchronous byzantine agreement with nearly a cubic number of communication bits: synchronous byzantine agreement with nearly a cubic number of communication bits. In: ACM Symposium on Principles of Distributed Computing, PODC 2013, Montreal, QC, Canada, 22–24 July 2013, pp. 84–91 (2013)Google Scholar
  25. 25.
    Kwon, J., Buchman, E.: Cosmos: A Network of Distributed Ledgers. https://cosmos.network/resources/whitepaper. Accessed 22 May 2018
  26. 26.
    Kwon, J., Buchman, E.: Tendermint. https://tendermint.readthedocs.io/en/master/specification.html. Accessed 22 May 2018
  27. 27.
    Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Programm. Lang. Syst. 4(3), 382–401 (1982)CrossRefGoogle Scholar
  28. 28.
    Muñoz-Escoí, F.D., de Juan-Marín, R.: On synchrony in dynamic distributed systems. Open Comput. Sci. 8(1), 154–164(2018).  https://doi.org/10.1515/comp-2018-0014CrossRefGoogle Scholar
  29. 29.
    Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (1980)MathSciNetCrossRefGoogle Scholar
  30. 30.
    Tendermint: correctness issues. https://github.com/tendermint/spec/issues. Accessed 24 Sept 2018
  31. 31.
    Tendermint: Tendermint Core (BFT Consensus) in Go. https://github.com/tendermint/tendermint/blob/e88f74bb9bb9edb9c311f256037fcca217b45ab6/consensus/state.go. Accessed 22 May 2018

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Yackolley Amoussou-Guenou
    • 1
    • 2
    Email author
  • Antonella Del Pozzo
    • 1
  • Maria Potop-Butucaru
    • 2
  • Sara Tucci-Piergiovanni
    • 1
  1. 1.CEA LIST, PC 174Gif-sur-YvetteFrance
  2. 2.Sorbonne Université, CNRS, LIP6ParisFrance

Personalised recommendations