Bitcoin Forum
May 08, 2024, 01:17:30 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: What keeps pool miners from simply stealing the blocks they generate?  (Read 2574 times)
tacotime (OP)
Legendary
*
Offline Offline

Activity: 1484
Merit: 1005



View Profile
January 10, 2013, 05:11:04 PM
 #1

This might be a stupid question.  As I understand it, pools work on a PoW principle similar to that of bitcoin in that they hash the block header in an effort to produce a result with a number of trailing zeroes.  This number of trailing zeroes is far less than required to actually claim a block on the network.  This lower difficulty result is sent to the pool and the pool confirms the validity of the lower difficulty share, which results in a fractional payment.

My question is: How does the pool prevent the miner from screening the shares they generate for a large number of trailing zeroes that would afford them the whole block at the current difficulty?  If a miner could do this, they could just steal blocks from the pool.

Obviously it doesn't work this way, so what was the solution?

Code:
XMR: 44GBHzv6ZyQdJkjqZje6KLZ3xSyN1hBSFAnLP6EAqJtCRVzMzZmeXTC2AHKDS9aEDTRKmo6a6o9r9j86pYfhCWDkKjbtcns
Even if you use Bitcoin through Tor, the way transactions are handled by the network makes anonymity difficult to achieve. Do not expect your transactions to be anonymous unless you really know what you're doing.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715174250
Hero Member
*
Offline Offline

Posts: 1715174250

View Profile Personal Message (Offline)

Ignore
1715174250
Reply with quote  #2

1715174250
Report to moderator
1715174250
Hero Member
*
Offline Offline

Posts: 1715174250

View Profile Personal Message (Offline)

Ignore
1715174250
Reply with quote  #2

1715174250
Report to moderator
1715174250
Hero Member
*
Offline Offline

Posts: 1715174250

View Profile Personal Message (Offline)

Ignore
1715174250
Reply with quote  #2

1715174250
Report to moderator
eleuthria
Legendary
*
Offline Offline

Activity: 1750
Merit: 1007



View Profile
January 10, 2013, 05:15:51 PM
 #2

When mining for a pool, the coinbase of the block your hashing specifically identifies what wallet address will receive the funds.  The hash would change drastically if you modified the coinbase, and the pool would reject any shares you send.

Essentially you'd be solo mining, since every share you create would be invalid when submitted to the pool.

RIP BTC Guild, April 2011 - June 2015
tacotime (OP)
Legendary
*
Offline Offline

Activity: 1484
Merit: 1005



View Profile
January 10, 2013, 05:17:22 PM
 #3

Oh, that makes sense.  Thanks!

Code:
XMR: 44GBHzv6ZyQdJkjqZje6KLZ3xSyN1hBSFAnLP6EAqJtCRVzMzZmeXTC2AHKDS9aEDTRKmo6a6o9r9j86pYfhCWDkKjbtcns
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
January 10, 2013, 05:27:13 PM
 #4

My question is: How does the pool prevent the miner from screening the shares they generate for a large number of trailing zeroes that would afford them the whole block at the current difficulty?  If a miner could do this, they could just steal blocks from the pool.
In addition to the other answer (which is the 100% slam dunk way we're guaranteed this can never happen), there's another practical problem. The miner can't steal the block because it doesn't *know* the block. All it gets from the pool is just enough information to find a nonce. The pool generates the block when the miner submits a nonce that meets the difficulty. (It might be possible to figure out the block by guessing though.)

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
eleuthria
Legendary
*
Offline Offline

Activity: 1750
Merit: 1007



View Profile
January 10, 2013, 05:32:56 PM
 #5

My question is: How does the pool prevent the miner from screening the shares they generate for a large number of trailing zeroes that would afford them the whole block at the current difficulty?  If a miner could do this, they could just steal blocks from the pool.
In addition to the other answer (which is the 100% slam dunk way we're guaranteed this can never happen), there's another practical problem. The miner can't steal the block because it doesn't *know* the block. All it gets from the pool is just enough information to find a nonce. The pool generates the block when the miner submits a nonce that meets the difficulty. (It might be possible to figure out the block by guessing though.)


I had this at first but edited it quickly, since in some scenarios the miner could do this.  0-tx stratum blocks come from some pools at LP time, so the stratum pool would only forward the single coinbase tx.  This could be modified and submitted to a local bitcoind as a "full block".  They could also just ignore the other transactions and rebuild the block as a coinbase-only block. 

GBT sends the full raw txdata (I think it's raw data at least), so the miner could also pull that off with GBT by editing the coinbase then feeding the raw block to a local bitcoind if they solve it.


But still, this causes the problem of the pool rejecting the shares, so your income would be the same as if you were just solo mining on a local bitcoind.

RIP BTC Guild, April 2011 - June 2015
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!