The key thing to remember about why share-based is bad is that "shares" are actually worthless.
As far as I understood, 1 "solved" share is a nonce that creates a hash that starts with Zeroes.
Sometimes there are more leading Zeroes than required by chance, and every once in a while there is a share that has enough leadeing zeroes to be also able to qualify for the current difficulty.
Why should a share that was submitted early in a round be worth less than a share that was submitted later on? Both shares have the exactly same chance of being the winning share.
No, they don't. One of them actually IS the winning hash. The other ones are just hashes with a bunch of leading zero bits and are worthless to you except to prove that they really are still working on the block. DUCY?
You want to reward the people that are contributing
right now to your pool. The people who aren't hashing for you
right now aren't helping you finish blocks, and none of their work has any value to you anymore. If I have 10K non-winning shares, the 10001th share isn't any more likely to be the winning hash.
As far as I understand the pool hopping paper, Raulo did not take the increased hashrate by pool hopers into account - so you would earn BTC faster while hopping, but also less because the pool has a higher hash rate in the beginning of rounds. This might even the "cheating" out.
It does not. The thing to keep in mind is that if you DO finish a block faster in the beginning, the hopper never jumps. They take their legitimate share from that block. The higher hashrate lets you finish blocks faster, but they just have to take that into account.
Say they have 10Ghash. Then your pool hashrate is 10G higher while they are on your pool. They work out that your pool, with their hashrate contribution, is likely to get a block on average every, say, 3 hours. They hash on your pool until the current round has gone for 1 hour 20 min, then jump to another pool. Now you don't have that additional hashrate anymore, but you're going to give them a large share of the block when it is found anyway, even though they didn't really help you at all on this block - they've helped you on
previous blocks that were found faster, but on this one, they contributed some worthless shares and left.
The thing to keep in mind is that if they are jumping from your pool,
their previous contribution is worthless. They aren't helping you solve the current block and none of the work they did actually helped you solve this block.
As a thought experiment, consider the pathological case, where they deliberately don't send shares that do match the current difficulty. That is, they will never, ever submit a winning share, even if they find one. Are this person's shares worth as much as an honest miner's shares?
If you agree that in THAT case, they aren't worth anything, then why are the shares of someone who intended to jump off the pool if you hadn't solved it in a little less than half the average amount of time you solve a block worth anything?
This is a little like the Monty Hall paradox in that the miner's future intent matters.