Is it true that a share hash is simply the same thing as a block hash, but with a lower difficulty?

Is there any way for a miner in a pool to get a list of all the data being hashed (not sure if that is simply the merkle tree, or everything from ListTransactions)?

If the answer is "no", what is the underlying data that is being hashed, and how is it used?

1 Answer 1


Yes, a share hash is a hash of a bitcoin block. Some of them are above the bitcoin network difficulty which means the block is valid. Most are not, and can only be used to show that you are mining (and at what rate).

The data being hashed is the block header. The block header contains the merkle root which is created from the transactions. The transactions are not part of the block header. A bitcoin block is the header plus the transactions.

With the GBT (getblocktemplate) mining protocol you do get all the data, including transactions. This could be used to try and detect if the pool is doing something bad. It could also be used as you say to let the user see the transactions he or she is including in blocks. With GBT there is even the possibility for the miner to remove or add transactions, if supported by the pool. Most of this is still not implemented by miners and pools.

Stratum had an extension to allow you to fetch the transactions for the block you are currently mining. I'm not sure if any pools support it, though.

So far Stratum seems most popular, probably due to its efficiency (low bandwidth usage and fast block changes). GBT, which aims for the transparency you are talking about, has a lot more overhead.

  • Thanks (also a fan of your BitMinter pool)! Regarding calculating the hashrate based on returned shares... how do you calculate that? I have a question here regarding this: bitcoin.stackexchange.com/q/8028/1878 Commented Mar 1, 2013 at 15:13
  • Glad to hear you like BitMinter. :) I put in an answer for your other question as well.
    – Dr.Haribo
    Commented Mar 2, 2013 at 21:31
  • @Dr.Haribo: Does BitMinter implements GBT or Stratum? EDIT: Oh, I just noticed it uses both. stratum+tcp://mint.bitminter.com:3333 (Stratum) or mint.bitminter.com:8332 (GBT or getwork)
    – Macarse
    Commented Apr 9, 2013 at 11:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.