Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

The Next 700 BFT Protocols

Published: 20 January 2015 Publication History

Abstract

We present Abstract (ABortable STate mAChine replicaTion), a new abstraction for designing and reconfiguring generalized replicated state machines that are, unlike traditional state machines, allowed to abort executing a client’s request if “something goes wrong.”
Abstract can be used to considerably simplify the incremental development of efficient Byzantine fault-tolerant state machine replication (BFT) protocols that are notorious for being difficult to develop. In short, we treat a BFT protocol as a composition of Abstract instances. Each instance is developed and analyzed independently and optimized for specific system conditions. We illustrate the power of Abstract through several interesting examples.
We first show how Abstract can yield benefits of a state-of-the-art BFT protocol in a less painful and error-prone manner. Namely, we develop AZyzzyva, a new protocol that mimics the celebrated best-case behavior of Zyzzyva using less than 35% of the Zyzzyva code. To cover worst-case situations, our abstraction enables one to use in AZyzzyva any existing BFT protocol.
We then present Aliph, a new BFT protocol that outperforms previous BFT protocols in terms of both latency (by up to 360%) and throughput (by up to 30%). Finally, we present R-Aliph, an implementation of Aliph that is robust, that is, whose performance degrades gracefully in the presence of Byzantine replicas and Byzantine clients.

References

