Cited by 2,475Distributed systems and fault toleranceSoftware System Performance and ReliabilityAdvanced Database Systems and Queries

Practical byzantine fault tolerance and proactive recovery

Castro, Miguel, Liskov, Barbara·2002·ACM Transactions on Computer Systems

Abstract

Our growing reliance on online services accessible on the Internet demands highly available systems that provide correct service without interruptions. Software bugs, operator mistakes, and malicious attacks are a major cause of service interruptions and they can cause arbitrary behavior, that is, Byzantine faults. This article describes a new replication algorithm, BFT, that can be used to build highly available systems that tolerate Byzantine faults. BFT can be used in practice to implement real services: it performs well, it is safe in asynchronous environments such as the Internet, it incorporates mechanisms to defend against Byzantine-faulty clients, and it recovers replicas proactively. The recovery mechanism allows the algorithm to tolerate any number of faults over the lifetime of the system provided fewer than 1/3 of the replicas become faulty within a small window of vulnerability. BFT has been implemented as a generic program library with a simple interface. We used the library to implement the first Byzantine-fault-tolerant NFS file system, BFS. The BFT library and BFS perform well because the library incorporates several important optimizations, the most important of which is the use of symmetric cryptography to authenticate messages. The performance results show that BFS performs 2% faster to 24% slower than production implementations of the NFS protocol that are not replicated. This supports our claim that the BFT library can be used to build practical systems that tolerate Byzantine faults.

Integrity signals

Registry

Crossref · 10.1145/571637.571640

Cites

1 of 1 references verified0 citation errors · 0 not checkable

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

We couldn’t retrieve this paper’s full text, so its claims and self-check weren’t run. The registry and citation checks still apply.

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Using PBFT as a consensus protocol, a blockchain network of N nodes can withstand a number of failed nodes, f, where f=(N−1)/3.

    “Using PBFT as a consensus protocol, a blockchain network of N nodes can withstand a number of failed nodes, f, where f=(N−1)/3.”

    From Tamper-Resistant Mobile Health Using Blockchain Technology. (2017) · cites this paper as [33]

  • PBFT ensures that a minimum of 2×f + 1 (that is 3) nodes reach consensus on the order of transactions before appending them to the shared ledger.

    “In other words, PBFT ensures that a minimum of 2×f + 1 (that is 3) nodes reach consensus on the order of transactions before appending them to the shared ledger.”

    From Tamper-Resistant Mobile Health Using Blockchain Technology. (2017) · cites this paper as [33]

Cites

Flagged first, then by citations

Cited by

Sorted by citations

Authors
Castro, M., & Liskov, B.
Affiliations
  • Microsoft (United States) (US)
  • Massachusetts Institute of Technology (US)
Venue
ACM Transactions on Computer Systems
Published
2002-11
Volume
20
Issue
4
Pages
398-461
ISSN
  • 0734-2071 (ISSN-L)
  • 1557-7333
OpenAlex
W2114579022
Cited by
2,475
References
1
Citations by year
2026: 65 · 2025: 147 · 2024: 167 · 2023: 196 · 2022: 204 · 2021: 276 · 2020: 219 · 2019: 183 · 2018: 158 · 2017: 72 · 2016: 51 · 2015: 40 · 2014: 62 · 2013: 75 · 2012: 83
FWCI
31.74
Type
journal article
Language
en
Open access
closed
Locations
ACM Transactions on Computer Systems (publishedVersion)
Topics
  • Physical Sciences › Computer Science › Computer Networks and Communications › Distributed systems and fault tolerance
  • Physical Sciences › Computer Science › Computer Networks and Communications › Software System Performance and Reliability
  • Physical Sciences › Computer Science › Computer Networks and Communications › Advanced Database Systems and Queries
Keywords
Byzantine fault tolerance, replication algorithms, proactive recovery, highly available systems, message authentication, symmetric encryption, asynchronous distributed systems

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review