5
As I understand, P2Pool has some problems, since it's just a separate blockchain with a shorter time between blocks, small miners still have more variance, and, hypothetically, if the time between blocks were 10 seconds and each new block took 0.5 seconds to be received by a miner, then the miner would be wasting 0.5/10 seconds working on an old block. So, basically, if the time between blocks is reduced to lower variance, the miners will waste a larger percentage of time and lose money.
Why don't pools just use the BitPenny approach of having the mining client verify that the pool owner isn't trying to mine double spends?
The details are very scarce on how exactly bitpenny clients would verify that the pool owner isn't trying to double spend.. my guess is that they can't actually do what they claim. It is impossible with a client / server approach because you have no idea what everyone else in the pool is working on. – kaykurokawa – 2014-06-23T04:16:47.277
> you have no idea what everyone else in the pool is working on
Well yea, each client can only make sure they're not working on a double spend. I think to make sure they're not mining a double spend the client needs to know all unspent transaction outputs, which would mean either storing the full blockchain or use some of the ideas from https://en.bitcoin.it/wiki/Thin_Client_Security