introduces the notion of forfeited job #49
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently all errors that arise from the execution layer are treated as errors belonging to the computation being requested. One cannot guarantee execution of a faulty program after all. However, without assumptions of network consistency, it is totally possible that errors arise belonging to the resource provider. Hardware can break, data centers can lose power, etc.
Under the current paradigm the job creator needs to wait for timeouts to expire on the job, find the job id, and send a new tx to recover the funds. And there is no
coophive recover
command yet. In the case of long time out periods for long jobs (say a couple months) it would be a lot nicer if the resource provider could just say 'hey i cant run your job anymore, here is a refund`or if the job creator can say, 'hey thanks for running so far, but i dont need it anymore, lets cancel now and prorate the computation completed.
Payment is refunded to job creator
Resource Provider receives collateral back