Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2019 Publication History
  • Get Citation Alerts
  • 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).
    [2]
    2018. Istanbul BFT's Design Cannot Successfully Tolerate Fail-Stop Failures.https://github.com/jpmorganchase/quorum/issues/305. (2018).
    [3]
    2018. A Livelock Bug in the Presence of Byzantine Validator. https://github.com/tendermint/tendermint/issues/1047. (2018)
    [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.01367
    [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.10022
    [6]
    Ittai Abraham and Dahlia Malkhi. 2017. The Blockchain Consensus Layer and BFT . Bulletin of the EATCS, Vol. 123 (2017).
    [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.
    [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 .
    [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.
    [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.
    [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.
    [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.
    [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.
    [14]
    Dan Boneh, Ben Lynn, and Hovav Shacham. 2004. Short Signatures from the Weil Pairing. J. Cryptology, Vol. 17, 4 (2004), 297--319.
    [15]
    Ethan Buchman. 2016. Tendermint: Byzantine fault tolerance in the age of blockchains. Ph.D. Dissertation.
    [16]
    Ethan Buchman, Jae Kwon, and Zarko Milosevic. 2018. The Latest Gossip on BFT Consensus. CoRR, Vol. abs/1807.04938 (2018). arxiv: 1807.04938
    [17]
    Vitalik Buterin and Virgil Griffith. 2017. Casper the Friendly Finality Gadget. CoRR, Vol. abs/1710.09437 (2017). arxiv: 1710.09437
    [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.
    [19]
    Christian Cachin and Marko Vukolic. 2017. Blockchain Consensus Protocols in the Wild. CoRR, Vol. abs/1707.01873 (2017). arxiv: 1707.01873
    [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
    [21]
    Miguel Castro and Barbara Liskov. 2002 Practical Byzantine Fault Tolerance and Proactive Recovery. ACM Trans. Comput. Syst., Vol. 20, 4 (2002), 398--461.
    [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.
    [23]
    Danny Dolev and Rü diger Reischuk. 1985. Bounds on Information Exchange for Byzantine Agreement. J. ACM, Vol. 32, 1 (1985), 191--204.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.01626
    [31]
    Timo Hanke, Mahnush Movahedi, and Dominic Williams. 2018. DFINITY Technology Overview Series, Consensus System. CoRR, Vol. abs/1805.04548 (2018). arxiv: 1805.04548
    [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.
    [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).
    [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.
    [35]
    Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, Vol. 21, 7 (1978), 558--565.
    [36]
    Leslie Lamport. 1998. The Part-Time Parliament. ACM Trans. Comput. Syst., Vol. 16, 2 (1998), 133--169.
    [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.
    [38]
    James Mickens. 2014. The Saddest Moment.;login:, Vol. 39, 3 (2014). https://www.usenix.org/publications/login/june14/mickens
    [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.
    [40]
    Satoshi Nakamoto. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf. (2008).
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [50]
    HotStuff: BFT Consensus in the Lens of Blockchain. CoRR Vol. abs/1803.05069 (2018). arxiv: 1803.05069

    Cited By

    View all
    • (2024)BAR Nash Equilibrium and Application to Blockchain DesignProceedings of the 23rd International Conference on Autonomous Agents and Multiagent Systems10.5555/3635637.3663185(2435-2437)Online publication date: 6-May-2024
    • (2024)Using the Blockchain to Reduce Carbon Emissions in the Visitor EconomySustainability10.3390/su1610400016:10(4000)Online publication date: 10-May-2024
    • (2024)RHCA: Robust HCA via Consistent RevotingMathematics10.3390/math1204059312:4(593)Online publication date: 17-Feb-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 16 July 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. blockchain
    2. byzantine fault tolerance
    3. consensus
    4. responsiveness
    5. scalability

    Qualifiers

    • Research-article

    Conference

    PODC '19
    Sponsor:
    PODC '19: ACM Symposium on Principles of Distributed Computing
    July 29 - August 2, 2019
    Toronto ON, Canada

    Acceptance Rates

    PODC '19 Paper Acceptance Rate 48 of 173 submissions, 28%;
    Overall Acceptance Rate 740 of 2,477 submissions, 30%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2,851
    • Downloads (Last 6 weeks)300

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)BAR Nash Equilibrium and Application to Blockchain DesignProceedings of the 23rd International Conference on Autonomous Agents and Multiagent Systems10.5555/3635637.3663185(2435-2437)Online publication date: 6-May-2024
    • (2024)Using the Blockchain to Reduce Carbon Emissions in the Visitor EconomySustainability10.3390/su1610400016:10(4000)Online publication date: 10-May-2024
    • (2024)RHCA: Robust HCA via Consistent RevotingMathematics10.3390/math1204059312:4(593)Online publication date: 17-Feb-2024
    • (2024)PnV: An Efficient Parallel Consensus Protocol Integrating Proof and VotingApplied Sciences10.3390/app1408351014:8(3510)Online publication date: 22-Apr-2024
    • (2024)Towards Full Stack Adaptivity in Permissioned BlockchainsProceedings of the VLDB Endowment10.14778/3641204.364121617:5(1073-1080)Online publication date: 1-Jan-2024
    • (2024)CG-PBFT: an efficient PBFT algorithm based on credit groupingJournal of Cloud Computing10.1186/s13677-024-00643-713:1Online publication date: 25-Mar-2024
    • (2024)Swiper: a new paradigm for efficient weighted distributed protocolsProceedings of the 43rd ACM Symposium on Principles of Distributed Computing10.1145/3662158.3662799(283-294)Online publication date: 17-Jun-2024
    • (2024)DARE to Agree: Byzantine Agreement With Optimal Resilience and Adaptive CommunicationProceedings of the 43rd ACM Symposium on Principles of Distributed Computing10.1145/3662158.3662792(145-156)Online publication date: 17-Jun-2024
    • (2024)Lumiere: Making Optimal BFT for Partial Synchrony PracticalProceedings of the 43rd ACM Symposium on Principles of Distributed Computing10.1145/3662158.3662787(135-144)Online publication date: 17-Jun-2024
    • (2024)TetraBFT: Reducing Latency of Unauthenticated, Responsive BFT ConsensusProceedings of the 43rd ACM Symposium on Principles of Distributed Computing10.1145/3662158.3662783(257-267)Online publication date: 17-Jun-2024
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media