If you've pointed an Elphapex DG1 or another 10+ GH/s scrypt rig at a small pool and watched it connect, mine for a few minutes, then wander off to its backup pool, this may be why. I run a small scrypt pool and
just spent a couple of days chasing exactly this, so here's what the logs showed.
What happened A DG1 owner registered, connected, and the rig kept bouncing. It would authorise, submit a burst of shares for a few minutes, go quiet, get dropped as idle, then come back about 25 minutes later and do it all again.
The share log explained it:
- The pool started every connection at difficulty 16, which is right for USB sticks and wrong for an 11 GH/s machine.
- The rig caps how fast it submits shares, at roughly 10 a second. At difficulty 16 that meant it was throwing away about 99.9 % of its valid work. The pool credited it around 10 MH/s from an 11 GH/s rig.
- Vardiff only sees what arrives, and it moved one step per 30-second window. A Volcminer took about four minutes to climb from 16 to 16,384 and put up with it. The DG1 didn't: its firmware decided the pool was
underperforming and failed over before vardiff caught up.
- After each reconnect, its first share was usually leftover work from the previous connection. Rebuilt with the new connection's extranonce it hashes to garbage, so it showed as "low difficulty" and made the rig
look broken when it wasn't.
[/list]
What I changed - While a new connection is over target, vardiff now re-evaluates every 5 seconds and climbs at least 4x each time. 16 to 65,536 takes about 30 seconds. Decreases still go through the normal, slower windows, so
small rigs aren't affected.
- mining.suggest_difficulty is honoured. If the firmware asks for a starting difficulty, it gets it (clamped to the pool's range).
- mining.configure gets a proper BIP 310 answer, with version rolling declined, instead of a bare "true".
- A share for a job that was never sent on the current connection is answered as stale, not low difficulty.
After the change every rig on the pool reconnected and reached its working difficulty inside the first minute, with zero rejected shares. The Volcminer went 16, 128, 1,024, 8,192, 32,768 in its first minute and
settled at 16,384, against four minutes before.
Questions for other miners and pool operators - What starting difficulty do you use on a mixed pool with both USB sticks and big ASICs? A separate high-difficulty port is the other common answer; I held off on that for now.
- Does the DG1's stock firmware send mining.suggest_difficulty, or is a "d=" in the password field the only way to set it?
- Which other scrypt rigs cap their submission rate like this? It would be useful to know which ones a slow vardiff loses.
The pool is the Blazecoin one (
details here) if anyone with a DG1 wants to test the ramp, but the questions apply to any small scrypt pool.