(…)
- What you described would mean that the users have an unlimited number of time to reveal their hash. So yes, we could argue that we do not need a fixed deadline to reveal the hashes as miners (who have a paid tax on stake) will always have the interest to reveal their solution sooner or later.
- But what happens when they don't? A powerful attacker with lots of XEL could DOS work jobs. With a fixed deadline job creators would get reimbursed for the DOS attack by getting the tax. Without a deadline, they are just stuck with an "infinitely pending job".
regarding the second part:
- good point to think about who gets the tax ... does the user get it back, will it be used as fee, ... we could brainstorm about this a bit, sure!
(The mentioned scenarios are obviously talking about the case in which there either is a single solution for the job or two or more miners find the same solution*)
- You would need some kind of deadline to reveal the solution, because otherwise, you could just stall the job. I mean, what's the point of taxed hashes if the one revealing the solution first gets the bounty? The scenario could look like this:
- I, as the malicious miner, send a hash for a job, but don't reveal it.
- Other miners see that a hash is submitted and must fear that solutions they find are invalid, thus…
- …they stop working on that job.
- Now, I can work on that job alone, until I find the real solution, or f*ck with the submitter for whatever reason.
Thus, you'd need some kind of deadline anyway.
Brainstorming:
- If you have a system in place, where the first person to send the right hash in would be the one who gets the bounty, but the network is stalled, others may have kept working on a job that already had a solution, thus wasted their time.
- In that case, one of the miners not only lost time and energy, but also the invested XEL, when we have a system where they do not get reimbursed.
- What if the tax gets added to the bounty of the job, the hash is meant for? This would a) effectively reimburse the miner and b) prevent the XEL to get on the free market again, until the job is finished, thus, an attacker couldn't buy the same XEL over and over again.
- Additionally, this could render any late submissions invalid, returning the XEL to the sender (thus, no XEL is lost for latecomers).
- But what happens to the XEL if the job remains unfinished? Although in that scenario, there shouldn't be sent in hashes in the first place, should there? So it is relatively safe to assume, that taxed hashes that get sent in to "solve" jobs without solution are mistakes at best and malicious at worst. In that case, the XEL should not go back to the miner, but get paid out to the network supporters. However, this would open the possibility for an attack by creating bogus jobs, send in hashes, then cancel the job, the XEL gets liquid again, and so on** (or is that too much of a corner case?). In this case, it may be prudent to implement some kind of deadline for releasing the submitted XEL, but this deadline could be ridiculously long, like six months or something, to prevent a wealthy attacker from buying the same XEL over and over again, but still preventing the XEL from getting burned.
- No, you couldn't send the same XEL over and over again, your "unconfirmed Balance" would drop to 0 eventually, preventing you from spending any XEL that you don't have.
Well, how do doublespends occur then in the first place? Which instance of the system checks for your balance, if not the miners/stakers? The first one is obviously your wallet, but that can be tampered with. I realize that there has to be some kind of easy solution which I am not aware of, since you could DoS pretty much any blockchain with this, if it was easily possible.
*This seems to be a general problem, though. I guess, this was discussed already?
** Do you think this is a valid attack scenario; that an attacker swarms the network with small jobs, solving them themself(since they know the job "from the inside", they'd have an advantage at solving it) to get the XEL back, effectively DoSing the network?