0

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 1

2

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.

3
  • 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).
    – Dave
    Mar 11, 2018 at 17:24
  • 1
    ExtraNonce2 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
    Mar 11, 2018 at 18:30
  • So I am understanding that nonce2 is ExtraNonce which is composed of 2 parts ExtraNonce1 and ExtraNonce2 where the pool defines ExtraNonce1 bits but the miner is free to set/redefine during its mining job the ExtraNonce2 bits. The pool specifies in bytes (ie 8 bits) how much of ExtraNonce the ExtraNonce2 takes, ie if ExtraNonce2 is 2 bytes, then ExtraNonce1 will be 6 bytes because both have to add up to 8 (64 bits)?
    – andrewz
    Jun 15, 2022 at 16:55

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.