lucasteles/Backdash

Desync Validation: State consistency validation between peers

Opened this issue · 0 comments

It is hard to know if two client states are correct.

We need at least periodic messages with the frame number and state checksum to be verified by other peers.

If the validation fails, the client should be disconnected.

UPDATE:
There is a started work on consistency-check branch.

The problem is, that the GetHashCode() approach for state validity it is not stable between different appdomains because it changes on every execution, so it necessary to rethink how we do checksum, and/or even how we are serializing the state data as most eligible checksum algorithm run on byte arrays (like Fletcher-32, CRC, etc).