Finally fix causal

I could pass every test in the test protocol.

As long as each test is started with ping/pong from all nodes
(If first message is delayed, it will be lost)