From Bitcoin Wiki
Revision as of 02:08, 17 August 2014 by Kano (talk | contribs) (English correction)
Jump to: navigation, search

Stratum is a proposal for an open source client-server "overlay" protocol that enables thin clients. It is currently used by Electrum. While originally announced right before 2012[1], the protocol has not yet been completed and proposed as a BIP for standardisation.

Mining extensions

The stratum protocol was extended to support pooled mining as a replacement for obsolete getwork protocol in late 2012. The mining service specification was initially announced via Slush's pool's website[2]. Shortly thereafter, alternative "cheat sheet" style documentation was provided by BTCGuild[3]. As the extension lacks a formal BIP describing an official standard, it has further developed only by discussion and implementation[4].

Software support

Tables showing miner/server support for Stratum mining protocol:

Pool support

Server get transactions dynamic difficulty job frequency resume
Bitminter No Yes 30s No
Slush's pool No Yes 30s No
BTCGuild No Yes 30s No
Eloipool Yes Yes 55s No
HHTT No No (User selected difficulty) 30s No
50BTC No No (User selected difficulty) 5s No
Ozcoin No Yes or user selected 30s No


Closed development

The mining extensions have been criticised as having been developed behind closed doors without input from the wider development and mining community, resulting in various obvious problems that could have been addressed had it followed the standard BIP drafting process[5].

Displacing GBT

The mining extensions were announced after the community had spent months developing a mostly superior open standard protocol for mining (getblocktemplate)[6]. Because stratum's mining extensions launched backed by a major mining pool, GBT adoption suffered, and decentralised mining is often neglected while stratum is deployed.