How does Stratum work?
The machine opens a connection to the pool and keeps it open. It signs in with a worker name, and the pool sends a share difficulty and a job. The job holds the pieces of a block header, plus the parts of the coinbase transaction, so the machine can change the extra nonce itself and never run out of work.
From then on it’s two messages on repeat: a new job whenever the pool updates its block, and a share from the machine every few seconds. Slush Pool introduced Stratum in 2012 to replace an older setup where miners had to keep asking the pool for work.
What does it look like when you set up a miner?
In a machine’s settings page you fill in three boxes: a pool address such as stratum+tcp://pool.example.com:3333, a worker name like myaccount.rig1, and a password that many pools ignore. That’s the whole Stratum setup. Switching pools means changing those boxes.
What changes with Stratum V2?
V1 sends plain text, usually unencrypted, so someone on the network path could redirect a miner’s work. Stratum V2 is binary, encrypted and authenticated, and uses less bandwidth. It also has an optional job declaration part that lets miners choose the transactions in their own blocks.
Who decides what goes in the block?
Stratum V1
- Picks transactions
- The pool
- Miner sees
- Only a job to hash
- Traffic
- Plain text, usually unencrypted
Stratum V2 with job declaration
- Picks transactions
- Can be the miner
- Miner sees
- Its own template
- Traffic
- Encrypted, binary
Sources
- Stratum mining protocol · Bitcoin Wiki
- Stratum V2: the next-generation mining protocol · Stratum V2 working group
- Stratum V2 specification · Stratum V2 working group
Live figures on this page come from the CloudMineCrypto API and public chain data, refreshed regularly, and are labelled where they appear. Educational only, not financial advice.