{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T11:59:34Z","timestamp":1775822374983,"version":"3.50.1"},"reference-count":125,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2021,2,11]],"date-time":"2021-02-11T00:00:00Z","timestamp":1613001600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001659","name":"Deutsche Forschungsgemeinschaft","doi-asserted-by":"publisher","award":["DI 2097\/1-2"],"award-info":[{"award-number":["DI 2097\/1-2"]}],"id":[{"id":"10.13039\/501100001659","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2022,1,31]]},"abstract":"<jats:p>Byzantine fault-tolerant\u00a0(BFT) state-machine replication makes it possible to design systems that are resilient against arbitrary faults, a requirement considered crucial for an increasing number of use cases such as permissioned blockchains, firewalls, and SCADA systems. Unfortunately, the strong fault-tolerance guarantees provided by BFT replication protocols come at the cost of a high complexity, which is why it is inherently difficult to correctly implement BFT systems in practice. This is all the more true with regard to the plethora of solutions and ideas that have been developed in recent years to improve performance, availability, or resource efficiency. This survey aims at facilitating the task of building BFT systems by presenting an overview of state-of-the-art techniques and analyzing their practical implications, for example, with respect to applicability and composability. In particular, this includes problems that arise in the context of concrete implementations, but which are often times passed over in literature. Starting with an in-depth discussion of the most important architectural building blocks of a BFT system\u00a0(i.e.,\u00a0clients, agreement protocol, execution stage), the survey then focuses on selected approaches and mechanisms addressing specific tasks such as checkpointing and recovery.<\/jats:p>","DOI":"10.1145\/3436728","type":"journal-article","created":{"date-parts":[[2021,2,11]],"date-time":"2021-02-11T11:17:16Z","timestamp":1613042236000},"page":"1-38","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":56,"title":["Byzantine Fault-tolerant State-machine Replication from a Systems Perspective"],"prefix":"10.1145","volume":"54","author":[{"given":"Tobias","family":"Distler","sequence":"first","affiliation":[{"name":"Friedrich-Alexander-Universit\u00e4t Erlangen-N\u00fcrnberg (FAU), Erlangen, Germany"}]}],"member":"320","published-online":{"date-parts":[[2021,2,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359663"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2010.70"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the 2nd International Workshop on Hardware and Architectural Support for Security and Privacy (HASP\u201913)","author":"Anati Ittai","year":"2013"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3190508.3190538"},{"key":"e_1_2_1_5_1","unstructured":"ARM. 2009. Security Technology Building a Secure System Using TrustZone Technology. White Paper.  ARM. 2009. Security Technology Building a Secure System Using TrustZone Technology. White Paper."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2658994"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2013.53"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231893"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2019.00043"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814576.2814800"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064213"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the 2nd Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers (SERIAL\u201918)","author":"Berger Christian"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS47363.2019.00029"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133255.1134000"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN48063.2020.00057"},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the 2013 USENIX Annual Technical Conference (USENIX ATC\u201913)","author":"Bessani Alysson","year":"2013"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 44th International Conference on Dependable Systems and Networks (DSN\u201914)","author":"Bessani Alysson"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1462735.1462763"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSP.2008.158"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the 12th USENIX Security Symposium (USENIX Security\u201903)","author":"Bhatkar Sandeep"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-36288-6_3"},{"key":"e_1_2_1_23_1","volume-title":"Tendermint: Byzantine Fault Tolerance in the Age of Blockchains. Master Thesis","author":"Buchman Ethan","year":"2016"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the 20th International Conference on Principles of Distributed Systems (OPODIS\u201916)","author":"Cachin Christian","year":"2017"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the 31st International Symposium on Distributed Computing (DISC\u201917)","author":"Cachin Christian","year":"2017"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI\u201999)","author":"Castro Miguel","year":"1999"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/571637.571640"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/859716.859718"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281100.1281103"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294280"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629602"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/1558977.1558988"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2006.03.034"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/bxs148"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/2007225.2007228"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2539117"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI\u201906)","author":"Cowling James","year":"2006"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3301419.3323968"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2015.2495213"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1966445.1966455"},{"key":"e_1_2_1_42_1","volume-title":"Proceedings of the 18th Network and Distributed System Security Symposium (NDSS\u201911)","author":"Distler Tobias","year":"2011"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the 5th \u201dSicherheit, Schutz und Zuverl\u00e4ssigkeit\u201d Conference (SICHERHEIT\u201910)","author":"Distler Tobias"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243812"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/42282.42283"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS47363.2019.00026"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN-W.2018.00053"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00607-018-0652-3"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3361525.3361549"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3149.214121"},{"key":"e_1_2_1_51_1","volume-title":"Proceedings of the 6th Workshop on Hot Topics in Operating Systems (HotOS\u201997)","author":"Forrest Stephanie"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.5555\/822082.823140"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2180"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3361525.3361550"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2011.5958251"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2016.2593442"},{"key":"e_1_2_1_57_1","doi-asserted-by":"crossref","volume-title":"On designing dependable services with diverse off-the-shelf SQL servers","author":"Gashi Ilir","DOI":"10.1007\/978-3-540-25939-8_9"},{"key":"e_1_2_1_58_1","volume-title":"Proceedings of the 49th International Conference on Dependable Systems and Networks (DSN\u201919)","author":"Gueta Guy Golan","year":"2019"},{"key":"e_1_2_1_59_1","volume-title":"Proceedings of the 14th European Dependable Computing Conference (EDCC\u201918)","author":"Habiger Gerhard"},{"key":"e_1_2_1_60_1","volume-title":"Proceedings of the 2nd Workshop on Hot Topics in System Dependability (HotDep\u201906)","author":"Haeberlen Andreas","year":"2006"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294279"},{"key":"e_1_2_1_62_1","volume-title":"Proceedings of the International Symposium on Secure Software Engineering (ISSSE\u201906)","author":"Halfond William G. J.","year":"2006"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS.2016.030"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/78969.78972"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2013.6494997"},{"key":"e_1_2_1_66_1","volume-title":"Proceedings of 25th International Symposium on Fault-Tolerant Computing (FTCS-25)","author":"Huang Yennun"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168866"},{"key":"e_1_2_1_68_1","volume-title":"Proceedings of the 7th International Conference on Distributed Applications and Interoperable Systems (DAIS\u201907)","author":"Kapitza R\u00fcdiger"},{"key":"e_1_2_1_69_1","volume-title":"Proceedings of the 6th Workshop on Hot Topics in System Dependability (HotDep\u201910)","author":"Kapritsos Manos"},{"key":"e_1_2_1_70_1","volume-title":"Proceedings of the 10th Symposium on Operating Systems Design and Implementation (OSDI\u201912)","author":"Kapritsos Manos","year":"2012"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/948109.948146"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/1658357.1658358"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2004.1311928"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/1711475.1711494"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/1753171.1753191"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/800217.806614"},{"key":"e_1_2_1_77_1","volume-title":"Proceedings of the 6th Symposium on Networked Systems Design and Implementation (OSDI\u201909)","author":"Levin Dave","year":"2009"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2018.00019"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1109\/EDCC.2016.36"},{"key":"e_1_2_1_80_1","volume-title":"Proceedings of the 4th Symposium on Networked Systems Design and Implementation (NSDI\u201907)","author":"Li Jinyuan","year":"2007"},{"key":"e_1_2_1_81_1","volume-title":"Proceedings of the 12th Conference on Operating Systems Design and Implementation (OSDI\u201916)","author":"Liu Shengyun","year":"2016"},{"key":"e_1_2_1_82_1","volume-title":"Proceedings of the 8th Symposium on Operating Systems Design and Implementation (OSDI\u201908)","author":"Mao Yanhua","year":"2008"},{"key":"e_1_2_1_83_1","volume-title":"Multi-ring Paxos. In Proceedings of the 42nd International Conference on Dependable Systems and Networks (DSN\u201912)","author":"Marandi Parisa Jalili","year":"2012"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2004.3"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2004.1311902"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2006.35"},{"key":"e_1_2_1_88_1","doi-asserted-by":"crossref","unstructured":"Ralph C. Merkle. 1987. A digital signature based on a conventional encryption function. In Advances in Cryptology (CRYPTO\u201987). 369--378.  Ralph C. Merkle. 1987. A digital signature based on a conventional encryption function. In Advances in Cryptology (CRYPTO\u201987). 369--378.","DOI":"10.1007\/3-540-48184-2_32"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-981-10-2738-3"},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2008.76"},{"key":"e_1_2_1_91_1","volume-title":"Proceedings of the DARPA Information Survivability Conference and Exposition (DISCEX\u201900)","author":"Moser Louise E.","year":"2000"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2018.00028"},{"key":"e_1_2_1_93_1","unstructured":"National Institute of Standards and Technology. 2020. National Vulnerability Database. Retrieved from http:\/\/nvd.nist.gov\/.  National Institute of Standards and Technology. 2020. National Vulnerability Database. Retrieved from http:\/\/nvd.nist.gov\/."},{"key":"e_1_2_1_94_1","doi-asserted-by":"publisher","DOI":"10.1145\/112600.112605"},{"key":"e_1_2_1_95_1","volume-title":"Article 61","author":"Platania Marco","year":"2016"},{"key":"e_1_2_1_96_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS.2014.16"},{"key":"e_1_2_1_97_1","doi-asserted-by":"publisher","DOI":"10.1145\/2741948.2741979"},{"key":"e_1_2_1_98_1","volume-title":"Proceedings of the 26th Symposium on Reliable Distributed Systems (SRDS\u201907)","author":"Hans"},{"key":"e_1_2_1_99_1","doi-asserted-by":"publisher","DOI":"10.1145\/359340.359342"},{"key":"e_1_2_1_100_1","volume-title":"Proceedings of the 2nd Bertinoro Workshop on Future Directions in Distributed Computing (FuDiCo\u201904)","author":"Rodrigues Rodrigo","year":"2004"},{"key":"e_1_2_1_101_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2010.52"},{"key":"e_1_2_1_102_1","doi-asserted-by":"publisher","DOI":"10.1145\/1813654.1813655"},{"key":"e_1_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS47363.2019.00043"},{"key":"e_1_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.1145\/800216.806586"},{"key":"e_1_2_1_105_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2017.23"},{"key":"e_1_2_1_106_1","doi-asserted-by":"publisher","DOI":"10.1145\/98163.98167"},{"key":"e_1_2_1_107_1","volume-title":"Proceedings of the 7th Symposium on Networked Systems Design and Implementation (NSDI\u201910)","author":"Sen Siddhartha"},{"key":"e_1_2_1_108_1","doi-asserted-by":"publisher","DOI":"10.5555\/1756169.1756190"},{"key":"e_1_2_1_109_1","doi-asserted-by":"publisher","DOI":"10.5555\/1387589.1387603"},{"key":"e_1_2_1_110_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS.2015.40"},{"key":"e_1_2_1_111_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2018.00018"},{"key":"e_1_2_1_112_1","doi-asserted-by":"publisher","DOI":"10.1109\/EDCC.2012.32"},{"key":"e_1_2_1_113_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2009.83"},{"key":"e_1_2_1_114_1","volume-title":"Proceedings of the 2nd Workshop on Recent Advances on Intrusion-Tolerant Systems (WRAITS\u201908)","author":"Sousa Paulo"},{"key":"e_1_2_1_115_1","doi-asserted-by":"publisher","DOI":"10.1145\/1141277.1141435"},{"key":"e_1_2_1_116_1","doi-asserted-by":"publisher","DOI":"10.5555\/1323140.1323145"},{"key":"e_1_2_1_117_1","doi-asserted-by":"publisher","DOI":"10.1109\/RELDIS.1988.25784"},{"key":"e_1_2_1_118_1","doi-asserted-by":"publisher","DOI":"10.1145\/141809.141812"},{"key":"e_1_2_1_119_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-35476-2_24"},{"key":"e_1_2_1_120_1","doi-asserted-by":"publisher","DOI":"10.1145\/1122480.1122497"},{"key":"e_1_2_1_121_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS.2009.36"},{"key":"e_1_2_1_122_1","doi-asserted-by":"publisher","DOI":"10.1109\/HASE.2010.19"},{"key":"e_1_2_1_123_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2011.221"},{"key":"e_1_2_1_124_1","volume-title":"Proceedings of the International Workshop on Open Problems in Network Security (iNetSec\u201915)","author":"Vukoli\u0107 Marko","year":"2015"},{"key":"e_1_2_1_125_1","doi-asserted-by":"publisher","DOI":"10.1145\/1966445.1966457"},{"key":"e_1_2_1_126_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945470"},{"key":"e_1_2_1_127_1","doi-asserted-by":"publisher","DOI":"10.1145\/571637.571638"},{"key":"e_1_2_1_128_1","doi-asserted-by":"publisher","DOI":"10.1145\/1085126.1085127"}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3436728","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3436728","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T17:45:04Z","timestamp":1750268704000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3436728"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,2,11]]},"references-count":125,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,1,31]]}},"alternative-id":["10.1145\/3436728"],"URL":"https:\/\/doi.org\/10.1145\/3436728","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,2,11]]},"assertion":[{"value":"2020-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-02-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}