skip to main content
10.1145/3626246.3654684acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
tutorial

Distributed Transaction Processing in Untrusted Environments

Published: 09 June 2024 Publication History

Abstract

Byzantine Fault-Tolerant (BFT) protocols have recently been extensively used by distributed and decentralized data management systems with non-trustworthy infrastructures to establish consensus on the order of transactions. BFT protocols cover a broad spectrum of design dimensions from infrastructure settings, such as the communication topology, to more technical features, such as commitment strategy and even fundamental social choice properties like order-fairness. The proliferation of different protocols has made it difficult to navigate the BFT landscape, let alone determine the protocol that best meets application needs. In this tutorial, we discuss BFT protocols that are used in modern large-scale data management systems, present a design space consisting of a set of design dimensions and explore several design choices that capture the trade-offs between different design space dimensions. The presented design space and its design choices will help developers analyze BFT protocols, understand how different protocols are related to each other, and find the protocol that best fits their needs.

References

[1]
[n. d.]. Chain. http://chain.com.
[2]
[n. d.]. Corda. https://github.com/corda/corda.
[3]
[n. d.]. Hyperledger Iroha. https://github.com/hyperledger/iroha.
[4]
Michael Abd-El-Malek, Gregory R Ganger, Garth R Goodson, Michael K Reiter, and Jay JWylie. 2005. Fault-scalable Byzantine fault-tolerant services. Operating Systems Review (OSR) 39, 5 (2005), 59--74.
[5]
Ittai Abraham, Srinivas Devadas, Danny Dolev, Kartik Nayak, and Ling Ren. 2019. Synchronous Byzantine Agreement with Expected O(1) Rounds, Expected ??(??2 ) Communication, and Optimal Resilience. In Int. Conf. on Financial Cryptography and Data Security. Springer, 320--334.
[6]
Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Ling Ren, and Alexander Spiegelman. 2017. Solida: A Blockchain Protocol Based on Reconfigurable Byzantine Consensus. In Int. Conf. on Principles of Distributed Systems (OPODIS). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
[7]
Ittai Abraham, Kartik Nayak, Ling Ren, and Zhuolun Xiang. 2021. Good-case Latency of Byzantine Broadcast: a Complete Categorization. In Symposium on Principles of Distributed Computing (PODC). ACM, 331--341.
[8]
Atul Adya, William J Bolosky, Miguel Castro, Gerald Cermak, Ronnie Chaiken, John R Douceur, Jon Howell, Jacob R Lorch, Marvin Theimer, and Roger P Wattenhofer. 2002. ??????????????: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment. In Symposium on Operating Systems Design and Implementation (OSDI). USENIX Association.
[9]
Marcos K Aguilera, Naama Ben-David, Irina Calciu, Rachid Guerraoui, Erez Petrank, and Sam Toueg. 2018. Passing messages while sharing memory. In Symposium on Principles of Distributed Computing (PODC). ACM, 51--60.
[10]
Marcos K Aguilera, Naama Ben-David, Rachid Guerraoui, Virendra Marathe, and Igor Zablotchi. 2019. The impact of RDMA on agreement. In Symposium on Principles of Distributed Computing (PODC). 409--418.
[11]
Marcos K Aguilera, Naama Ben-David, Rachid Guerraoui, Dalia Papuc, Athanasios Xygkis, and Igor Zablotchi. 2021. Frugal Byzantine Computing. In Int. Symposium on Distributed Computing.
[12]
Ailidani Ailijiang, Aleksey Charapko, and Murat Demirbas. 2019. Dissecting the performance of strongly-consistent replication protocols. In SIGMOD Int. Conf. on Management of Data. ACM, 1696--1710.
[13]
Amitanand S Aiyer, Lorenzo Alvisi, Allen Clement, Mike Dahlin, Jean-Philippe Martin, and Carl Porth. 2005. BAR fault tolerance for cooperative services. In Symposium on Operating Systems Principles (SOSP). ACM, 45--58.
[14]
Nicolas Alhaddad, Sourav Das, Sisi Duan, Ling Ren, Mayank Varia, Zhuolun Xiang, and Haibin Zhang. 2022. Balanced byzantine reliable broadcast with near-optimal communication and improved computation. In Symposium on Principles of Distributed Computing (PODC). ACM, 399--417.
[15]
Salem Alqahtani and Murat Demirbas. 2021. BigBFT: A Multileader Byzantine Fault Tolerance Protocol for High Throughput. In Int. Performance Computing and Communications Conf. (IPCCC). IEEE, 1--10.
[16]
Yair Amir, Brian Coan, Jonathan Kirsch, and John Lane. 2011. Prime: Byzantine replication under attack. Transactions on Dependable and Secure Computing 8, 4 (2011), 564--577.
[17]
Yair Amir, Claudiu Danilov, Danny Dolev, Jonathan Kirsch, John Lane, Cristina Nita-Rotaru, Josh Olsen, and David Zage. 2008. Steward: Scaling Byzantine faulttolerant replication to wide area networks. IEEE Transactions on Dependable and Secure Computing 7, 1 (2008), 80--93.
[18]
Mohammad Javad Amiri, Divyakant Agrawal, and Amr El Abbadi. 2019. CAPER: a cross-application permissioned blockchain. Proc. of the VLDB Endowment 12, 11 (2019), 1385--1398.
[19]
Mohammad Javad Amiri, Divyakant Agrawal, and Amr El Abbadi. 2020. Modern Large-Scale Data Management Systems after 40 Years of Consensus. In Int. Conf. on Data Engineering (ICDE). IEEE, 1794--1797.
[20]
Mohammad Javad Amiri, Divyakant Agrawal, and Amr El Abbadi. 2021. Permissioned Blockchains: Properties, Techniques and Applications. In SIGMOD Int. Conf. on Management of Data. ACM, 2813--2820.
[21]
Mohammad Javad Amiri, Divyakant Agrawal, and Amr El Abbadi. 2021. SharPer: Sharding Permissioned Blockchains Over Network Clusters. In SIGMOD Int. Conf. on Management of Data. ACM, 76--88.
[22]
Mohammad Javad Amiri, Joris Duguépéroux, Tristan Allard, Divyakant Agrawal, and Amr El Abbadi. 2021. SEPAR: Towards Regulating Future of Work Multi- Platform Crowdworking Environments with Privacy Guarantees. In Proceedings of The Web Conf. (WWW). 1891--1903.
[23]
Mohammad Javad Amiri, Ziliang Lai, Liana Patel, Boon Thau Loo, Eric Lo, and Wenchao Zhou. 2023. Saguaro: An Edge Computing-Enabled Hierarchical Permissioned Blockchain. In Int. Conf. on Data Engineering (ICDE). IEEE, 259-- 272.
[24]
Mohammad Javad Amiri, Boon Thau Loo, Divyakant Agrawal, and Amr El Abbadi. 2022. Qanaat: A Scalable Multi-Enterprise Permissioned Blockchain System with Confidentiality Guarantees. Proc. of the VLDB Endowment 15, 11 (2022), 2839--2852.
[25]
Mohammad Javad Amiri, Sujaya Maiyya, Divyakant Agrawal, and Amr El Abbadi. 2020. SeeMoRe: A fault-tolerant protocol for hybrid cloud environments. In Int. Conf. on Data Engineering (ICDE). IEEE, 1345--1356.
[26]
Mohammad Javad Amiri, Chenyuan Wu, Divyakant Agrawal, Amr El Abbadi, Boon Thau Loo, and Mohammad Sadoghi. 2024. The Bedrock of Byzantine Fault Tolerance: A Unified Platform for BFT Protocols Analysis, Implementation, and Experimentation. In Symposium on Networked Systems Design and Implementation (NSDI). USENIX Association.
[27]
Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, and Yacov Manevich. 2018. Hyperledger Fabric: a distributed operating system for permissioned blockchains. In European Conf. on Computer Systems (EuroSys). ACM, 30:1--30:15.
[28]
Balaji Arun, Sebastiano Peluso, and Binoy Ravindran. 2019. ezbft: Decentralizing byzantine fault-tolerant state machine replication. In Int. Conf. on Distributed Computing Systems (ICDCS). IEEE, 565--577.
[29]
Avi Asayag, Gad Cohen, Ido Grayevsky, Maya Leshkowitz, Ori Rottenstreich, Ronen Tamari, and David Yakira. 2018. A fair consensus protocol for transaction ordering. In Int. Conf. on Network Protocols (ICNP). IEEE, 55--65.
[30]
Hagit Attiya, Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. 1994. Bounds on the time to reach agreement in the presence of timing uncertainty. Journal of the ACM (JACM) 41, 1 (1994), 122--152.
[31]
Pierre-Louis Aublin, Rachid Guerraoui, Nikola Kne?evi?, Vivien Quéma, and Marko Vukoli?. 2015. The next 700 BFT protocols. Transactions on Computer Systems (TOCS) 32, 4 (2015), 12.
[32]
Pierre-Louis Aublin, Sonia Ben Mokhtar, and Vivien Quéma. 2013. Rbft: Redundant byzantine fault tolerance. In Int. Conf. on Distributed Computing Systems (ICDCS). IEEE, 297--306.
[33]
Zeta Avarikioti, Lioba Heimbach, Roland Schmid, Laurent Vanbever, Roger Wattenhofer, and Patrick Wintermeyer. 2023. FnF-BFT: A BFT protocol with provable performance under attack. In Int. Colloquium on Structural Information and Communication Complexity (SIROCCO). Springer, 165--198.
[34]
Algirdas Avizienis. 1985. The N-version approach to fault-tolerant software. IEEE Transactions on Software Engineering 12 (1985), 1491--1501.
[35]
Amy Babay, John Schultz, Thomas Tantillo, Samuel Beckley, Eamon Jordan, Kevin Ruddell, Kevin Jordan, and Yair Amir. 2019. Deploying intrusion-tolerant SCADA for the power grid. In Int. Conf. on Dependable Systems and Networks (DSN). IEEE, 328--335.
[36]
Leemon Baird. 2016. The swirlds hashgraph consensus algorithm: Fair, fast, byzantine fault tolerance. Swirlds Tech Reports SWIRLDS-TR-2016-01, Tech. Rep (2016).
[37]
Jason Baker, Chris Bond, James C Corbett, JJ Furman, Andrey Khorlin, James Larson, Jean-Michel Leon, Yawei Li, Alexander Lloyd, and Vadim Yushprakh. 2011. Megastore: Providing scalable, highly available storage for interactive services. In Conf. on Innovative Data Systems Research (CIDR).
[38]
Mathieu Baudet, Avery Ching, Andrey Chursin, George Danezis, François Garillot, Zekun Li, Dahlia Malkhi, Oded Naor, Dmitri Perelman, and Alberto Sonnino. 2019. State machine replication in the libra blockchain. The Libra Assn., Tech. Rep (2019).
[39]
Johannes Behl, Tobias Distler, and Rüdiger Kapitza. 2015. Consensus-oriented parallelization: How to earn your first million. In Annual Middleware Conf. (Middleware). 173--184.
[40]
Johannes Behl, Tobias Distler, and Rüdiger Kapitza. 2017. Hybrids on steroids: SGX-based high performance BFT. In European Conf. on Computer Systems (EuroSys). 222--237.
[41]
Michael Ben-Or. 1983. Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols (Extended Abstract). In Symposium on Principles of Distributed Computing (PODC). ACM, 27--30.
[42]
Christian Berger, Hans P Reiser, João Sousa, and Alysson Bessani. 2019. Resilient wide-area Byzantine consensus using adaptive weighted replication. In Symposium on Reliable Distributed Systems (SRDS). IEEE, 183--18309.
[43]
Alysson Bessani, Miguel Correia, Bruno Quaresma, Fernando André, and Paulo Sousa. 2013. DepSky: dependable and secure storage in a cloud-of-clouds. Transactions on Storage (TOS) 9, 4 (2013), 12.
[44]
Alysson Neves Bessani, Paulo Sousa, Miguel Correia, Nuno Ferreira Neves, and Paulo Verissimo. 2008. The CRUTIAL way of critical infrastructure protection. IEEE Security & Privacy 6, 6 (2008), 44--51.
[45]
Martin Biely, Zarko Milosevic, Nuno Santos, and Andre Schiper. 2012. S-paxos: Offloading the leader for high throughput state machine replication. In Symposium on Reliable Distributed Systems (SRDS). IEEE, 111--120.
[46]
Kenneth P Birman, Thomas A Joseph, Thomas Raeuchle, and Amr El Abbadi. 1985. Implementing fault-tolerant distributed objects. Trans. on Software Engineering 6 (1985), 502--508.
[47]
Gabriel Bracha. 1984. An asynchronous [(n-1)/3]-resilient consensus protocol. In Symposium on Principles of Distributed Computing (PODC). ACM, 154--162.
[48]
Gabriel Bracha and Sam Toueg. 1985. Asynchronous consensus and broadcast protocols. Journal of the ACM (JACM) 32, 4 (1985), 824--840.
[49]
Manuel Bravo, Gregory Chockler, and Alexey Gotsman. 2020. Making Byzantine consensus live. In Int. Symposium on Distributed Computing (DISC). Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
[50]
Nathan Bronson, Zach Amsden, George Cabrera, Prasad Chakka, Peter Dimov, Hui Ding, Jack Ferris, Anthony Giardullo, Sachin Kulkarni, and Harry Li. 2013. TAO: Facebook's Distributed Data Store for the Social Graph. In Annual Technical Conf. (ATC). USENIX Association, 49--60.
[51]
Richard Gendal Brown, James Carlyle, Ian Grigg, and Mike Hearn. 2016. Corda: an introduction. R3 CEV, August 1, 15 (2016), 14.
[52]
Ethan Buchman. 2016. Tendermint: Byzantine fault tolerance in the age of blockchains. Ph.D. Dissertation.
[53]
Ethan Buchman, Jae Kwon, and Zarko Milosevic. 2018. The latest gossip on BFT consensus. arXiv preprint arXiv:1807.04938 (2018).
[54]
Yehonatan Buchnik and Roy Friedman. 2020. FireLedger: a high throughput blockchain consensus protocol. Proceedings of the VLDB Endowment 13, 9 (2020), 1525--1539.
[55]
Vitalik Buterin and Virgil Griffith. 2017. Casper the friendly finality gadget. arXiv preprint arXiv:1710.09437 (2017).
[56]
Christian Cachin, Klaus Kursawe, Frank Petzold, and Victor Shoup. 2001. Secure and efficient asynchronous broadcast protocols. In Annual Int. Cryptology Conf. Springer, 524--541.
[57]
Christian Cachin, Klaus Kursawe, and Victor Shoup. 2005. Random oracles in Constantinople: Practical asynchronous Byzantine agreement using cryptography. Journal of Cryptology 18, 3 (2005), 219--246.
[58]
Christian Cachin, Jovana Mi?i?, and Nathalie Steinhauer. 2022. Quick Order Fairness. In Int. Conf. on Financial Cryptography and Data Security (FC). Springer, 1--18.
[59]
Miguel Castro and Barbara Liskov. 1999. Practical Byzantine fault tolerance. In Symposium on Operating Systems Design and Implementation (OSDI). USENIX Association, 173--186.
[60]
Miguel Castro and Barbara Liskov. 2000. Proactive Recovery in a Byzantine- Fault-Tolerant System. In Symposium on Operating Systems Design and Implementation (OSDI). USENIX Association.
[61]
Miguel Castro and Barbara Liskov. 2002. Practical Byzantine fault tolerance and proactive recovery. Transactions on Computer Systems (TOCS) 20, 4 (2002), 398--461.
[62]
Benjamin Y Chan and Elaine Shi. 2020. Streamlet: Textbook streamlined blockchains. In Conf. on Advances in Financial Technologies (AFT). ACM, 1-- 11.
[63]
TH Hubert Chan, Rafael Pass, and Elaine Shi. 2018. Pala: A simple partially synchronous blockchain. Cryptology ePrint Archive (2018).
[64]
TH Hubert Chan, Rafael Pass, and Elaine Shi. 2018. PiLi: An Extremely Simple Synchronous Blockchain. Cryptology ePrint Archive (2018).
[65]
Tushar Deepak Chandra and Sam Toueg. 1996. Unreliable failure detectors for reliable distributed systems. Journal of the ACM (JACM) 43, 2 (1996), 225--267.
[66]
Aleksey Charapko, Ailidani Ailijiang, and Murat Demirbas. 2021. PigPaxos: Devouring the communication bottlenecks in distributed consensus. In SIGMOD Int. Conf. on Management of Data. ACM, 235--247.
[67]
JP Morgan Chase. 2016. Quorum white paper.
[68]
Byung-Gon Chun, Petros Maniatis, Scott Shenker, and John Kubiatowicz. 2007. Attested append-only memory: Making adversaries stick to their word. In Operating Systems Review (OSR), Vol. 41--6. ACM SIGOPS, 189--204.
[69]
Allen Clement, Manos Kapritsos, Sangmin Lee, Yang Wang, Lorenzo Alvisi, Mike Dahlin, and Taylor Riche. 2009. Upright cluster services. In Symposium on Operating Systems Principles (SOSP). ACM, 277--290.
[70]
Allen Clement, Edmund L Wong, Lorenzo Alvisi, Michael Dahlin, and Mirco Marchetti. 2009. Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults. In Symposium on Networked Systems Design and Implementation (NSDI), Vol. 9. USENIX Association, 153--168.
[71]
James C Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, Jeffrey John Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, and Peter Hochschild. 2013. Spanner: Google's globally distributed database. Transactions on Computer Systems (TOCS) 31, 3 (2013), 8.
[72]
Miguel Correia, Nuno Ferreira Neves, Lau Cheuk Lung, and Paulo Veríssimo. 2005. Low complexity Byzantine-resilient consensus. Distributed Computing 17, 3 (2005), 237--249.
[73]
Miguel Correia, Nuno Ferreira Neves, and Paulo Verissimo. 2004. Howto tolerate half less one Byzantine nodes in practical distributed systems. In Int. Symposium on Reliable Distributed Systems (SRDS). IEEE, 174--183.
[74]
Miguel Correia, Nuno Ferreira Neves, and Paulo Veríssimo. 2006. From consensus to atomic broadcast: Time-free Byzantine-resistant protocols without signatures. Comput. J. 49, 1 (2006), 82--96.
[75]
Miguel Correia, Nuno Ferreira Neves, and Paulo Verissimo. 2013. Bft-to: Intrusion tolerance with less replicas. Comput. J. 56, 6 (2013), 693--715.
[76]
Domenico Cotroneo, Roberto Natella, Roberto Pietrantuono, and Stefano Russo. 2014. A survey of software aging and rejuvenation studies. ACM Journal on Emerging Technologies in Computing Systems (JETC) 10, 1 (2014), 1--34.
[77]
James Cowling, Daniel Myers, Barbara Liskov, Rodrigo Rodrigues, and Liuba Shrira. 2006. HQ replication: A hybrid quorum protocol for Byzantine fault tolerance. In Symposium on Operating Systems Design and Implementation (OSDI). USENIX Association, 177--190.
[78]
Tyler Crain, Christopher Natoli, and Vincent Gramoli. 2021. Red Belly: a secure, fair and scalable open blockchain. In Symposium on Security and Privacy (SP). IEEE.
[79]
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: Amazon's highly available key-value store. Operating Systems Review (OSR) 41, 6 (2007), 205--220.
[80]
Tobias Distler. 2021. Byzantine fault-tolerant state-machine replication from a systems perspective. ACM Computing Surveys (CSUR) 54, 1 (2021), 1--38.
[81]
Tobias Distler, Christian Cachin, and Rüdiger Kapitza. 2016. Resource-efficient Byzantine fault tolerance. Transactions on Computers 65, 9 (2016), 2807--2819.
[82]
Tobias Distler, Ivan Popov, Wolfgang Schröder-Preikschat, Hans P Reiser, and Rüdiger Kapitza. 2011. SPARE: Replicas on Hold. In Network and Distributed System Security Symposium (NDSS).
[83]
Dan Dobre, Ghassan Karame, Wenting Li, Matthias Majuntke, Neeraj Suri, and Marko Vukoli?. 2013. PoWerStore: Proofs of writing for efficient and robust storage. In Conf. on Computer and communications security (CCS). ACM, 285-- 298.
[84]
Danny Dolev, Cynthia Dwork, and Larry Stockmeyer. 1987. On the minimal synchronism needed for distributed consensus. Journal of the ACM (JACM) 34, 1 (1987), 77--97.
[85]
Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. 1988. Consensus in the presence of partial synchrony. Journal of the ACM (JACM) 35, 2 (1988), 288--323.
[86]
Michael Eischer and Tobias Distler. 2018. Latency-aware leader selection for geo-replicated Byzantine fault-tolerant systems. In Int. Conf. on Dependable Systems and Networks Workshops (DSN-W). IEEE, 140--145.
[87]
Amr El Abbadi, Dale Skeen, and Flaviu Cristian. 1985. An efficient, fault-tolerant protocol for replicated data management. In SIGACT-SIGMOD symposium on Principles of database systems. ACM, 215--229.
[88]
Amr El Abbadi and Sam Toueg. 1986. Availability in partitioned replicated databases. In SIGACT-SIGMOD symposium on Principles of database systems. ACM, 240--251.
[89]
Michael J Fischer, Nancy A Lynch, and Michael S Paterson. 1985. Impossibility of distributed consensus with one faulty process. Journal of the ACM (JACM) 32, 2 (1985), 374--382.
[90]
Stephanie Forrest, Anil Somayaji, and David H Ackley. 1997. Building diverse computer systems. InWorkshop on Hot Topics in Operating Systems. IEEE, 67--72.
[91]
Yingzi Gao, Yuan Lu, Zhenliang Lu, Qiang Tang, Jing Xu, and Zhenfeng Zhang. 2022. Efficient asynchronous byzantine agreement without private setups. In Int. Conf. on Distributed Computing Systems (ICDCS). IEEE, 246--257.
[92]
Miguel Garcia, Nuno Neves, and Alysson Bessani. 2013. An intrusion-tolerant firewall design for protecting SIEM systems. In Conf. on Dependable Systems and Networks Workshop (DSN-W). IEEE, 1--7.
[93]
Miguel Garcia, Nuno Neves, and Alysson Bessani. 2016. SieveQ: A layered bft protection system for critical services. IEEE Transactions on Dependable and Secure Computing 15, 3 (2016), 511--525.
[94]
Rati Gelashvili, Lefteris Kokoris-Kogias, Alberto Sonnino, Alexander Spiegelman, and Zhuolun Xiang. 2022. Jolteon and ditto: Network-adaptive efficient consensus with asynchronous fallback. In Int. Conf. on Financial Cryptography and Data Security. Springer, 296--315.
[95]
Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich. 2017. Algorand: Scaling byzantine agreements for cryptocurrencies. In Symposium on Operating Systems Principles (SOSP). ACM, 51--68.
[96]
Garth R Goodson, Jay J Wylie, Gregory R Ganger, and Michael K Reiter. 2004. Efficient Byzantine-tolerant erasure-coded storage. In Int. Conf. on Dependable Systems and Networks (DSN). IEEE, 135--144.
[97]
Christian Gorenflo, Lukasz Golab, and Srinivasan Keshav. 2020. XOX Fabric: A hybrid approach to transaction execution. In Int. Conf. on Blockchain and Cryptocurrency (ICBC). IEEE, 1--9.
[98]
Christian Gorenflo, Stephen Lee, Lukasz Golab, and Srinivasan Keshav. 2019. Fastfabric: Scaling hyperledger fabric to 20,000 transactions per second. In Int. Conf. on Blockchain and Cryptocurrency (ICBC). IEEE, 455--463.
[99]
Gideon Greenspan. 2015. MultiChain private blockchain-White paper. URl: http://www. multichain. com/download/MultiChain-White-Paper. pdf (2015).
[100]
Rachid Guerraoui, Nikola Kne?evi?, Vivien Quéma, and Marko Vukoli?. 2010. The next 700 BFT protocols. In European conf. on Computer systems (EuroSys). ACM, 363--376.
[101]
Guy Golan Gueta, Ittai Abraham, Shelly Grossman, Dahlia Malkhi, Benny Pinkas, Michael K Reiter, Dragos-Adrian Seredinschi, Orr Tamir, and Alin Tomescu. 2019. SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains. In Int. Conf. on Dependable Systems and Networks (DSN). IEEE/IFIP, 568--580.
[102]
Suyash Gupta, Jelle Hellings, Sajjad Rahnama, and Mohammad Sadoghi. 2020. Building high throughput permissioned blockchain fabrics: challenges and opportunities. Proc. of the VLDB Endowment 13, 12 (2020), 3441--3444.
[103]
Suyash Gupta, Jelle Hellings, Sajjad Rahnama, and Mohammad Sadoghi. 2021. Proof-of-execution: Reaching consensus through fault-tolerant speculation. In Int. Conf. on Extending Database Technology (EDBT). 301--312.
[104]
Suyash Gupta, Jelle Hellings, and Mohammad Sadoghi. 2021. Rcc: Resilient concurrent consensus for high-throughput secure transaction processing. In Int. Conf. on Data Engineering (ICDE). IEEE, 1392--1403.
[105]
Suyash Gupta, Sajjad Rahnama, Jelle Hellings, and Mohammad Sadoghi. 2020. ResilientDB: Global Scale Resilient Blockchain Fabric. Proceedings of the VLDB Endowment 13, 6 (2020), 868--883.
[106]
Andreas Haeberlen, Petr Kouznetsov, and Peter Druschel. 2006. The Case for Byzantine Fault Detection. In HotDep.
[107]
Timo Hanke, Mahnush Movahedi, and Dominic Williams. 2018. Dfinity technology overview series, consensus system. arXiv preprint arXiv:1805.04548 (2018).
[108]
James Hendricks, Gregory R Ganger, and Michael K Reiter. 2007. Low-overhead byzantine fault-tolerant storage. ACM SIGOPS Operating Systems Review 41, 6 (2007), 73--86.
[109]
Yennun Huang, Chandra Kintala, Nick Kolettis, and N Dudley Fulton. 1995. Software rejuvenation: Analysis, module and applications. In Int. Symposium on fault-tolerant computing. Digest of papers. IEEE, 381--390.
[110]
Mohammad M Jalalzai, Jianyu Niu, Chen Feng, and Fangyu Gai. 2020. Fasthotstuff: A fast and resilient hotstuff protocol. arXiv preprint arXiv:2010.11454 (2020).
[111]
Robert Kallman, Hideaki Kimura, Jonathan Natkins, Andrew Pavlo, Alexander Rasin, Stanley Zdonik, Evan PC Jones, Samuel Madden, Michael Stonebraker, and Yang Zhang. 2008. H-store: a high-performance, distributed main memory transaction processing system. Proc. of the VLDB Endowment 1, 2 (2008), 1496-- 1499.
[112]
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 European Conf. on Computer Systems (EuroSys). ACM, 295--308.
[113]
Mahimna Kelkar, Soubhik Deb, Sishan Long, Ari Juels, and Sreeram Kannan. 2022. Themis: Fast, Strong Order-Fairness in Byzantine Consensus. The Science of Blockchain Conf. (SBC) (2022).
[114]
Mahimna Kelkar, Fan Zhang, Steven Goldfeder, and Ari Juels. 2020. Orderfairness for byzantine consensus. In Annual Int. Cryptology Conf. Springer, 451--480.
[115]
Aggelos Kiayias, Alexander Russell, Bernardo David, and Roman Oliynykov. 2017. Ouroboros: A provably secure proof-of-stake blockchain protocol. In Annual Int. Cryptology Conf. Springer, 357--388.
[116]
Jonathan Kirsch, Stuart Goose, Yair Amir, Dong Wei, and Paul Skare. 2013. Survivable SCADA via intrusion-tolerant replication. IEEE Transactions on Smart Grid 5, 1 (2013), 60--70.
[117]
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. In Security Symposium. USENIX Association, 279--296.
[118]
Eleftherios Kokoris-Kogias. [n. d.]. Robust and Scalable Consensus for Sharded Distributed Ledgers. ([n. d.]).
[119]
Eleftherios Kokoris-Kogias, Philipp Jovanovic, Linus Gasser, Nicolas Gailly, Ewa Syta, and Bryan Ford. 2018. Omniledger: A secure, scale-out, decentralized ledger via sharding. In Symposium on Security and Privacy (SP). IEEE, 583--598.
[120]
Ramakrishna Kotla, Lorenzo Alvisi, Mike Dahlin, Allen Clement, and Edmund Wong. 2007. Zyzzyva: speculative byzantine fault tolerance. Operating Systems Review (OSR) 41, 6 (2007), 45--58.
[121]
Klaus Kursawe. 2020. Wendy, the good little fairness widget: Achieving order fairness for blockchains. In Conf. on Advances in Financial Technologies (AFT). ACM, 25--36.
[122]
Klaus Kursawe. 2021. Wendy Grows Up: More Order Fairness. In Int. Conf. on Financial Cryptography and Data Security (FC). Springer, 191--196.
[123]
Petr Kuznetsov, Andrei Tonkikh, and Yan X Zhang. 2021. Revisiting Optimal Resilience of Fast Byzantine Consensus. In Symposium on Principles of Distributed Computing (PODC). ACM, 343--353.
[124]
Jae Kwon. 2014. Tendermint: Consensus without mining. (2014).
[125]
Leslie Lamport. 1978. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7 (1978), 558--565.
[126]
Leslie Lamport. 2001. Paxos made simple. ACM Sigact News 32, 4 (2001), 18--25.
[127]
Leslie Lamport, Robert Shostak, and Marshall Pease. 1982. The Byzantine generals problem. Transactions on Programming Languages and Systems (TOPLAS) 4, 3 (1982), 382--401.
[128]
Kfir Lev-Ari, Alexander Spiegelman, Idit Keidar, and Dahlia Malkhi. 2019. FairLedger: A Fair Blockchain Protocol for Financial Institutions. In Int. Conf. on Principles of Distributed Systems (OPODIS). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
[129]
Bijun Li, Nico Weichbrodt, Johannes Behl, Pierre-Louis Aublin, Tobias Distler, and Rüdiger Kapitza. 2018. Troxy: Transparent access to byzantine fault-tolerant systems. In Int. Conf. on Dependable Systems and Networks (DSN). IEEE, 59--70.
[130]
Jinyuan Li and David Maziéres. 2007. Beyond One-Third Faulty Replicas in Byzantine Fault Tolerant Systems. In Symposium on Networked Systems Design and Implementation (NSDI). USENIX Association.
[131]
Wenyu Li, Chenglin Feng, Lei Zhang, Hao Xu, Bin Cao, and Muhammad Ali Imran. 2020. A scalable multi-layer PBFT consensus for blockchain. Transactions on Parallel and Distributed Systems 32, 5 (2020), 1146--1160.
[132]
Loi Luu, Viswesh Narayanan, Chaodong Zheng, Kunal Baweja, Seth Gilbert, and Prateek Saxena. 2016. A secure sharding protocol for open blockchains. In SIGSAC Conf. on Computer and Communications Security (CCS). ACM, 17--30.
[133]
Sujaya Maiyya, Victor Zakhary, Mohammad Javad Amiri, Divyakant Agrawal, and Amr El Abbadi. 2019. Database and distributed computing foundations of blockchains. In SIGMOD Int. Conf. on Management of Data. ACM, 2036--2041.
[134]
Dahlia Malkhi and Kartik Nayak. 2023. HotStuff-2: Optimal Two-Phase Responsive BFT. Cryptology ePrint Archive (2023).
[135]
Dahlia Malkhi and Michael Reiter. 1997. Unreliable intrusion detection in distributed computations. In Computer Security Foundations Workshop. IEEE, 116--124.
[136]
Dahlia Malkhi and Michael Reiter. 1998. Byzantine quorum systems. Distributed computing 11, 4 (1998), 203--213.
[137]
Dahlia Malkhi and Michael K Reiter. 1998. Secure and scalable replication in Phalanx. In Symposium on Reliable Distributed Systems (SRDS). IEEE, 51--58.
[138]
Dahlia Malkhi and Michael K Reiter. 1998. Survivable consensus objects. In Symposium on Reliable Distributed Systems (SRDS). IEEE, 271--279.
[139]
Yanhua Mao, Flavio P Junqueira, and Keith Marzullo. 2009. Towards low latency state machine replication for uncivil wide-area networks. In Workshop on Hot Topics in System Dependability. Citeseer.
[140]
J-P Martin and Lorenzo Alvisi. 2006. Fast byzantine consensus. Transactions on Dependable and Secure Computing 3, 3 (2006), 202--215.
[141]
Andrew Miller, Yu Xia, Kyle Croman, Elaine Shi, and Dawn Song. 2016. The honey badger of BFT protocols. In Conf. on Computer and Communications Security (CCS). ACM, 31--42.
[142]
C Mohan. 2018. Blockchains and databases: A new era in distributed computing. In Int. Conf. on data engineering (ICDE). IEEE, 1739--1740.
[143]
Iulian Moraru, David G Andersen, and Michael Kaminsky. 2012. Egalitarian paxos. In Symposium on Operating Systems Principles (SOSP). ACM.
[144]
Iulian Moraru, David G Andersen, and Michael Kaminsky. 2013. There is more consensus in egalitarian parliaments. In Symposium on Operating Systems Principles (SOSP). ACM, 358--372.
[145]
Louise E Moser, Peter M Melliar-Smith, Priya Narasimhan, Lauren A Tewksbury, and Vana Kalogeraki. 1999. The Eternal system: An architecture for enterprise applications. In Int. Enterprise Distributed Object Computing Conf. (EDOC). IEEE, 214--222.
[146]
Oded Naor, Mathieu Baudet, Dahlia Malkhi, and Alexander Spiegelman. 2019. Cogsworth: Byzantine view synchronization. arXiv preprint arXiv:1909.05204 (2019).
[147]
Oded Naor and Idit Keidar. 2020. Expected Linear Round Synchronization: The Missing Link for Linear Byzantine SMR. In Int. Symposium on Distributed Computing (DISC). Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
[148]
Faisal Nawab and Mohammad Sadoghi. 2019. Blockplane: A global-scale byzantizing middleware. In Int. Conf. on Data Engineering (ICDE). IEEE, 124--135.
[149]
Ray Neiheiser, Miguel Matos, and Luís Rodrigues. 2021. Kauri: Scalable BFT Consensus with Pipelined Tree-Based Dissemination and Aggregation. In Symposium on Operating Systems Principles (SOSP). ACM, 35--48.
[150]
Ray Neiheiser, Daniel Presser, Luciana Rech, Manuel Bravo, Luís Rodrigues, and Miguel Correia. 2018. Fireplug: Flexible and robust n-version geo-replication of graph databases. In Int. Conf. on Information Networking (ICOIN). IEEE, 110--115.
[151]
Nuno Ferreira Neves, Miguel Correia, and Paulo Verissimo. 2005. Solving vector consensus with a wormhole. IEEE Transactions on Parallel and Distributed Systems 16, 12 (2005), 1120--1131.
[152]
André Nogueira, Miguel Garcia, Alysson Bessani, and Nuno Neves. 2018. On the challenges of building a BFT SCADA. In Int. Conf. on Dependable Systems and Networks (DSN). IEEE, 163--170.
[153]
Diego Ongaro and John K Ousterhout. 2014. In search of an understandable consensus algorithm. In Annual Technical Conf. (ATC). USENIX Association, 305--319.
[154]
Rafael Pass and Elaine Shi. 2017. Hybrid Consensus: Efficient Consensus in the Permissionless Model. In Int.Symposium on Distributed Computing (DISC). 6.
[155]
Rafael Pass and Elaine Shi. 2018. Thunderella: Blockchains with optimistic instant confirmation. In Annual Int. Conf. on the Theory and Applications of Cryptographic Techniques. Springer, 3--33.
[156]
Zhe Peng, Cheng Xu, Haixin Wang, Jinbin Huang, Jianliang Xu, and Xiaowen Chu. 2021. P2B-Trace: Privacy-Preserving Blockchain-based Contact Tracing to Combat Pandemics. In SIGMOD Int. Conf. on Management of Data. ACM, 2389--2393.
[157]
Zhe Peng, Jianliang Xu, Xiaowen Chu, Shang Gao, Yuan Yao, Rong Gu, and Yuzhe Tang. 2021. Vfchain: Enabling verifiable and auditable federated learning via blockchain systems. IEEE Transactions on Network Science and Engineering (2021).
[158]
Ji Qi, Xusheng Chen, Yunpeng Jiang, Jianyu Jiang, Tianxiang Shen, Shixiong Zhao, Sen Wang, Gong Zhang, Li Chen, Man Ho Au, et al. 2021. Bidl: A Highthroughput, Low-latency Permissioned Blockchain Framework for Datacenter Networks. In Symposium on Operating Systems Principles (SOSP). ACM, 18--34.
[159]
Michael O Rabin. 1983. Randomized byzantine generals. In Symposium on Foundations of Computer Science (SFCS). IEEE, 403--409.
[160]
HariGovind V Ramasamy and Christian Cachin. 2005. Parsimonious asynchronous byzantine-fault-tolerant atomic broadcast. In Int. Conf. On Principles Of Distributed Systems (OPODIS). Springer, 88--102.
[161]
Hans P Reiser and Rudiger Kapitza. 2007. Hypervisor-based efficient proactive recovery. In Int. Symposium on Reliable Distributed Systems (SRDS). IEEE, 83--92.
[162]
Ronald L Rivest, Adi Shamir, and Leonard M Adleman. 2019. A method for obtaining digital signatures and public key cryptosystems. Routledge.
[163]
Tom Roeder and Fred B Schneider. 2010. Proactive obfuscation. ACM Transactions on Computer Systems (TOCS) 28, 2 (2010), 1--54.
[164]
Pingcheng Ruan, Dumitrel Loghin, Quang-Trung Ta, Meihui Zhang, Gang Chen, and Beng Chin Ooi. 2020. A Transactional Perspective on Execute-order-validate Blockchains. In SIGMOD Int. Conf. on Management of Data. ACM, 543--557.
[165]
Fred B Schneider. 1990. Implementing fault-tolerant services using the state machine approach: A tutorial. Computing Surveys (CSUR) 22, 4 (1990), 299--319.
[166]
Marco Serafini, Péter Bokor, Dan Dobre, Matthias Majuntke, and Neeraj Suri. 2010. Scrooge: Reducing the costs of fast Byzantine replication in presence of unresponsive replicas. In Int. Conf. on Dependable Systems and Networks (DSN). IEEE, 353--362.
[167]
Ankur Sharma, Felix Martin Schuhknecht, Divya Agrawal, and Jens Dittrich. 2019. Blurring the lines between blockchains and database systems: the case of hyperledger fabric. In SIGMOD Int. Conf. on Management of Data. ACM, 105--122.
[168]
Victor Shoup. 2000. Practical threshold signatures. In Int. Conf. on the Theory and Applications of Cryptographic Techniques. Springer, 207--220.
[169]
Nibesh Shrestha, Ittai Abraham, Ling Ren, and Kartik Nayak. 2020. On the optimality of optimistic responsiveness. In Conf. on Computer and Communications Security (CCS). ACM, 839--857.
[170]
Atul Singh, Tathagata Das, Petros Maniatis, Peter Druschel, and Timothy Roscoe. 2008. BFT Protocols Under Fire. In Symposium on Networked Systems Design and Implementation (NSDI), Vol. 8. USENIX Association, 189--204.
[171]
Yee Jiun Song and Robbert van Renesse. 2008. Bosco: One-step byzantine asynchronous consensus. In Int. Symposium on Distributed Computing (DISC). Springer, 438--450.
[172]
João Sousa and Alysson Bessani. 2015. Separating the WHEAT from the chaff: An empirical design for geo-replicated state machines. In Symposium on Reliable Distributed Systems (SRDS). IEEE, 146--155.
[173]
Paulo Sousa, Alysson Neves Bessani, Miguel Correia, Nuno Ferreira Neves, and Paulo Verissimo. 2009. Highly available intrusion-tolerant services with proactive-reactive recovery. IEEE Transactions on Parallel and Distributed Systems 21, 4 (2009), 452--465.
[174]
Chrysoula Stathakopoulou, Signe Rüsch, Marcus Brandenburger, and Marko Vukoli?. 2021. Adding Fairness to Order: Preventing Front-Running Attacks in BFT Protocols using TEEs. In Int. Symp on Reliable Distributed Systems (SRDS). IEEE, 34--45.
[175]
Chrysoula Stathakopoulou, David Tudor, Matej Pavlovic, and Marko Vukoli?. 2022. [Solution] Mir-BFT: Scalable and Robust BFT for Decentralized Networks. Journal of Systems Research 2, 1 (2022).
[176]
Diem Team. 2021. DiemBFT v4: State Machine Replication in the Diem Blockchain. Technical Report. Technical Report. Diem. https://developers. diem. com/papers/diem-consensus . . . .
[177]
Feng Tian. 2017. A supply chain traceability system for food safety based on HACCP, blockchain & Internet of things. In Int. Conf. on service systems and service management (ICSSSM). IEEE, 1--6.
[178]
Gene Tsudik. 1992. Message authentication with one-way hash functions. ACM SIGCOMM Computer Communication Review 22, 5 (1992), 29--38.
[179]
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 Int. Symposium on Reliable Distributed Systems (SRDS). IEEE, 135--144.
[180]
Giuliana Santos Veronese, Miguel Correia, Alysson Neves Bessani, and Lau Cheuk Lung. 2010. EBAWA: Efficient Byzantine agreement for wide-area networks. In Int. Symposium on High Assurance Systems Engineering (HASE). IEEE, 10--19.
[181]
Giuliana Santos Veronese, Miguel Correia, Alysson Neves Bessani, Lau Cheuk Lung, and Paulo Verissimo. 2013. Efficient byzantine fault-tolerance. Transactions on Computers 62, 1 (2013), 16--30.
[182]
Gauthier Voron and Vincent Gramoli. 2019. Dispel: Byzantine SMR with distributed pipelining. arXiv preprint arXiv:1912.10367 (2019).
[183]
Michael Whittaker, Ailidani Ailijiang, Aleksey Charapko, Murat Demirbas, Neil Giridharan, Joseph M Hellerstein, Heidi Howard, Ion Stoica, and Adriana Szekeres. 2021. Scaling replicated state machines with compartmentalization. Proceedings of the VLDB Endowment 14, 11 (2021), 2203--2215.
[184]
Chenyuan Wu, Mohammad Javad Amiri, Jared Asch, Heena Nagda, Qizhen Zhang, and Boon Thau Loo. 2022. FlexChain: An Elastic Disaggregated Blockchain. Proc. of the VLDB Endowment 16, 01 (2022), 23--36.
[185]
Chenyuan Wu, Mohammad Javad Amiri, Haoyun Qin, Bhavana Mehta, Ryan Marcus, and Boon Thau Loo. [n. d.]. Towards Full Stack Adaptivity in Permissioned Blockchains. ([n. d.]).
[186]
Chenyuan Wu, Bhavana Mehta, Mohammad Javad Amiri, Ryan Marcus, and Boon Thau Loo. 2023. AdaChain: A Learned Adaptive Blockchain. Proc. of the VLDB Endowment 16, 8 (2023), 2033--2046.
[187]
David Yakira, Avi Asayag, Gad Cohen, Ido Grayevsky, Maya Leshkowitz, Ori Rottenstreich, and Ronen Tamari. 2021. Helix: A Fair Blockchain Consensus Protocol Resistant to Ordering Manipulation. IEEE Transactions on Network and Service Management 18, 2 (2021), 1584--1597.
[188]
Jian Yin, Jean-Philippe Martin, Arun Venkataramani, Lorenzo Alvisi, and Mike Dahlin. 2003. Separating agreement from execution for byzantine fault tolerant services. Operating Systems Review (OSR) 37, 5 (2003), 253--267.
[189]
Maofan Yin, Dahlia Malkhi, Michael K Reiter, Guy Golan Gueta, and Ittai Abraham. 2019. HotStuff: BFT consensus with linearity and responsiveness. In Symposium on Principles of Distributed Computing (PODC). ACM, 347--356.
[190]
Mahdi Zamani, Mahnush Movahedi, and Mariana Raykova. 2018. RapidChain: Scaling blockchain via full sharding. In SIGSAC Conf. on Computer and Communications Security. ACM, 931--948.
[191]
Yunhao Zhang, Srinath Setty, Qi Chen, Lidong Zhou, and Lorenzo Alvisi. 2020. Byzantine ordered consensus without Byzantine oligarchy. In Symposium on Operating Systems Design and Implementation (OSDI). USENIX Association, 633--649.
[192]
Lidong Zhou, Fred Schneider, Robbert VanRenesse, and Zygmunt Haas. 2002. Secure distributed on-line certification authority. US Patent App. 10/001,588.
[193]
Lidong Zhou, Fred B Schneider, and Robbert Van Renesse. 2002. COCA: A secure distributed online certification authority. ACM Transactions on Computer Systems (TOCS) 20, 4 (2002), 329--368.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD/PODS '24: Companion of the 2024 International Conference on Management of Data
June 2024
694 pages
ISBN:9798400704222
DOI:10.1145/3626246
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 June 2024

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. bft protocols
  2. byzantine failure
  3. consensus
  4. distributed transactions
  5. partial synchrony

Qualifiers

  • Tutorial

Funding Sources

Conference

SIGMOD/PODS '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 785 of 4,003 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 81
    Total Downloads
  • Downloads (Last 12 months)81
  • Downloads (Last 6 weeks)9
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media