Bitcoin Forum

Other => Beginners & Help => Topic started by: breminp on June 19, 2011, 01:20:10 AM



Title: What stops Pool abuse by keeping the solution?
Post by: breminp on June 19, 2011, 01:20:10 AM
I don't understand how the pool security works here, so hopefully someone can clear this up...

my understanding:
1. The pool give my computer a getwork (for difficulty 1)
2. I solve it
3. I send it to the pool
4. the pool takes those diff 1 solves, ands submits them to bitcoind as its own solve?
5. bitcoind then decides if its a real solve at current difficulty

Am I correct in simple terms that this is what's happening?

If so, wouldn't a malicious user then submit to a local bitcoind each of their solves from #2 before sending on to the pool and then if it is good, keep the 50 btc, otherwise give the bad hash to the pool?

what am I missing?

Thx in advance?


Title: Re: What stops Pool abuse by keeping the solution?
Post by: Auspician on June 19, 2011, 01:27:42 AM
You have a good understanding of how it works.  But have you noticed those 'stale' solves?  That happens if the solution has already been submitted by someone else and determined to be invalid. 

So basically all you'd be doing by sending your solutions out solo before submitting them to the pool would be solo mining and getting 100% stale shares submitted to the pool (which will be worth nothing).  At that point you may as well just solo mine.


Title: Re: What stops Pool abuse by keeping the solution?
Post by: breminp on June 19, 2011, 04:19:18 PM
Yes, but most solutions aren't sent to the bitcoind ultimately as they are nowhere near a good solve. So you could still submit all but the most likely hashes to the pool couldn't you? say 99% of the hashes goto the pool and the 1% best ones goto the local bitcoind?


Title: Re: What stops Pool abuse by keeping the solution?
Post by: luxgladius on June 19, 2011, 06:11:43 PM
I would think the main thing stopping the abuse is that the pool director generates the block to work on, including the payout addresses. So if you hash the block and find you have a solution, then sure, you can submit it yourself, but it's going to have the same effect. Looking at the Pooled Mining wiki page (https://en.bitcoin.it/wiki/Pooled_mining), it seems that different pools have different procedures for doing payout. Some have all the payout for generation go to the mining pool address, and some appear to add a transaction to the block that pays out to the pool members instantaneously on the generation of a block.

And yes, you could spend your time working on blocks with just your own address, but then you wouldn't have hashes to send back to the pool as proof of work, and you'd pretty much be solo mining.

I don't mine, I hope I got this right.