Difference between revisions of "Stratum"

From Bitcoin Wiki
Jump to: navigation, search
(Rewrite to provide a proper article on the stratum protocol, with a bit more detail)
(Mining extensions: Make a section for criticism)
Line 6: Line 6:
  
 
The stratum protocol was extended to support pooled mining as a replacement for obsolete [[Getwork|getwork]] protocol in late 2012.
 
The stratum protocol was extended to support pooled mining as a replacement for obsolete [[Getwork|getwork]] protocol in late 2012.
Developed behind closed doors, the mining service specification was initially announced via [[Slush's pool]]'s website<ref>[http://mining.bitcoin.cz/stratum-mining/ Stratum mining protocol specification at slush's pool's website]</ref>.
+
The mining service specification was initially announced via [[Slush's pool]]'s website<ref>[http://mining.bitcoin.cz/stratum-mining/ Stratum mining protocol specification at slush's pool's website]</ref>.
 
Shortly thereafter, alternative "cheat sheet" style documentation was provided by [[BTCGuild]]<ref>[https://www.btcguild.com/new_protocol.php Stratum mining protocol cheat sheet at BTCGuild's website]</ref>.
 
Shortly thereafter, alternative "cheat sheet" style documentation was provided by [[BTCGuild]]<ref>[https://www.btcguild.com/new_protocol.php Stratum mining protocol cheat sheet at BTCGuild's website]</ref>.
 
As the extension lacks a formal [[BIP]] describing an official standard, it has further developed only by discussion and implementation<ref>[https://bitcointalk.org/?topic=557866 ckolivas's collection of most proposed stratum mining extensions]</ref>.
 
As the extension lacks a formal [[BIP]] describing an official standard, it has further developed only by discussion and implementation<ref>[https://bitcointalk.org/?topic=557866 ckolivas's collection of most proposed stratum mining extensions]</ref>.
Line 36: Line 36:
 
| Ozcoin || {{No}} || Yes or user selected || 30s || {{No}}
 
| Ozcoin || {{No}} || Yes or user selected || 30s || {{No}}
 
|}
 
|}
 +
 +
===Criticism===
 +
 +
====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<ref>[https://bitcointalk.org/?topic=557991.msg6079772#msg6079772 BitcoinTalk: Criticism of stratum's closed creation]</ref>.
 +
 +
====Displacing GBT====
 +
 +
The mining extensions were announced after the community had spent months developing a mostly superior open standard protocol for mining ([[getblocktemplate]])<ref>[https://bitcointalk.org/?topic=557991.msg6105355#msg6105355 BitcoinTalk: Criticism of stratum displacing GBT]</ref>.
 +
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.
  
 
==References==
 
==References==
 
<references/>
 
<references/>

Revision as of 00:35, 8 April 2014

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

Criticism

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.

References