@anon4758 - this is some very useful info, thanks for sharing!
Pool hopping is not cheating - it is optimizing. It is the responsibility of pool operators to implement algorithms that are fair. I'd think of all people, cypherpunks like bitcoin miners would be the first ones to recognize this fact. If you place all your trust into math, don't suddenly complain about fairness if your math turns out to not be good enough.
I generally agree, I mentioned elsewhere that I don't have a beef with hoppers, rather with operators of proportional pools.
Hopping away from a single pool (at 43% of mean round time) earns 30% more. Hopping between a couple pools (I have 4 currently automated) earns me 70% more. If you'd automate a dozen pools, you could earn more than 100% extra.
In the theoretical limit of infinitely many proportional pools and perfect hopping, I think you get log(difficulty) times normal, which currently is X13, or 1200% extra.
Slush's pool is not secure because he messed up his algorithm. I earn 20% more on his pool. Deepbit pool is not secure, because they got a large market share.
I know, slush's has several flaws which is why I devised
my method which I named the "geometric method".
Surely you don't get a lot of volume on slush with this profit?
What I want to happen is for pool miners to implement mathematically-fair payment algorithms. This is the solution best for the community in the end, but not manually enforcing no-hopping rules or withholding information. There is a complicated score-based algorithm published somewhere on this forum (not slush's algorithm) that seems secure, though I didn't check it in too much detail.
You're probably referring to the geometric method. But hey, it's not complicated at all. Most of the post is just analysis of its various features.
There is a much simpler fair algorithm though, which I want you to confirm: pay for all shares submitted in the last 1 hour of a round. If a block is found sooner than 1 hour into a round, then rollover the extra time and pay for the unpaid shares of the previous round, or the previous round before that (if the previous round was shorter than an hour as well), and so on. This way, each share has equal expected utility regardless of when it is submitted - early on or late in a round. Late shares in long rounds are subsidized by early shares in short rounds. You can use any time interval shorter than the mean round time. I'd recommend 1/4 of the mean time, e.g. 1 hour for a 130GHash/s pool.
Even if this works (which I'll try to look at at some point) it seems much more complicated.
Because in most cases variance is less important than expectation
It seems hard to make that argument in this context. If people wanted to maximize expectation, they would just solo-mine and avoid pool fees, pool downtime, stale shares, etc. In most cases the variance is extremely "large" but in absolute terms the amount of money involved for a hobby miner is small enough that it doesn't really matter.
I will grant that many hobby-scale miners don't understand this and don't act that way in practice.
The huge variance of solo mining is under the scope of the "other cases". But once you cut down, say, 99% of the variance with a score pool, there's not much point in decreasing it further.
and because the variance of score-based is not that high
True. But still you are ignoring mental accounting costs. People like equal shares because they are simple and easy to understand. If you are hoping for pool participants to understand game theoretic indifference, you're going to be disappointed. The constant push back (even if mathematically incorrect) over score-based pools being "unfair" should be ample illustration of this.
Right, but if they want to go for "simple and understood", why not PPS? It has the least variance, it's simplest, and it has higher expectation than worst-case presence of hoppers.