Byzantine Fault Tolerance - Practical Byzantine Fault Tolerance

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:

    [Girls] study under the paralyzing idea that their acquirements cannot be brought into practical use. They may subserve the purposes of promoting individual domestic pleasure and social enjoyment in conversation, but what are they in comparison with the grand stimulation of independence and self- reliance, of the capability of contributing to the comfort and happiness of those whom they love as their own souls?
    Sarah M. Grimke (1792–1873)

    This is a fault common to all singers, that among their friends they will never sing when they are asked; unasked, they will never desist.
    Horace [Quintus Horatius Flaccus] (65–8 B.C.)

    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)