Bitcoin Forum

Other => Beginners & Help => Topic started by: Costia on January 21, 2012, 11:16:55 AM



Title: pool shares and witholding blocks
Post by: Costia on January 21, 2012, 11:16:55 AM
what prevents me from submitting only low difficulty blocks to a pool as proof of work, and submitting a real block, if i find it, through my solo miner to get the entire 50BTC for myself?


Title: Re: pool shares and witholding blocks
Post by: slush on January 21, 2012, 11:19:31 AM
Quote
what prevents me from submitting only low difficulty blocks to a pool as proof of work

Nothing.

Quote
and submitting a real block, if i find it, through my solo miner to get the entire 50BTC for myself?

Alongside of other reasons, pool provide you only block HEADERS, so you don't have complete block to broadcast it to network. This has been discussed wildly here, use "Search" feature of this forum.


Title: Re: pool shares and witholding blocks
Post by: Revalin on January 21, 2012, 11:21:42 AM
The block you're signing contains the payout to the pool's wallet.  If you change that to your private wallet your hash is no longer valid.


Title: Re: pool shares and witholding blocks
Post by: Costia on January 21, 2012, 11:51:02 AM
thanks
i actually didnt know what exactly to search for - so i didnt find any answers
I started wondering about this because of the p2pool
It seems to me that the miners there get the transaction data from their local bitcoind and not just the hash from the pool itself
But it seems the defense mechanism  there is a bit different:
The 50BTC of a new block in that pool do not go to the pool's address , but directly to the members.
If the attacker uses the modified version which does not include payments to the other members - his shares will be rejected by the members (and the separate shares block chain)since they dont include the payments. this way he is actually mining solo - getting the full 50BTC but no shares from the pool
If the attacker wants to get the pool shares - he will have to include the payments to the members in the transactions of all tested blocks. since the real difficulty block is random - it will contain those payments as well


Title: Re: pool shares and witholding blocks
Post by: gmaxwell on January 22, 2012, 07:30:24 PM
thanks
i actually didnt know what exactly to search for - so i didnt find any answers
I started wondering about this because of the p2pool
It seems to me that the miners there get the transaction data from their local bitcoind and not just the hash from the pool itself
But it seems the defense mechanism  there is a bit different:
The 50BTC of a new block in that pool do not go to the pool's address , but directly to the members.
If the attacker uses the modified version which does not include payments to the other members - his shares will be rejected by the members (and the separate shares block chain)since they dont include the payments. this way he is actually mining solo - getting the full 50BTC but no shares from the pool
If the attacker wants to get the pool shares - he will have to include the payments to the members in the transactions of all tested blocks. since the real difficulty block is random - it will contain those payments as well

This is true for regular pools too! The pool will only credit you for work matching a header they gave you.





Title: Re: pool shares and witholding blocks
Post by: Costia on January 22, 2012, 08:35:22 PM
I i understood how it works correctly, while the idea is the same the wya it is done is different because the header is generated by the pool client and not he pool server. (merged mining is also possible there)