On the Practicality of `Practical' Byzantine Fault Tolerance
Nikos Chondros, Konstantinos Kokordelis, Mema Roussopoulos

TL;DR
This paper examines the practical challenges faced when implementing Byzantine Fault Tolerance (BFT) systems, specifically using PBFT middleware, for real-world applications like electronic voting, highlighting obstacles and the need for more usable BFT solutions.
Contribution
The paper provides an empirical analysis of the difficulties in applying existing BFT middleware to practical applications, emphasizing usability issues and areas for future improvement.
Findings
Several obstacles in applying PBFT middleware to real-world applications.
Significant engineering effort needed to adapt BFT for specific applications.
End-developer reluctance due to complexity and performance uncertainties.
Abstract
Byzantine Fault Tolerant (BFT) systems are considered by the systems research community to be state of the art with regards to providing reliability in distributed systems. BFT systems provide safety and liveness guarantees with reasonable assumptions, amongst a set of nodes where at most f nodes display arbitrarily incorrect behaviors, known as Byzantine faults. Despite this, BFT systems are still rarely used in practice. In this paper we describe our experience, from an application developer's perspective, trying to leverage the publicly available and highly-tuned PBFT middleware (by Castro and Liskov), to provide provable reliability guarantees for an electronic voting application with high security and robustness needs. We describe several obstacles we encountered and drawbacks we identified in the PBFT approach. These include some that we tackled, such as lack of support for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Cloud Data Security Solutions · Data Quality and Management
