MINING PROTOCOL
a
b
c

Background & Motivation

Stratum protocol v1 is an evolution of getwork protocol for Bitcoin mining. It was created by Marek "Slush" Palatinus in 2012 in order to support pooled mining.

In Stratum v1, payloads are encoded as JSON-RPG messages. This had the benefits of being easy to implement and to debug because JSON is human-readable, making it easier to adopt. However, much has changed since the original stratum protocol was published in 2012. A single ASIC mining machine today is capable of producing greater hashrate than the entire Bitcoin network had back then (approximately 20 TH/s).

As Ruben Recabarren pointed out in his paper, Hardening Stratum, the Bitcoin Pool Mining Protocol, Stratum v1 is also vulnerable to possible man-in-the-middle attacks. Although no significant cases of "hashrate hijacking" have been reported, it's possible that they can occur undetected, making it all the more critical that the Bitcoin mining industry moves on to a more secure protocol.

Ultimately, Stratum v1 has served its role magnificently as the pooled mining protocol used throughout the mining world during the time that Bitcoin's total network hashrate increased by approximately 500,000,000%.

Explore STRATUM V2