I noticed ethereum pool luck stabilizes around 88% instead of 100% which seems too good to be true. Is there an explanation for this?
There's two reasons.
1. historical reason about error correction.
At early days of ethereum mining, eth-proxy tool was the de-facto mandatory thing at mining.
Everyone used that proxy tool to mine because it was efficient than direct rpc port mining. But eth-proxy was not ideal still which used local polling with 2 seconds interval.
This lead to nearly 10% difference between actual pool hashrate and miner's hashrate.
So submitted share's hashrate was 20Mh at pool, but actual miner's console output was 22Mh.
That difference was about 9~11%.
Pool had to use some error correction to match their hashrate at that time. Most pool applied it also AFAIK.
miningpoolhub also announced about error correction and underlying reasons about it about one year ago.
Time has passed and things are resolved as most miners are using stratum protocol now.
This is why most miners are seeing 10% increase of their hashrate at pool. Also their actual daily earning estimate is +10% of what Pool page shows.
I may announce to removing error correction one day, but hesitated to apply it because it's related to statistics.
Miner would see drastic difference at block page and they will say that pool's luck had dropped much.
Yeah, someday I'll apply it.
So this tells that 88% is actually near 98%.
2. Ethereum's uncle block.
Ethereum's expected block finding is quite different in reality because of uncle blocks.
Pool find more than expected because ethereum confirms even late shares as well.
Instead of 5ETH, there's some blocks with lower reward blocks. It's about 4~15% of total blocks.
You can see uncle rate from here.
https://etherchain.org/statistics/minersAs miningpoolhub generates even with 6-level late shares, I believe miningpoolhub is one of the good pools generating uncle blocks.
Higher uncle rate is not bad. It means something is wrong when uncle rate is too high but it also means that pool found more blocks that could be lost.
I think it's okay when uncle rate is under 15%.
Anyway, this uncle block thing is making statistics as a bit lucky because it only counts block numbers. It doesn't care about whether it's uncle or not.
I hope I explained all in detail.
Don't hesitate if you have questions still.
Thanks.