I've calculated some statistics for everyone to help clear up some confusion. Poisson processes can be very non-intuitive. These numbers are the result of considering every possibility (and the probability of that possibility). Any situation which you can think of has been accounted for and (hopefully) accounted for. This analysis assumes one has an accurate share count for pools. That is to say, none of these numbers include things like delayed or falsified JSON statsProportional pools
Firstly, in a proportional pool the expectation value of a submitted share is dependent on one and only one variable: the number of shares submitted previously. Hashrate, timeslicing (as I understand it), number of shares you vs other other people submitted, etc. ALL DON'T MATTER. In fact, one can calculate the speedup. Define the normalized shares submitted, x, as the number of shares submitted divided by the current difficulty. Then the expectation value (average value) of a share (normalized to solo mining) is exp(x)*E1(x). E1 is a nonanalytic integral, but wolfram alpha will compute it for you.
Alternatively, to a decent approximation, one can use speedup = (.428/x)^(0.65). This approximate formula can be handy for quickly calculating expectation value without resorting to numerical methods. The accurate speedup is shown in Figure 1. Notice the speedup is greater than one before x~0.428 and less than one after 0.428. This is where the magical 42.8% comes from: shares submitted to the pool when x<0.428 have an expectation value greater than one. This is the essence of pool-hopping.Figure 1. Speedup vs normalized shares submitted (see above text)Multiple proportional pools
As shown above when considering proportional pools, shares should always be submitted to the pool with the least number of shares or should be solo-mined if all pools are above x~.43. How much is to be gained from multiple pools? A lot
If you go to the aforementioned Wolfram Alpha link, calculate the speedup for x=1/difficulty=1/1690000. It equals 13.7x
! This means if every share you submitted was the first to a proportional pool, you would have over a 13x speedup! Hypotheticals aside, what about in practice? FIgure 2 shows the results of Monte Carlo calculations for the speedup vs number of proportional pools hopped which roughly follows the trend: speedup = ln(2.5+pools). Here we can see it is always QUITE advantageous to add more pools. The marginal return, although diminishing, decrease only slowly! Hence, a hopper should have as many pools as possible.Figure 2. Speedup vs number of proportional pools. Note the famous ~28% increase for hopping one pool. Due to the steep slope of speedup(x) for small x, it is quite advantageous to add more pools. Other scoring methods [Edit: I understood PPLNS incorrectly; the math is completely incorrect]
Many scoring systems are not statistically analyzed and hence still offer opportunity for hopping. For example, Pay-Per-Last-N-Shares is still quite hoppable (with typical N), as follows. Let's renormalize N by dividing by the difficulty, to give us the normalized last N shares, M. Using the same analysis as above, the speedup can be computed as shown below in Figure 3. PPLNS strongly deviates from proportional only during rounds which pay (per share) below the statistical average. Because the hopper "suffers" from PPLNS only during sub-par rounds, the absolute difference between proportional and PPLNS is small. One can calculated the expectation values of PPLNS shares (as a function of x and M), with the following formula (Wolfram link
): exp(x) ( Gamma(0,x) - Gamma(0,M+x)) which is valid for x < M. A maximum speedup (at current difficulty) is still 13x with M=0.5. A quick'n'dirty way to implement PPNLS pools in hopping software is to penalize the PPNLS pool by multiplying round_shares by .43/.21. Slush's pool is also hoppable under the same mechanism, although the curves depend on hashing rate as well. Almost any proportional-based pool will be hoppable at x<.10Figure 3. Comparison of expectation value from share submission from proportional and PPNLS (M=0.5, see text) payout schemes. Notice the intersection with y=1, where share expectation value is equal to solo mining. These intersections are respectively equal to ~0.21 and ~0.428 for PPNLS and proportional. Conclusion
I hope this clears up some confusion about expectation values of shares and pool hopping. If anything is unclear feel free to reply or send me a PM.
Donations greatly appreciated!