Why do we need to find out exactly where in the scrypt hashing the verification failed? Why not say "the proof of work is incorrect, do not send a dogetoken" and that be the end of it?
The verification game has two outcomes one of proposer or challenger will win.
But there are many other circumstances that affect the way the game will play:
- A challenger might be sending spam. A proposer have to defend itself against challenges in good or bad faith.
- A proposer or challenger runs out of funds and cannot finish the game. A unverified block prevent new blocks being accepted.
- Challenges needs a timeout. Long enough to accept valid challenges, but not too long that it causes a DoS to the contract.
- A challenge can only prove if the result is wrong, but it cannot prove it is right.