Hi,
I am trying to understand the getwork protocol.
I have looked at the sources code of a few existing clients, but I still have some unresolved issues I would appreciate anyone hear would shed light on
As I understand it, clients will request "work" from the server, perform the work, and if the result is "correct", send back this result (the nonce) to the server. What happens to "incorrect" work loads. As far as I seen clients never send back results for works loads which did not match the correct target.
If that is the case, how does the server know not to ask another client to perform this work ? since that would be a waste.
If the server considers that any work load which has been un-answered was incorrect, are there not many lost work loads ? Does the server set the unanswered work load "back in the queue" to come up again if no better results were found since ?
Maybe I am missing something obvious ?
I apologise if this question seems dumb, I am just starting out in the bitcoin world (and I'm loving it!)
Thanks in advance