If you were designing this puzzle, could you do better so that this wasn't necessary? Maybe a two step protocol:
- Send some money to an address, which would temporarily stop accepting money from anywhere else. The fee gives the sender the exclusive right to solve the puzzle for, say, 15 blocks.
- After that transaction is validated, a second transaction (which now cannot be forged by bots) can be sent through.
I am pretty sure you could do something like this on Ethereum but I don't know if the BTC protocol would allow this. I also know very little about the guts of the respective VMs in general.