I'm reading about the Stratum protocol where miners contribute to pools. Specifically there is a "mining.submit" method -- https://en.bitcoin.it/wiki/Stratum_mining_protocol, in which I miner will submit a share for consideration. The details on this doc are a little sparse. Specifically, what is the "ExtraNonce2" value they describe as being submitted back to the pool?
1 Answer
The extra nonce is a value in the coinbase transaction which miners will increment in addition to incrementing the nonce in the block header so that there are more possible hashes that can be tried with a given set of transactions.
The ExtraNonce2 is specifically the part of the extra nonce that the miner is changing while performing work for the pool. There is also an ExtraNonce1 which the pool provides to the miner. That ExtraNonce1 is typically used as an identifier.
-
Could you elaborate on the "ExtraNonce2" part of your answer? Maybe with an example. For isntance, you say its "part of the extra nonce" but I'm reading the extranonce2 is different from extranonce1 in terms of forming the coinbase, which I' reading is (coinbase1 + extranonce1 + extranonce2 + coinbase2).– DaveCommented Mar 11, 2018 at 17:24
-
1ExtraNonce2 is a value that the miner keeps changing in order to produce more block headers that can be hashed. Because this is something that the miner changes, he has to provide it back to the pool when he submits his work. ExtraNonce1, Coinbase1, and Coinbase2 are provided by the pool, so they know what they are and can reconstruct the block from the ExtraNonce2 and nonce that the miner submits.– Ava Chow ♦Commented Mar 11, 2018 at 18:30
-
So I am understanding that
nonce2
isExtraNonce
which is composed of 2 partsExtraNonce1
andExtraNonce2
where the pool definesExtraNonce1
bits but the miner is free to set/redefine during its mining job theExtraNonce2
bits. The pool specifies in bytes (ie 8 bits) how much ofExtraNonce
theExtraNonce2
takes, ie ifExtraNonce2
is 2 bytes, thenExtraNonce1
will be 6 bytes because both have to add up to 8 (64 bits)?– andrewzCommented Jun 15, 2022 at 16:55