In a getwork request, bitcoind sends a target corresponding to the current block's bits value. Do the major pools send the same target as one would expect from bitcoind, difficulty of "1" target, or perhaps something else?
|
feedback
|
|
I just started up a miner connecting to slush's pool. The
The target it gave me is 64 hex digits long. That's around 2^256, and as such is bigger than the maximum target of 2^(256-32)-1. Then I realised the target is 'little-endian', meaning it's byte-by-byte backwards. Reversing it gives:
which is exactly 2^(256-32)-1, the maximum target. So slush's pool at least is asking me to solve blocks of difficulty 1. I know P2Pool sets the difficulty to be higher, so that shares on the P2Pool sharechain will be found around every 10 seconds. Currently to achieve that it's giving out work with difficulty Edit: I just checked, and it turns out I'm wrong. Here's a
Notice the target is the same as on slush's pool. It represents a difficulty of 1. So the miner thinks it's looking for shares of difficulty 1, but P2Pool rejects any share the miner submits which has a difficulty of less than | |||||||||||
feedback
|
|
Most pools define their target value (minimum value required to earn a "share"), as:
The Bitcoin protocol defines a difficulty of 1 as a target of:
They are nearly equal:
The precise target used for earning shares could be set to a larger number, but that would increase the number of getwork requests sent to the server as shares would be easier to find. Note that if you decrease the size of target, you would reduce the probability of finding ANY valid shares for a given block header (unless you allow changing the timestamp as well as the nonce). As it stands, the expected number of shares found per getwork request is approximately 1 (when the target has 32 leading zero bits). | |||
|
feedback
|