Hi Greg, thanks for the response. The logic may not be trivial to code but it’s fairly straightforward — keys can be repeatedly purchased from an amount funded in the smart contract, conditional on calling on the F3D time remaining and getting a response that meets certain conditions. Once the F3D prize is distributed the remainder of the funds can be sent out according to whatever logic is built in. I mean, none of this stuff requires a solution to the halting problem, so… Not sure what I’d be missing.
And yes you’ve got the right idea on the refund option. The person who “keeps bumping the 30 seconds” is provably just throwing money away. I can’t say how hard it would be to convince someone of this, but it’d be clearly true.
As for the last part, bidding still wouldn’t make any sense with a commitment contract in place. Especially if it’s offering a partial refund, as you mention.