Facebook’s Calibra team have published a research paper outlining a new method for Byzantine fault tolerance, or BFT, testing. Termed as “Twins”, it comprises of a lightweight method for testing a network’s BFT implementation.
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 co-creator David Marcus, tweeted:
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. https://t.co/kCYLBjGiJF — David Marcus (@davidmarcus) April 23, 2020
Calibra asserts that Twins would allow its operator to “systematically generate Byzantine attack scenarios at scale, execute them in a controlled manner, and check for desired protocol properties.”
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.”
While the paper asserts that many Byzantine seniors can be identified using the system, the authors admit 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.