I've been thinking about how pooled mining works, there are a couple of thing which have left me wondering how fair it all actually is.
1. Is there anything preventing a (dishonest) expert coder from modifying his mining software, allowing it to only submit his work that doesn't discover a valid block for the pool, but when the time comes that he actually finds a valid block the modified software will disconnect from the mining pool and submit the block by himself, therefore he gets to keep the entire 25btc block.... It would seem like a pretty major flaw to pooled mining if this worked, so I'm sure there is something preventing it from happening, if so what is it?
2. Staying on the topic of greedy mining. I'm pretty sure I have read somewhere that it doesn't matter how many transactions miners include in each block, it shouldn't take any extra computational time to produce each hash, I don't understand that. So again, if the same expert coder rewrote his mining software to only include 1 transaction in each block, am I correct in thinking this wouldn't provide any advantage over including the standard 100-1000 transactions in each block?
1. This has been discussed many times and has been answered by experts on the subject, which I am not. So try searching for it.
But to answer in laymen's terms, no the block cannot be kept by the dishonest miner.
But yes they can stop a block solve from being submitted. It's called a withholding attack. This risk *ALONE* should be reason enough for pools to not offer PPS.
Sam