Author

Topic: getwork and Stratum (Read 4723 times)

legendary
Activity: 2730
Merit: 1034
Needs more jiggawatts
September 07, 2013, 04:14:08 AM
#7
Stratum: the server gives the client templates that the client can use to generate its own work. Only the block header and first transaction (generation transaction) are included. Stratum uses the least bandwidth of all the protocols. Stratum also makes it very fast and efficient to switch to new work data when there is a block change, which can help keep down the reject ratio caused by stale work. Unlike the other protocols it is not HTTP, so it won't work over an HTTP proxy. There is no real specification. There is a document that explains the core features and for the rest you have to read the source code for "stratum mining proxy" and/or old posts on bitcointalk.org.

GBT (getblocktemplate): the server gives the client templates that the client can use to generate its own work. The client is given full block data and (if supported by server and client) this allows the client to modify the block. For instance the miner could choose which transactions to include in a block. Because of these features GBT needs to transfer more data than Stratum, so bandwidth usage is higher. These features are not supported anywhere yet, as far as I know. GBT is well documented through detailed specs.

Plain getwork: the way mining was done originally. The server gives the client a block header without any transactions or any way to modify the block except for the nonce value. The client is limited to trying all possible nonce values and will then need to request more work from the server. This causes massive bandwidth usage for modern mining hardware. Like Stratum it doesn't give the miner any control over what is mined. You get the worst of both worlds.

getwork with rollntime extension: allows the client a limited way to generate work by modifying the timestamp on the block header. If you process 10 nonce ranges per second (42.9 Ghps) you'd want to request 10 block headers from the server. As each second passes you update the timestamp on those block headers, allowing you to reuse the same work for the next second. Bandwidth usage goes up with hashrate. 429 Ghps would require 100 small request-response exchanges with the server to get enough work after every block change. Compare with GBT where bandwidth usage goes up with the size of the transactions (one big request-response exchange per block change). Which uses less bandwidth depends on your hashrate (getwork) and the size of the block you are hashing (GBT).

TL;DR: getwork is the old way. The rollntime extension gave it back some life, but it won't scale as mining devices get faster. There are two new protocols to improve mining: Stratum which focuses on low bandwidth usage and GBT which focuses on allowing the miner to control what goes in a block.

The BitMinter mining pool supports all of the above.
hero member
Activity: 1246
Merit: 501
September 07, 2013, 03:08:56 AM
#6
oh i see , but isnt the getwork and GPT better ?? or is Stratum the best way to go ??

Wow.  Didn't you read the previous posts?  Huh  You don't see, otherwise you'd know getwork isn't better.  GPT has it own set of issues, which are discussed at length elsewhere, and is basically unsupported everywhere except maybe Eligius (GPT is Luke-Jr's making, I think).
member
Activity: 73
Merit: 10
September 07, 2013, 12:30:37 AM
#5
oh i see , but isnt the getwork and GPT better ?? or is Stratum the best way to go ??
legendary
Activity: 1750
Merit: 1007
September 06, 2013, 11:03:56 PM
#4
BTC Guild still offers getwork, but its days are numbered.  The only products that rely on getwork are luckily marketed towards technical people, so stratum proxies aren't all that difficult for them to get running.
vip
Activity: 980
Merit: 1001
September 06, 2013, 10:57:15 PM
#3
unfortunately a lot of asicminers hardware still uses getwork - rather disappointing for pool operators and miners,
Stratum is a new(ish) protocol for miners to connect to pools and was designed with ASIC hardware in mind
Ozcoin offers both getwork and stratum, as do as few other pools
hero member
Activity: 1246
Merit: 501
September 06, 2013, 12:41:10 PM
#2
Getwork is old and shit - it's only still around for legacy devices, and ancient software.  It's slow, uses WAY more bandwidth than Stratum, and uses more resources on the pool server.

Most pools have turned off their getwork interfaces, as everything either supports stratum, or you can use Slush's stratum proxy which allows getwork clients to connect to stratum pools.  The latest version of bfgminer (not Windows version though) does the same.

For Eligius stats, go to http://eligius.st/~gateway/stats and put in your wallet address (the same one you're using as your username in your miner). 
member
Activity: 73
Merit: 10
September 06, 2013, 12:36:22 PM
#1
hello

i was just confused and i didnt know which pool to use but what is the difference between getwork and Stratum ?? and which pools or websites would i be able to use for getwork or whatever and what is GBT is that the short form of getwork or is that 2 different things ?

also why is some websites using it and some websites or pools dont use it ?

like i am using http://eligius.st but i dont understand how it works and how you can check your hashrate ?!?!?! :S really confusing if anyone can help me out that would be much appreciated thank you

also is there any other websites that support the getwork option ?
Jump to: