You can't unit test a distributed protocol, but you can model check it
Distributed bugs are expensive to fix after deployment. Model checking lets you find them before you write a single line of implementation code.
You can't unit test a distributed protocol. A unit test runs one process on one machine in one order. Your protocol runs ten processes across five machines in…