Facebook’s Calibra team have published a research paper outlining a new method for Byzantine fault tolerance, or BFT, testing.
Dubbed “Twins”, Claibra’s innovation comprises a lightweight method for testing a network’s BFT implementation.
Calibra pioneers BFT testing strategy
The paper asserts that while BFT systems “have seen extensive study for more than two decades,” the field “lack[s] a principled strategy for testing BFT implementations.”
The testing method runs two instances of a node with the same identity to emulate Byzantine behavior — “including equivocation, double voting, and losing internal state.”
Calibra asserts that Twins allows its operator to “systematically generate Byzantine attack scenarios at scale, execute them in a controlled manner, and check for desired protocol properties.”
Byzantine Fault Tolerance
BFT is a concept drawn from a 1982 academic paper authored by Leslie Lamport, Robert Shostak, and Marshall Pease.
The metaphor describes a situation in which a group Byzantine generals and their forces surround a castle and prepare to attack. To be successful, all parties must attack simultaneously, however, they are aware of a traitor among them — making it difficult for the forces to act in unison.
In the context of a blockchain, the metaphor refers to the challenge for a network in seeking to coordinate amid the threat of malicious actors seeking to cause disruptions by transmitting false or inaccurate data.
Bitcoin (BTC) achieves Byzantine fault tolerance through its proof-of-work mining algorithm — which necessitates enormous resource investment in order to briefly exert a small influence on the network.
Twins shows promise and limitations
The paper outlines the use of Twins to recreate several noted attacks on BFT protocols, determining that two of the attacks — both of which “took the community more than a decade to discover” — would have been identified by Twins “within minutes.”
“One of my greatest joys at work is getting to work with some of the brightest and most capable people in the industry. Here’s some cutting edge work on testing BFT implementations by our mighty research team.”
While the paper asserts that many Byzantine seniors can be identified using the system, the authors concede that “some Byzantine behaviors are not covered by Twins,” including those that do not adhere to the full disclosure of causal past — where nodes act deterministically according to previous behavior.