[1]
Michael Abd-El-Malek, Gregory R. Ganger, Garth R. Goodson, Michael K. Reiter, and Jay J. Wylie. 2005. Fault-scalable Byzantine fault-tolerant services. In Proceedings of the Symposium on Operating Systems Principles (SOSP’05). ACM.
[2]
Marcos K. Aguilera, Svend Frolund, Vassos Hadzilacos, Stephanie L. Horn, and Sam Toueg. 2007. Abortable and query-abortable objects and their efficient implementation. In Proceedings of the ACM Symposium on Principles of Distributed computing (PODC’07).
[3]
Yair Amir, Brian A. Coan, Jonathan Kirsch, and John Lane. 2011. Prime: Byzantine replication under attack. IEEE Trans. Dependable Sec. Comput. 8, 4 (2011), 564--577.
[4]
Hagit Attiya, Rachid Guerraoui, and Petr Kouznetsov. 2005. Computing with reads and writes in the absence of step contention. In Proceedings of the International Conference on Distributed Computing (DISC’05).
[5]
Ken Birman, Dahlia Malkhi, and Robbert Van Renesse. 2010. Virtually Synchronous Methodology for Dynamic Service Replication. Technical Report MSR-TR-2010-151.
[6]
Romain Boichat, Partha Dutta, Svend Frölund, and Rachid Guerraoui. 2003. Deconstructing Paxos. SIGACT News Distrib. Comput. 34, 1 (2003), 47--67.
[7]
Francisco V. Brasileiro, Fabíola Greve, Achour Mostéfaoui, and Michel Raynal. 2001. Consensus in one communication step. In Proceedings of the International Conference on Parallel Computing Technologies (PaCT’01).
[8]
Miguel Castro and Barbara Liskov. 2002. Practical Byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst. 20, 4 (Nov. 2002), 398--461.
[9]
Miguel Castro, Rodrigo Rodrigues, and Barbara Liskov. 2003. BASE: Using abstraction to improve fault tolerance. ACM Trans. Comput. Syst. 21, 3 (Aug. 2003), 236--269.
[10]
Tushar D. Chandra, Robert Griesemer, and Joshua Redstone. 2007. Paxos made live: An engineering perspective. In Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC’07). ACM.
[11]
Wei Chen. 2007. Abortable Consensus and Its Application to Probabilistic Atomic Broadcast. Technical Report MSR-TR-2006-135.
[12]
Allen Clement, Edmund Wong, Lorenzo Alvisi, Mike Dahlin, and Mirco Marchetti. 2009. Making Byzantine fault tolerant systems tolerate Byzantine faults. In Proceedings of the Symposium on Networked Systems Design and Implementation (NSDI’09).
[13]
James Cowling, Daniel Myers, Barbara Liskov, Rodrigo Rodrigues, and Liuba Shrira. 2006. HQ replication: A hybrid quorum protocol for Byzantine fault tolerance. In Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI’06). USENIX Association. http://portal.acm.org/citation.cfm?id=1298455.1298473.
[14]
Dan Dobre and Neeraj Suri. 2006. One-step consensus with zero-degradation. In Proceedings of the 2004 International Conference on Dependable Systems and Networks (DSN’06).
[15]
Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. 1988. Consensus in the presence of partial synchrony. J. ACM 35, 2 (April 1988), 36.
[16]
Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson. 1985. Impossibility of distributed consensus with one faulty process. J. ACM 32, 2 (April 1985), 374--382.
[17]
Miguel Garcia, Alysson Bessani, Ilir Gashi, Nuno Neves, and Rafael Obelheiro. 2011. OS diversity for intrusion tolerance: Myth or reality? In Proceedings of the 2011 IEEE/IFIP 41st International Conference on Dependable Systems&Networks (DSN’’11). IEEE Computer Society, Washington, DC, 383--394.
[18]
Ilir Gashi, Peter T. Popov, and Lorenzo Strigini. 2007. Fault tolerance via diversity for off-the-shelf products: A study with SQL database servers. IEEE Trans. Dependable Sec. Comput. 4, 4 (2007), 280--294.
[19]
Jim Gray. 1978. Notes on data base operating systems. In Operating Systems—An Advanced Course. Springer-Verlag, 393--481. http://dl.acm.org/citation.cfm?id=647433.723863
[20]
Rachid Guerraoui, Nikola Knežević, Vivien Quéma, and Marko Vukolić. 2008. The Next 700 BFT Protocols. Technical Report LPD-REPORT-2008-008. EPFL.
[21]
Rachid Guerraoui, Nikola Knežević, Vivien Quéma, and Marko Vukolić. 2010. The next 700 BFT protocols. In Proceedings of the ACM European Conference on Computer systems (EuroSys’10).
[22]
James Hendricks, Gregory R. Ganger, and Michael K. Reiter. 2007. Low-overhead byzantine fault-tolerant storage. In Proceedings of the Symposium on Operating Systems Principles (SOSP’07). ACM.
[23]
Maurice Herlihy and Jeannette M. Wing. 1990. Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12, 3 (1990), 463--492.
[24]
Prasad Jayanti. 2003. Adaptive and efficient abortable mutual exclusion. In Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC’03).
[25]
Rüdiger Kapitza, Johannes Behl, Christian Cachin, Tobias Distler, Simon Kuhnle, Seyed Vahid Mohammadi, Wolfgang Schröder-Preikschat, and Klaus Stengel. 2012. CheapBFT: Resource-efficient Byzantine fault tolerance. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys’12). ACM, New York, NY, 295--308.
[26]
Ramakrishna Kotla, Lorenzo Alvisi, Mike Dahlin, Allen Clement, and Edmund Wong. 2010. Zyzzyva: Speculative Byzantine fault tolerance. ACM Trans. Comput. Syst. 27, 4, Article 7 (Jan. 2010), 39 pages.
[27]
Leslie Lamport. 2003. Lower bounds for asynchronous consensus. In Proceedings of the International Workshop on Future Directions in Distributed Computing (FuDiCo’03).
[28]
Leslie Lamport. 2009. The PlusCal algorithm language. In Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing (ICTAC). 36--60.
[29]
Leslie Lamport, Dahlia Malkhi, and Lidong Zhou. 2010. Reconfiguring a state machine. SIGACT News 41, 1 (2010), 63--73.
[30]
Fernando Pedone. 2001. Boosting system performance with optimistic distributed protocols. Comput. J. 34, 12 (2001), 80--86.
[31]
Fred B. Schneider. 1990. Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Comput. Surv. 22, 4 (Dec. 1990), 299--319.
[32]
Bianca Schroeder, Adam Wierman, and Mor Harchol-Balter. 2006. Open versus closed: A cautionary tale. In Proceedings of the Symposium on Networked Systems Design and Implementation (NSDI). 18--18.
[33]
Atul Singh, Tathagata Das, Petros Maniatis, Peter Druschel, and Timothy Roscoe. 2008. BFT protocols under fire. In Proceedings of the Symposium on Networked Systems Design and Implementation (NSDI’08). USENIX Association.
[34]
Sam Toueg. 1984. Randomized Byzantine agreements. In Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing. 163--178.
[35]
Robbert van Renesse and Rachid Guerraoui. 2010. Replication techniques for availability. In Replication, B. Charron-Bost, F. Pedone, and A. Schiper (Eds.). Springer-Verlag, 19--40. http://dl.acm.org/citation.cfm?id=2172338.2172340"
[36]
Robbert van Renesse and Fred B. Schneider. 2004. Chain replication for supporting high throughput and availability. In Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI’04).
[37]
Giuliana Santos Veronese, Miguel Correia, Alysson Neves Bessani, and Lau Cheuk Lung. 2009. Spin one’s wheels? Byzantine fault tolerance with a spinning primary. In Proceedings of International Symposium on Reliable Distributed Systems (SRDS’09). IEEE Computer Society.
[38]
Giuliana Santos Veronese, Miguel Correia, Alysson Neves Bessani, Lau Cheuk Lung, and Paulo Veríssimo. 2013. Efficient byzantine fault-tolerance. IEEE Trans. Comput. 62, 1 (2013), 16--30.

