oxen-io/oxen-storage-server

Derive tester/testee based on block hash behind checkpoints

msgmaxim opened this issue · 1 comments

Nodes on different forks will derive different tester/testee pairs if we use the latest block hash. If these nodes test one another, this could result in test being recorded as failed, which would be incorrect.

Test heights are now derived as block_height_ - TEST_BLOCKS_BUFFER (the latter == 4), and although that often isn't before a checkpoint, it still causes problems because we select random indices into the current SN list: this ends up causing an ocassional "we are NOT the testee" warning, presumably because of new registrations/decommissions/activations resulting in different selection lists between tester and testee.