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.
- 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 Scholar
- 2018. Istanbul BFT's Design Cannot Successfully Tolerate Fail-Stop Failures.https://github.com/jpmorganchase/quorum/issues/305. (2018).Google Scholar
- 2018. A Livelock Bug in the Presence of Byzantine Validator. https://github.com/tendermint/tendermint/issues/1047. (2018)Google Scholar
- 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 Scholar
- 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 Scholar
- Ittai Abraham and Dahlia Malkhi. 2017. The Blockchain Consensus Layer and BFT . Bulletin of the EATCS, Vol. 123 (2017).Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Dan Boneh, Ben Lynn, and Hovav Shacham. 2004. Short Signatures from the Weil Pairing. J. Cryptology, Vol. 17, 4 (2004), 297--319. Google ScholarDigital Library
- Ethan Buchman. 2016. Tendermint: Byzantine fault tolerance in the age of blockchains. Ph.D. Dissertation.Google Scholar
- Ethan Buchman, Jae Kwon, and Zarko Milosevic. 2018. The Latest Gossip on BFT Consensus. CoRR, Vol. abs/1807.04938 (2018). arxiv: 1807.04938Google Scholar
- Vitalik Buterin and Virgil Griffith. 2017. Casper the Friendly Finality Gadget. CoRR, Vol. abs/1710.09437 (2017). arxiv: 1710.09437Google Scholar
- 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 ScholarDigital Library
- Christian Cachin and Marko Vukolic. 2017. Blockchain Consensus Protocols in the Wild. CoRR, Vol. abs/1707.01873 (2017). arxiv: 1707.01873Google Scholar
- 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 ScholarDigital Library
- Miguel Castro and Barbara Liskov. 2002 Practical Byzantine Fault Tolerance and Proactive Recovery. ACM Trans. Comput. Syst., Vol. 20, 4 (2002), 398--461. Google ScholarDigital Library
- 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 ScholarDigital Library
- Danny Dolev and Rü diger Reischuk. 1985. Bounds on Information Exchange for Byzantine Agreement. J. ACM, Vol. 32, 1 (1985), 191--204. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Timo Hanke, Mahnush Movahedi, and Dominic Williams. 2018. DFINITY Technology Overview Series, Consensus System. CoRR, Vol. abs/1805.04548 (2018). arxiv: 1805.04548Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, Vol. 21, 7 (1978), 558--565. Google ScholarDigital Library
- Leslie Lamport. 1998. The Part-Time Parliament. ACM Trans. Comput. Syst., Vol. 16, 2 (1998), 133--169. Google ScholarDigital Library
- 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 ScholarDigital Library
- James Mickens. 2014. The Saddest Moment.;login:, Vol. 39, 3 (2014). https://www.usenix.org/publications/login/june14/mickensGoogle Scholar
- 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 ScholarDigital Library
- Satoshi Nakamoto. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf. (2008).Google Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- HotStuff: BFT Consensus in the Lens of Blockchain. CoRR Vol. abs/1803.05069 (2018). arxiv: 1803.05069Google Scholar
Index Terms
- HotStuff: BFT Consensus with Linearity and Responsiveness
Recommendations
HotDAG: Hybrid Consensus via Sharding in the Permissionless Model
Wireless Algorithms, Systems, and ApplicationsAbstractA major design to improve scalability and performance of blockchain is sharding, which maintains a distributed ledger by running classical Byzantine Fault Tolerance (BFT) protocols through several relatively small committees. However, there are ...
Multi-Threshold Byzantine Fault Tolerance
CCS '21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications SecurityClassic Byzantine fault tolerant (BFT) protocols are designed for a specific timing model, most often one of the following: synchronous, asynchronous or partially synchronous. It is well known that the timing model and fault tolerance threshold present ...
Generalized Consensus for Practical Fault Tolerance
Middleware '19: Proceedings of the 20th International Middleware ConferenceDespite extensive research on Byzantine Fault Tolerant (BFT) systems, overheads associated with such solutions preclude widespread adoption. Past efforts such as the Cross Fault Tolerance (XFT) model address this problem by making a weaker assumption ...
Comments