The Calibra team at Facebook has submitted a research paper that outlines a new method for Byzantine fault tolerance testing. Called Twin, Calibra is set up with a lightweight method that tests a network's ability to implement the fault testing. In the paper, Calibra asserts that the Byzantine fault testing systems have been studied for more than 20 years, but the field still lacks a cohesive strategy for testing new features to the system.
The testing method includes running two nodes with the same identity in order to simulate Byzantine behavior. It includes equivocation, voting twice and an internal losing state. Calibra suggests that Twins allows an operator to use a systematic generation of a Byzantine attack scenario at a realistic scale. It can then execute the attack in a controlled way and check the protocol's properties.
The Byzantine fault testing is an idea that comes from a 1982 paper from Leslie Lamport, Robert Shostak, and Marshall Pease. It explains a situation in which a group of Byzantine commanders and their forces surround a fortification and get ready to attack it. All of the parties have to attack at the same time. They know there is a traitor among themselves. They don't know who it is. It suggests that coordinating a network in the middle of a threat from a malicious entity can cause disruptions through the transmission of erroneous or made-up data.
Bitcoin gets its Byzantine fault tolerance testing done through a mining algorithm that uses proof of work systems. It uses a lot of resources in order to demonstrate a small influence on the network. The paper shows how Twins can be used to recreate attacks on testing protocols. Two of the attacks took more than 10 years to discover, but Twins would have found it in a few minutes.
The co-creator of Calibra, David Marcus, stated that one of his top joys on the job is being able to work with smart people in the field. He added that the testing implementations done by his team are cutting-edge work. Some behaviors will not be detected by Twins.