Can I get some info on this stratum?
So a miner in a pool asks the server for work. The old version I take it is "getwork" the new version is "stratum"?
We changed because getwork was based on http?(tcp?udp?) which was getting terribly slow as miners got terribly fast?
Who developed stratum?
Also it looks like I need to be using this. I use phoenix 2.0, can anyone tell me if stratum is used in this miner by default or if I have to turn it on?
(I have a suspicion it is entirely not supported in phoenix, so I might be going to cgminer tonight; already went through GUI miner POSminer if you ask me.)
Getwork was an HTTP based protocol, with a pull-based method of obtaining work. It also used longpolling, which was basically just an HTTP connection that was held open until the pool had notice of a new block. Getwork by default could only support 4.2 billion hashes (4.2 GH/s required a new getwork every second). There were some extensions added (nTime rolling) to increase that range a bit, but it had the side effect of completely skewing the timestamp on blocks. At extremely high speeds, it has the potential of damaging the network if a significant number of blocks are found "in the future" due to nTime rolling.
Stratum is a persistent TCP socket based protocol, with push-based work. The pool provides you the information to build your own work locally. It updates the work at regular intervals so you're including more transactions in the block as time goes on. Since it's TCP based, it eliminates the overhead of having one always-on HTTP connection paired with potentially dozens (or hundreds) of opening/closing connections each minute. It also uses an extremely small payload, since it doesn't require HTTP headers, and doesn't require as much data as getwork.
BTC Guild put forward a version of the new protocol at the same time that slush announced his Stratum protocol. Since slush's implementation was done in a more friendly language (python), and included an open source poolserver, BTC Guild pulled its own protocol proposal and adopted the Stratum protocol. Today, there are three protocols in existence. Getwork (which is now outdated), Stratum, and Getblocktemplate. GBT is a great system for local/solo mining on high end hardware, but does not match the performance of Stratum in a miner<->pool relationship.
As for phoenix, I do not believe any version of phoenix has added Stratum support yet. You can still use phoenix if you want to run a Stratum Proxy (which connects to a Stratum server, and then relays the work to your miner as getwork on your LAN). Windows binaries can be found here:
https://github.com/slush0/stratum-mining-proxy/downloads and that also links back to the github page for source you can use on Linux. You would run the proxy with '-o
-p 3333'. You would then connect your miner to the proxy as http://127.0.0.1:8332 (if it was running on the same machine as the miner).
CGMiner is highly recommended for serious miners, and has native support for Stratum. Later versions of GUIMiner also support Stratum when using the default (poclbm) kernel.