Practical Byzantine Fault Tolerance
Byzantine fault tolerant replication protocols were long considered too expensive to be practical. Then in 1999, Miguel Castro and Barbara Liskov introduced the "Practical Byzantine Fault Tolerance" (PBFT) algorithm, which provides high-performance Byzantine state machine replication, processing thousands of requests per second with sub-millisecond increases in latency.
PBFT triggered a renaissance in BFT replication research, with protocols like Q/U, HQ,, Zyzzyva, and ABsTRACTs working to lower costs and improve performance and protocols like Aardvark working to improve robustness.
UpRight is an open source library for constructing services that tolerate both crashes ("up") and Byzantine behaviors ("right") that incorporates many of these protocols' innovations.
One example of BFT in use is Bitcoin, a peer-to-peer digital currency system. The Bitcoin network works in parallel to generate a chain of Hashcash style proof-of-work. The proof-of-work chain is the key to solving the Byzantine Generals' Problem of synchronising the global view and generating computational proof of the majority consensus.
Additionally to PBFT and Upright, there is also the BFT-SMaRt library, a high-performance Byzantine fault-tolerant state machine replication library developed in Java. This library implements a protocol very similar to PBFT's, plus complementary protocols which offer state transfer and on-the-fly reconfiguration of hosts. BFT-SMaRt is the most recent effort to implement state machine replication, still being actively maintained.
Read more about this topic: Byzantine Fault Tolerance
Famous quotes containing the words practical, fault and/or tolerance:
“The science of constructing a commonwealth, or renovating it, or reforming it, is, like every other experimental science, not to be taught a priori. Nor is it a short experience that can instruct us in that practical science, because the real effects of moral causes are not always immediate.”
—Edmund Burke (17291797)
“All the satires of the stage should be viewed without discomfort. They are public mirrors, where we are never to admit that we see ourselves; one admits to a fault when one is scandalized by its censure.”
—Molière [Jean Baptiste Poquelin] (16221673)
“Children who begin life with an eagerness to please, need to know that not pleasing is also all right now and then. They learn tolerance for others faults through our tolerance of their own.”
—Cathy Rindner Tempelsman (20th century)