Aren Alyahya (personal LinkedIn)
Problem: Minor mistakes in Byzantine Fault Tolerant system protocols can lead to serious consequences, affecting either safety or liveness properties.
Approach: Introduce small mutations for the seven types of message exchanges in Prime by modifying the sequence number in three ways: decrementing by one, randomizing, and randomizing within an expected range.
Results: Prime's safety is not violated, likely because the sequence number contains two parts: the incarnation number and the sequence number, which makes it easier for the system to detect such violations. However, a potential liveness violation in the implementation was uncovered when the mutation occurs during the acknowledgment of a pre-order or pre-prepare message exchange; this requires further investigation.