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 three practical rules, then, which I have to offer, are, 1. Never read any book that is not a year old. 2. Never read any but famed books. 3. Never read any but what you like.”
—Ralph Waldo Emerson (18031882)
“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)
“Our first line of defense in raising children with values is modeling good behavior ourselves. This is critical. How will our kids learn tolerance for others if our hearts are filled with hate? Learn compassion if we are indifferent? Perceive academics as important if soccer practice is a higher priority than homework?”
—Fred G. Gosman (20th century)