Wouldn't this create more work for the miner? That is, isn't he doing an extra hash per block or do I read this incorrectly?
He only needs to do an extra hash if the first hash solves difficulty 1, which happens once in 4 billion hashes. The extra work is negligible.
That being said, if your solution has no loss, why look at it? Would the bitcoin protocol even need to be modified. Could just modify the RPC protocol between miner and pool but not between pool and bitcoind as bitcoin proper doesn't care about pools.
Bitcoin cares about the hash found by the miner, which needs to satisfy difficulty requirement. Unless the hashing function used is broken, if the miner doesn't know if he has a winning share then he doesn't know if he has a share at all, so he won't know to submit it to the pool.
The only sustainable way Bitcoin can be live up to its role of being decentralized is if >50% of mining capacity is in the hands of small miners, and pools are what allows this to happen. That's far from petty.
Except it's not really decentralised when 50% of the capacity goes away if two IPs are DDOSed.
Of course there will be more than 2 pools. I expect there to be at least one pool in every country.
It's the other way around. You take all of your miners off other pools and into this pool. After you've generated a hefty amount of shares for this pool, you submit the winning share and get a nice reward for all these shares.
Would that really work? To hold 25% of the network hashrate means you're expected to solve one out of every 4 blocks
faster than any other miner, but that doesn't mean you can sit on the solution eternally. Chances are a couple minutes later another pool/miner will have found the solution to that block and submitted it. The only thing I see this method accomplish is to gimp the targetted pool to the benefit of other pools, so I don't think the "Lie in Wait" part is feasible.
You don't do it eternally. If you're holding a winning share, every share you submit is much more valuable than normal shares. Every unit of time you hold out you submit X additional valuable shares, but risk that someone will find a block and make
all your shares lose their extra value. You submit the winning shares when the constantly increasing risk outweighs the reward. The greater your hashing rate the more effective the attack.
1) Small contribution: If you're only running, let's say, 1~2 Gh/s, the chances are ridiculously low for you to find that full difficulty solution. To be sitting at the computer all day waiting for it to happen once a week is beyond tedious. You could always modify your miner to hold the share, but at this point you're just trying to troll the pool, and it's not all that efficient.
Of course you'll modify your miner rather than sitting at your computer. I don't understand what you mean by "troll the pool".
2) Big contribution: You're like 10% of the pool. Now you have to assume you have consequent hashing power contributed to another pool or mining solo. This isn't impossible, but limited to a few individuals with stellar hashing power. Who's walking around with 30~40 Gh/s and pool mining hmm? Besides Gusti, I can't name anyone. At this point, holding out on every full difficulty solution you found long enough for you to move all your hashing power on slush's pool (there are no other who realistically suffers from this attack) is a huge risk. It'll take certainly more than a minute, there are several mining rigs that need to be reset for the purpose of the exploit.
The attack can be used against proportional pools too, albeit less effectively. Why would a mining rig need to be reset? It just needs to switch to a different pool which I think takes about a second.
What you are risking here, technically, is to try and increase your payout on a few blocks, at the risk of losing your original payout if a pool finds the solution you are withholding, all this considering you need to move all your hashing power to slush's pool and let it beef up your reward to a seizable profit under 10 minutes (If no one beats you to it under 10 minutes. Given the way the network is built, this is more than likely)
If you ask me, it is not only tedious, but has low chance of success, and a high risk of losing your "fair" reward.
Compared to not doing this cheat, you only risk losing the reward for the single winning share, which is negligible. All the other shares you submit in the ambush are rewarded normally.
Also any user with a big contribution can be easily monitored by the pool owner. If you see his reported hashing speed double up once a while a few minutes before a block is completed, it'll speak for itself.
Who's "his"? The cheater can create several accounts and use an anonymization service to hide his IP.
Personally I don't understand why anyone would settle for "this attack will probably not be very effective and can be monitored" when they can easily have "this attack is impossible and you never have to worry about it again". However, since the answer to the title question is apparently "no", I won't pursue this further for now.