All miners will come across stale shares, but what is it?
Last update: 29.January 2023
A stale share is normally when you send a result (share) to the pool, but the share is "late," - so the share is valid but too late for the height.
Why is the share late?
Two factors add latency to the share. The most obvious one is the latency from your miner to the mining pool
The lower the latency, the better. Lower latency equals fewer stale shares.
The other factor is the latency in the miner. This latency includes, for example, the time it takes for the GPU to recognize new work once it arrives from the pool, the time it takes for the host system to read back, the GPU results once a GPU thread finds a share, and potentially also the time it needs for the CPU to check a submitted candidate before actually sending it. This normally adds around 30-50 ms.
What latency is acceptable?
We normally say everything below 2% stale share is fine. If the total latency - the time to get work from the mining pool + latency in the miner + the time to send work to the pool - is 125ms, that equals 1% close shares.
And why does that equals to 1% stale?!
Assuming a block time of 12.5 seconds (Ethereum), that's a total of 12500 ms. 1% of 12500ms equals to the 125ms in our above example!
Why is the share late?
Two factors add latency to the share. The most obvious one is the latency from your miner to the mining pool
The lower the latency, the better. Lower latency equals fewer stale shares.
The other factor is the latency in the miner. This latency includes, for example, the time it takes for the GPU to recognize new work once it arrives from the pool, the time it takes for the host system to read back, the GPU results once a GPU thread finds a share, and potentially also the time it needs for the CPU to check a submitted candidate before actually sending it. This normally adds around 30-50 ms.
What latency is acceptable?
We normally say everything below 2% stale share is fine. If the total latency - the time to get work from the mining pool + latency in the miner + the time to send work to the pool - is 125ms, that equals 1% close shares.
And why does that equals to 1% stale?!
Assuming a block time of 12.5 seconds (Ethereum), that's a total of 12500 ms. 1% of 12500ms equals to the 125ms in our above example!