What is Stratum, the mining protocol?
The protocol most mining pools use to hand out work to miners’ machines and collect the results. Marek Palatinus introduced it in 2012.
A mining poolMining poolA group of miners who share the work of finding blocks and split the rewards, so each gets paid steadily instead of rarely. has to keep thousands of machines busy at once. With Stratum, the pool sends each machine a job: the pieces of the next block it should work on. The machine keeps trying for a winning answer and sends back shares, proof of the work it has done, which the pool uses to split each reward.
Marek Palatinus, who ran one of the first pools, announced Stratum on BitcointalkBitcointalkThe Bitcoin forum Satoshi Nakamoto opened in November 2009. Much of Bitcoin’s early history, from the pizza offer to Satoshi’s last post, happened there. on 11 September 2012. With the older method, getwork, the faster a machine mined, the more often it had to ask for work, and much faster ASICASICA machine built to do nothing but Bitcoin mining: chips that hash trillions of times a second, far beyond any ordinary computer. machines were on their way, he wrote. Braiins, the company that now runs his old pool, says Stratum “has since been the standard protocol for pooled mining”.
It came with a trade-off, which Palatinus named at the start: “miners cannot choose Bitcoin transactions on their own.” The pool decides which payments go into each block. Luke Dashjr, who wrote getblocktemplate (BIP-22 and BIP-23), a method that does let miners choose, doubted Stratum was any better. Stratum V2, published in 2019, guards the connection against tampering and gives miners that choice back.
References
- Marek Palatinus, mining.bitcoin.cz (Internet Archive copy), “Stratum mining protocol (September 2012)”.
- Bitcointalk (Internet Archive copy), “[ANN] Stratum mining protocol - ASIC ready (11 September 2012)”.
- Braiins, “Past and future of bitcoin mining protocols: Stratum V2 overview”.