Cited By

View all
  • (2024)Decentralization Is Good or Not? Defending Consensus in Ethereum 2.0Blockchains10.3390/blockchains20100012:1(1-19)Online publication date: 23-Jan-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)Distributed Transaction Processing in Untrusted EnvironmentsCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3654684(570-579)Online publication date: 9-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computer Systems
ACM Transactions on Computer Systems  Volume 32, Issue 4
January 2015
124 pages
ISSN:0734-2071
EISSN:1557-7333
DOI:10.1145/2723895
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 January 2015
Accepted: 01 July 2014
Revised: 01 February 2014
Received: 01 May 2012
Published in TOCS Volume 32, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Abstract
  2. Byzantine
  3. composability
  4. fault tolerance
  5. optimization
  6. robustness

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)56
  • Downloads (Last 6 weeks)3
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Decentralization Is Good or Not? Defending Consensus in Ethereum 2.0Blockchains10.3390/blockchains20100012:1(1-19)Online publication date: 23-Jan-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)Distributed Transaction Processing in Untrusted EnvironmentsCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3654684(570-579)Online publication date: 9-Jun-2024
  • (2024)BG: A Modular Treatment of BFT Consensus Toward a Unified Theory of BFT ReplicationIEEE Transactions on Information Forensics and Security10.1109/TIFS.2023.331894319(44-58)Online publication date: 2024
  • (2024)SpotLess: Concurrent Rotational Consensus Made Practical Through Rapid View Synchronization2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00157(1916-1929)Online publication date: 13-May-2024
  • (2023)Invited Paper: Planetary Scale Byzantine ConsensusProceedings of the 5th workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems10.1145/3584684.3597270(1-6)Online publication date: 19-Jun-2023
  • (2023)An Extensible Framework for Implementing and Validating Byzantine Fault-Tolerant ProtocolsProceedings of the 5th workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems10.1145/3584684.3597266(1-10)Online publication date: 19-Jun-2023
  • (2023)ParBFT: Faster Asynchronous BFT Consensus with a Parallel Optimistic PathProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623101(504-518)Online publication date: 15-Nov-2023
  • (2023)An Extensible Framework for Implementing Byzantine Fault-Tolerant ProtocolsProceedings of the 38th ACM/SIGAPP Symposium on Applied Computing10.1145/3555776.3578614(121-124)Online publication date: 27-Mar-2023
  • (2023)Dissecting BFT Consensus: In Trusted Components we Trust!Proceedings of the Eighteenth European Conference on Computer Systems10.1145/3552326.3587455(521-539)Online publication date: 8-May-2023
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media