Luke-Jr, you need to remind yourself what mining is about. Mining is trying to find blocks, which secures the network. If you find a block, you receive a reward for your help. More generally, you can perform actions that have a chance of producing blocks and being rewarded for it. Your expected payout for your actions should be equal to your expected contribution (up to fees for any services you are using).
In the more parochial view of a specific mining pool, each share you submit has a chance of being a valid block which will boost the pool's total earnings. Once again, your expected payout must equal your expected contribution.
Compare these scenarios:
BFI_INT : Increases your chance to find a block for the pool, increases your reward from the pool = Good.
Pool-hopping : Does not increase your chance to find a block, increases your reward from the pool = Bad.
[Insert any improvement like better hardware, software, connectivity, LP that increase block-finding rate] : Increases your chance to find a block for the pool, increases your reward from the pool = Good.
Now I'll address your comments from the wiki.
the geometric method does seem to prevent pool hopping to an extent
This method prevents pool-hopping completely. I have now also posted a proof outline of this.
By pool-hopping I mean: "Using information like a pool's round age or current hashrate, to participate in it only when your expected payout exceeds your expected contribution".
but also makes the pool operator vulnerable to a similar attack as the PPS model
Depending on the parameters, this method needn't be more vulnerable to this attack than any other.
Incidentally, I had also suggested a protocol change
that would make this attack impossible.
While it is possible that an intermittent miner might even out on a score-based system, he is still penalized when he would join during the early stages of a block. If he know he'll only be able to mine for an hour, why would he join a pool knowing that he's unlikely to be rewarded for it?
Because he knows that if he'll be lucky and a block will be found shortly, his reward will be high. The expectation is the same, but the variance is greater. I have already said that score-based has higher variance. Variance is usually less important than expectation. Variance is not a black box, the significance and exact value of variance can be calculated (for proportional and geometric, anyway. slush's method is a bit amorphous) and generally the variance introduced by score-based is not really worrisome.
That is, IMO, ridiculous without a clearly well-defined rule by the pool on when it is acceptable to hop/leave.
You are correct, everyone should be free to come and go as they please. Which is why I have never said people shouldn't pool-hop. I said people shouldn't join a proportional pool (because they will earn less than they should if hoppers exist) or operate a proportional pool (because it's promoting a bad option to miners who may not know better).
If people decide that pool-hopping is "not nice" and should be disallowed despite technical feasibility, a good working definition for it is what I gave above.
With solo mining comes a greater risk than in a pool, so hopping to solo-mining is a fair risk/gain tradeoff.
It's greater risk that doesn't create additional value to anyone, so there's no reason to be rewarded for it.
Your second point more or less admits that score-based pools in fact "attacking" share-based pools in practice.
As above, I'm not very keen on emotional terms like "cheating" or "attacking", and prefer to focus on actual consequences. Score-based pools allow people to easily use their mining capacity to create blocks for the Bitcoin network, and receive a payout in proportion to their contribution.
BFI_INT adoption is not needed any more or less than pool hopping on share-based pools.
Nothing is "needed". But adopting BFI_INT adds security to the Bitcoin network (compared to a situation where it exists but ignored by the honest network). Adopting pool-hopping does not add security to the network.
I agree that it isn't sustainable in the long-run, but it is a legitimate strategy, and within the rights of miners to practice. If pools don't like it (as they shouldn't), it is also reasonable for them to make a rule restricting hopping and/or switch to another scoring method. Complaining about "cheating" when there is no rule won't get anywhere.
See above. I don't oppose hopping, I oppose enabling hopping.