Stratum protocol
Stratum is the protocol that lets individual mining machines talk to a mining pool — the standardized phone line over which the pool hands out work and the miners report back what they found. Each ASIC is a fast hashing engine but a poor decision-maker; it needs to be told what to hash. Stratum is how the pool's server coordinates thousands of such machines: it pushes them a work template, they grind on it, and they return any shares that beat the pool's target. It runs over a long-lived TCP connection and, in its original form, exchanges JSON messages.
In Stratum V1 the pool sends a 'mining.notify' job containing the block header components and a piece of the coinbase transaction, plus an 'extranonce' range that splits the search space so two miners never duplicate work. Each miner iterates nonces and the extranonce, and when it finds a hash beating the share target it sends 'mining.submit.' Crucially, in V1 the pool — not the miner — decides which transactions go into the block and constructs the template; the miner only searches for a valid nonce. That design is simple and battle-tested but concentrates transaction-selection power in pool operators.
That centralization is exactly what Stratum V2 was built to fix, alongside being more efficient and more secure. V2 is a compact binary protocol (less bandwidth, lower latency than V1's verbose JSON) and adds an encrypted, authenticated channel, which closes V1's old weaknesses where an attacker on the network path could hijack or redirect a miner's hash power. Its headline feature is 'job declaration': a participating miner can build its own block template and choose which transactions to include, while still using the pool only to smooth out reward variance.
This matters beyond plumbing. By letting individual miners — rather than a few pool operators — decide block contents, Stratum V2 directly attacks one of proof-of-work's central criticisms: that pools, not the dispersed miners behind them, effectively control transaction ordering and could censor transactions. Adoption is gradual, since it requires updates across pools, mining firmware, and proxies, but it represents the main protocol-level effort to re-decentralize the part of mining that pooling had quietly concentrated.
In Stratum V1 the pool builds the block and picks its transactions; the miner only finds a nonce. Stratum V2's job declaration hands transaction choice back to the miner — the key step in re-decentralizing block construction.