I am just finishing the "payment" aspects of the work packages.
In a first step I have added many details to the work creation page so the user exactly knows that parameter means what and what will be refundable under what circumstances.
Now I need some input from the community, how should we best design the "payment" for the work itself.
A few options:
1. We can just say 1 XEL = 1 Flop, so if the network has a total computation power of 10 Flops per hour for example (this can be approximately calculated from the proof-of-work difficulty) you need 10 XEL to have your work live for 1 hour, 20 XEL to have it live for 2 hours. This sucks, because who are we that we decide how much 1 Flop is worth.
2. This brings us to possibility 2: We can let the users decide how much they are willing to pay for 1 Flop. This would however cause that miners of course would first do those with the highest amounts paid. But this way the fair per-flop price would be always found "by the market".
I am sure we all agree to go for point 2?
If so we have to think further. How can be estimate the time for which the work will be live then? I cannot think of any "time estimation" in this case as it depends on how many miners mine for the largest amount, and how many mine randomly. It depends on how many work packages are there with a higher XEL/Flop payment, and many other factors.
I think we have to drop all time estimations and work with absolute "You get 10000 FLOPS"-values.
Also, for point two we need to "suggest" some XEL/flop price to the user and then give him a way to adjust this value ... maybe with a slider. I mean, otherwise noone would have an intuitive feeling for which value is the best tradeoff between price and the mount of attractiveness to the miners. How would be suggest a value? Just use the average price of all current job? This could open up some attack vectors and trick users out of their XEL with bogus work packages with insane XEL/flop prices. And how do we suggest a value when no job is currently live? Do we use empirical data? Or do we use some standard value (but here, why should be be allowed to decide any value).
Maybe we can discuss this a bit?
This payment stuff is one of the last pieces missing in the frontend, but certainly the most crucial one.