skip to main content
10.1145/3293611.3331591acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article
Open Access

HotStuff: BFT Consensus with Linearity and Responsiveness

Published:16 July 2019Publication History

ABSTRACT

We present HotStuff, a leader-based Byzantine fault-tolerant replication protocol for the partially synchronous model. Once network communication becomes synchronous, HotStuff enables a correct leader to drive the protocol to consensus at the pace of actual (vs. maximum) network delay--a property called responsiveness---and with communication complexity that is linear in the number of replicas. To our knowledge, HotStuff is the first partially synchronous BFT replication protocol exhibiting these combined properties. Its simplicity enables it to be further pipelined and simplified into a practical, concise protocol for building large-scale replication services.

References

  1. 2017.Casper FFG with One Message Type, and Simpler Fork ChoiceRule. https://ethresear.ch/t/casper-ffg-with-one-message-type-and-simpler-fork-choice-rule/103. (2017).Google ScholarGoogle Scholar
  2. 2018. Istanbul BFT's Design Cannot Successfully Tolerate Fail-Stop Failures.https://github.com/jpmorganchase/quorum/issues/305. (2018).Google ScholarGoogle Scholar
  3. 2018. A Livelock Bug in the Presence of Byzantine Validator. https://github.com/tendermint/tendermint/issues/1047. (2018)Google ScholarGoogle Scholar
  4. Ittai Abraham, Guy Gueta, Dahlia Malkhi, Lorenzo Alvisi, Ramakrishna Kotla, and Jean-Philippe Martin. 2017. Revisiting Fast Practical Byzantine Fault Tolerance. CoRR, Vol. abs/1712.01367 (2017). arxiv: 1712.01367Google ScholarGoogle Scholar
  5. Ittai Abraham, Guy Gueta, Dahlia Malkhi, and Jean-Philippe Martin. 2018. Revisiting Fast Practical Byzantine Fault Tolerance: Thelma, Velma, and Zelma. CoRR, Vol. abs/1801.10022 (2018). arxiv: 1801.10022Google ScholarGoogle Scholar
  6. Ittai Abraham and Dahlia Malkhi. 2017. The Blockchain Consensus Layer and BFT . Bulletin of the EATCS, Vol. 123 (2017).Google ScholarGoogle Scholar
  7. Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Ling Ren, and Alexander Spiegelman. 2017. Solida: A Blockchain Protocol Based on Reconfigurable Byzantine Consensus. In 21st International Conference on Principles of Distributed Systems, OPODIS 2017, Lisbon, Portugal, December 18--20, 2017. 25:1--25:19.Google ScholarGoogle Scholar
  8. Ittai Abraham, Dahlia Malkhi, and Alexander Spiegelman. 2019. Validated Asynchronous Byzantine Agreement with Optimal Resilience and Asymptotically Optimal Time and Word Communication. Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC 2019, Toronto, ON, Canada, July 29-August 2, 2019 .Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Yair Amir, Brian A. Coan, Jonathan Kirsch, and John Lane. 2011. Prime: Byzantine Replication under Attack. IEEE Trans. Dependable Sec. Comput., Vol. 8, 4 (2011), 564--577. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hagit Attiya, Cynthia Dwork, Nancy A. Lynch, and Larry J. Stockmeyer. 1994. Bounds on the Time to Reach Agreement in the Presence of Timing Uncertainty. J. ACM, Vol. 41, 1 (1994), 122--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Pierre-Louis Aublin, Rachid Guerraoui, Nikola Knezevic, Vivien Qué ma, and Marko Vukolic. 2015. The Next 700 BFT Protocols. ACM Trans. Comput. Syst., Vol. 32, 4 (2015), 12:1--12:45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Michael Ben-Or. 1983. Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols (Extended Abstract). In Proceedings of the Second Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal, Quebec, Canada, August 17-19, 1983. 27--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Alysson Neves Bessani, Jo a o Sousa, and Eduardo Ad'i lio Pelinson Alchieri. 2014. State Machine Replication for the Masses with BFT-SMART. In 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2014, Atlanta, GA, USA, June 23-26, 2014. 355--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dan Boneh, Ben Lynn, and Hovav Shacham. 2004. Short Signatures from the Weil Pairing. J. Cryptology, Vol. 17, 4 (2004), 297--319. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ethan Buchman. 2016. Tendermint: Byzantine fault tolerance in the age of blockchains. Ph.D. Dissertation.Google ScholarGoogle Scholar
  16. Ethan Buchman, Jae Kwon, and Zarko Milosevic. 2018. The Latest Gossip on BFT Consensus. CoRR, Vol. abs/1807.04938 (2018). arxiv: 1807.04938Google ScholarGoogle Scholar
  17. Vitalik Buterin and Virgil Griffith. 2017. Casper the Friendly Finality Gadget. CoRR, Vol. abs/1710.09437 (2017). arxiv: 1710.09437Google ScholarGoogle Scholar
  18. Christian Cachin, Klaus Kursawe, and Victor Shoup. 2005. Random Oracles in Constantinople: Practical Asynchronous Byzantine Agreement Using Cryptography. J. Cryptology, Vol. 18, 3 (2005), 219--246. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Christian Cachin and Marko Vukolic. 2017. Blockchain Consensus Protocols in the Wild. CoRR, Vol. abs/1707.01873 (2017). arxiv: 1707.01873Google ScholarGoogle Scholar
  20. Miguel Castro and Barbara Liskov. 1999. Practical Byzantine Fault Tolerance. In Proceedings of the Third USENIX Symposium on Operating Systems Design and Implementation (OSDI), New Orleans, Louisiana, USA, February 22--25, 1999. 173--186. https://dl.acm.org/citation.cfm?id=296824 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Miguel Castro and Barbara Liskov. 2002 Practical Byzantine Fault Tolerance and Proactive Recovery. ACM Trans. Comput. Syst., Vol. 20, 4 (2002), 398--461. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Allen Clement, Manos Kapritsos, Sangmin Lee, Yang Wang, Lorenzo Alvisi, Michael Dahlin, and Taylor Riche. 2009. Upright cluster services. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles 2009, SOSP 2009, Big Sky, Montana, USA, October 11-14, 2009. 277--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Danny Dolev and Rü diger Reischuk. 1985. Bounds on Information Exchange for Byzantine Agreement. J. ACM, Vol. 32, 1 (1985), 191--204. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Danny Dolev and H. Raymond Strong. 1982. Polynomial Algorithms for Multiple Processor Agreement. In Proceedings of the 14th Annual ACM Symposium on Theory of Computing, May 5-7, 1982, San Francisco, California, USA. 401--407. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Cynthia Dwork, Nancy A. Lynch, and Larry J. Stockmeyer. 1988. Consensus in the Presence of Partial Synchrony. J. ACM, Vol. 35, 2 (1988), 288--323. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Ittay Eyal, Adem Efe Gencer, Emin Gü n Sirer, and Robbert van Renesse. 2016. Bitcoin-NG: A Scalable Blockchain Protocol. In 13th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2016, Santa Clara, CA, USA, March 16-18, 2016. 45--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Michael J. Fischer, Nancy A. Lynch, and Mike Paterson. 1985. Impossibility of Distributed Consensus with One Faulty Process. J. ACM, Vol. 32, 2 (1985), 374--382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Juan A. Garay, Aggelos Kiayias, and Nikos Leonardos. 2015. The Bitcoin Backbone Protocol: Analysis and Applications. In Advances in Cryptology - EUROCRYPT 2015 - 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, April 26-30, 2015, Proceedings, Part II. 281--310.Google ScholarGoogle Scholar
  29. Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich. 2017. Algorand: Scaling Byzantine Agreements for Cryptocurrencies. In Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China, October 28-31, 2017. 51--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Guy Golan-Gueta, Ittai Abraham, Shelly Grossman, Dahlia Malkhi, Benny Pinkas, Michael K. Reiter, Dragos-Adrian Seredinschi, Orr Tamir, and Alin Tomescu. 2018. SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains. CoRR, Vol. abs/1804.01626 (2018). arxiv: 1804.01626Google ScholarGoogle Scholar
  31. Timo Hanke, Mahnush Movahedi, and Dominic Williams. 2018. DFINITY Technology Overview Series, Consensus System. CoRR, Vol. abs/1805.04548 (2018). arxiv: 1805.04548Google ScholarGoogle Scholar
  32. Jonathan Katz and Chiu-Yuen Koo. 2009. On Expected Constant-Round Protocols for Byzantine Agreement. J. Comput. Syst. Sci., Vol. 75, 2 (2009), 91--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Eleftherios Kokoris-Kogias, Philipp Jovanovic, Nicolas Gailly, Ismail Khoffi, Linus Gasser, and Bryan Ford. 2016. Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing. CoRR, Vol. abs/1602.06997 (2016).Google ScholarGoogle Scholar
  34. Ramakrishna Kotla, Lorenzo Alvisi, Michael Dahlin, Allen Clement, and Edmund L. Wong. 2009. Zyzzyva: Speculative Byzantine Fault Tolerance. ACM Trans. Comput. Syst., Vol. 27, 4 (2009), 7:1--7:39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, Vol. 21, 7 (1978), 558--565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Leslie Lamport. 1998. The Part-Time Parliament. ACM Trans. Comput. Syst., Vol. 16, 2 (1998), 133--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Leslie Lamport, Robert E. Shostak, and Marshall C. Pease. 1982. The Byzantine Generals Problem. ACM Trans. Program. Lang. Syst., Vol. 4, 3 (1982), 382--401. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. James Mickens. 2014. The Saddest Moment.;login:, Vol. 39, 3 (2014). https://www.usenix.org/publications/login/june14/mickensGoogle ScholarGoogle Scholar
  39. Andrew Miller, Yu Xia, Kyle Croman, Elaine Shi, and Dawn Song. 2016. The Honey Badger of BFT Protocols. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24--28, 2016. 31--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Satoshi Nakamoto. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf. (2008).Google ScholarGoogle Scholar
  41. Rafael Pass, Lior Seeman, and Abhi Shelat. 2017. Analysis of the Blockchain Protocol in Asynchronous Networks. In Advances in Cryptology - EUROCRYPT 2017 - 36th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, France, April 30 - May 4, 2017, Proceedings, Part II. 643--673.Google ScholarGoogle Scholar
  42. Rafael Pass and Elaine Shi. 2018. Thunderella: Blockchains with Optimistic Instant Confirmation. In Advances in Cryptology - EUROCRYPT 2018 - 37th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tel Aviv, Israel, April 29 - May 3, 2018 Proceedings, Part II. 3--33.Google ScholarGoogle Scholar
  43. Marshall C. Pease, Robert E. Shostak, and Leslie Lamport. 1980. Reaching Agreement in the Presence of Faults. J. ACM, Vol. 27, 2 (1980), 228--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. HariGovind V. Ramasamy and Christian Cachin. 2005. Parsimonious Asynchronous Byzantine-Fault-Tolerant Atomic Broadcast. In Principles of Distributed Systems, 9th International Conference, OPODIS 2005, Pisa, Italy, December 12-14, 2005, Revised Selected Papers. 88--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Michael K. Reiter. 1994. The Rampart Toolkit for Building High-Integrity Services. In Theory and Practice in Distributed Systems, International Workshop, Dagstuhl Castle, Germany, September 5-9, 1994, Selected Papers. 99--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Phillip Rogaway and Thomas Shrimpton. 2004. Cryptographic Hash-Function Basics: Definitions, Implications, and Separations for Preimage Resistance, Second-Preimage Resistance, and Collision Resistance. In Fast Software Encryption, 11th International Workshop, FSE 2004, Delhi, India, February 5-7, 2004, Revised Papers (Lecture Notes in Computer Science), Bimal K. Roy and Willi Meier (Eds.), Vol. 3017. Springer, 371--388.Google ScholarGoogle ScholarCross RefCross Ref
  47. Fred B. Schneider. 1990. Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. ACM Comput. Surv., Vol. 22, 4 (1990), 299--319. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Victor Shoup. 2000. Practical Threshold Signatures. In Advances in Cryptology - EUROCRYPT 2000, International Conference on the Theory and Application of Cryptographic Techniques, Bruges, Belgium, May 14-18, 2000, Proceeding. 207--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Yee Jiun Song and Robbert van Renesse. 2008. Bosco: One-Step Byzantine Asynchronous Consensus. Distributed Computing, 22nd International Symposium, DISC 2008, Arcachon, France, September 22--24, 2008. Proceedings. 438--450. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. HotStuff: BFT Consensus in the Lens of Blockchain. CoRR Vol. abs/1803.05069 (2018). arxiv: 1803.05069Google ScholarGoogle Scholar

Index Terms

  1. HotStuff: BFT Consensus with Linearity and Responsiveness

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        PODC '19: Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing
        July 2019
        563 pages
        ISBN:9781450362177
        DOI:10.1145/3293611

        Copyright © 2019 Owner/Author

        This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 16 July 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        PODC '19 Paper Acceptance Rate48of173submissions,28%Overall Acceptance Rate740of2,477submissions,30%

        Upcoming Conference

        PODC '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader