Flexible BFT: Separating BFT Protocol Design from the Fault Model (Keynote Lecture)

Author Dahlia Malkhi

Thumbnail PDF


  • Filesize: 208 kB
  • 1 pages

Document Identifiers

Author Details

Dahlia Malkhi
  • VMWare

Cite AsGet BibTex

Dahlia Malkhi. Flexible BFT: Separating BFT Protocol Design from the Fault Model (Keynote Lecture). In International Conference on Blockchain Economics, Security and Protocols (Tokenomics 2019). Open Access Series in Informatics (OASIcs), Volume 71, p. 2:1, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020)


Byzantine Fault Tolerant (BFT) protocols designed for building replicated services collapse if deployed under settings that differ from the fault model they are designed for. For example, in a partial-synchrony model, a known lower bound for BFT is 1/3. Optimal-resilience solutions completely break if the fraction of Byzantine faults exceeds 1/3. The only way we know to achieve > 1/3 resilience is by assuming synchrony, but this requires the protocol to be designed with that assumption. Flexible BFT is a new approach to BFT protocol design that separates between the fault model and the solution. Clients in Flexible BFT specify (i) the adversarial threshold they need to tolerate, and (ii) whether they believe in synchrony (and the presumed bound on transmission delays). We present a Flexible BFT solution that simultaneously supports different clients, who differ simply by the number of messages and/or time the clients are willing to wait for. At an even finer grain, Flexible BFT supports under the same solution high-value and low-value transactions, each tolerating a different threat model.

Subject Classification

ACM Subject Classification
  • Theory of computation → Distributed algorithms
  • Byzantine fault-tolerance
  • blockchains


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail