NeoResearch has introduced a mixed-integer linear programming model created for testing PBFT-inspired consensus mechanisms. The team has drawn on its background in the field of combinatorial optimization problems to produce the model, which was developed for dBFT 2.0 and is currently being extended for its next iteration.

MILPs are commonly used to help solve difficult optimization problems and prove the optimality of a solution. In NeoResearch’s work, they are used to model strong Byzantine adversaries in the context of distributed networks. Specifically, the model is applied to discover situations that can cause dBFT to fault, and to explore it’s practical limits in terms of safety and liveness.

This is explained in their academic article’s abstract, outlining the key benefit of the model for developers of classical-style consensus mechanisms such as dBFT:

“Core developers have to manually devise and explore possible adversarial attack scenarios as an exhaustive task. The proposed multi-objective model is intended to assist the search of possible faulty scenarios, which includes three objective functions that can be combined as a maximization problem for testing one-block finality or a minimization problem for ensuring liveness. Automated graphics help developers to visually observe attack conditions and to quickly find a solution.”

In an article by co-author Vitor Coelho, it is noted that in addition to its practical use for optimizing dBFT 2.0, the model will also act as the basis for dBFT 3.0’s development. This next stage of evolution for Neo’s consensus mechanism will continue on from its roots in PBFT, with a proposed introduction of double speakers in order to increase resilience against faulty primary nodes.

More information on the proposed direction of dBFT 3.0 can be found in a new specification document.