Facebook’s Calibra team has outlined a new method for testing a network’s Byzantine fault tolerance (BFT). The team recently published a research paper, outlining new techniques for BFT testing. The innovation which is known as “Twins” is made up of a lightweight method for testing a protocol’s BFT implementation.

According to the paper, although traditional BFT systems have undergone extensive study for over 20 years, the field still lacks a principled strategy for testing BFT implementations. Twins runs 2 instances of a node with the same identity to copy Byzantine behavior, such as equivocation, double voting and losing internal state.

Calibra claims that Twins enables its operator to systematically generate Byzantine attack scenarios at scale. It also enables them to execute those attack scenarios in a controlled manner and check for desired protocol characteristics.

If you are not familiar with the BFT yet, the concept was derived from a 1982 academic paper written by Leslie Lamport, Marshall Pease and Robert Shostak. It is a metaphor which describes a scenario in which a group of Byzantine generals and their forces surround a castle, preparing to attack. For their operation to be successful, all forces must attack simultaneously. However, it becomes difficult for the forces to act in unison due to a known traitor among them.

Bringing this into the blockchain context, BFT refers to the challenge for a network to coordinate, amid the threat of malicious actors trying to cause disruptions by transmitting false or inaccurate data. Bitcoin in particular, achieves BFT through its proof-of-work mining algorithm. With this, bad actors will need huge resource investments before they can briefly exert a small influence on the network.

Though the innovators of Twins asserts that many Byzantine seniors can be identified using the system, they also agree that some Byzantine behaviors are not covered by their innovation. These exceptions include those that do not adhere to the full disclosure of casual past, that is; the situation where nodes act deterministically according to previous behavior.