Chapter 3, Coop vs. BitRey
The extraNonce

What is the extraNonce?

For the Stratum mining pool protocol (not bitcoin protocol), the coinbase transaction also has something called the “extra nonce”. When providing miners with the block data, mining pools divide the extra nonce into two parts: “extranonce1” and “extranonce2”.

Splitting the extra nonce into two parts has several advantages:

  • It prevents pool participants from doing the same work.

  • It allows the pool to send the same transaction list to all miners that are pooling together. That means miners simply have to update “extranonce2” and not change transactions included in the block.

  • The “extranonce1” allows pools to identify and determine share contribution because each miner gets their own “extranonce1”.

Miners who contribute to a pool update the “extranonce2” and cycle through the nonce in the block header. If they don’t find a solution, they repeat the process with a different “extranonce2” until they do.

Let’s try again splitting the work using this method.