I dont think thats possible other than as a self-harming DoS, because the reward goes to the pool's address. If the miner mines for his own address, the pool will not accept it as a work share proof, so the only possibilities for the miner are to either solo mine, or play fair via the pool, so no attack is possible.
It isn't that harmful. If the miner gets 99 shares + 1 "win", he doesn't lose much by not submitting.
Schadenfreude (doing DoS that costs you but creates costs for others) as you allude probably shouldnt be excluded. There are people who will do uselessly destructive things because they
can even for no gain.
I guess you would call that under-contributing ie getting reward share, but not helping win. I got exited about network shaking about month ago, and investigated it a bit and concluded it was zero sum (other than schadenfreude). That was because I was thinking in terms of switching off a big miner, rather than in under-contributing to a pool. Now that I did that different calculation it seems there is actually a way to win by under-contributing!
Lets consider why would someone do that? It'll be easier to see if we start with a high powered pool participant (50% of pool). Say this is a big pool (50% of network). We have to consider both cases: immediate effect, and after difficulty adjusts.
Immediate: the pool useful power drops to 25%, rest of the network continues at 50%, so block interval increases to 13.3mins average (network reward drops by 25% as it goes uncollected for longer). The pool claims only 1/3 (25%:50%) of the remaining 3/4 network reward = 1/4. The under contributor claims half the pool = 1/8 of full speed reward. Playing fairly would have seen him collect 1/4 of full speed reward. Under contributor loses.
Difficulty adjusts: difficulty becomes 25% easier, block interval reverts to 10mins, network reward is fully collected. Under-contributor continues under-contributing, pool still collects 1/3 but of the full reward, under contributor claims half of pool reward = 1/6 of reward. Attacker continues to lose, just less badly. Alternatively attacker switches playing fairly & contributing (now difficulty has adjusted), so network power jumps up by 1/3 (25%:75%) so block interval falls to 7.5mins, so network reward increases to by 1/3 to 4/3 of full speed. Pool claims 1/2 of 4/3 oversped reward = 2/3 of full speed, attacker claims 1/2 of reward = 1/3. Attacker wins by 1/3-1/4 = 1/12. However looked at over the 4 week period his average reward was 1/2(1/8+1/3) = 11/48 of a normal full speed reward. If he played fair the entire time, he makes 1/4 and 11/48 < 1/4. Attacker loses overall, its in his own interests to play fair.
After that the difficulty adjusts back to normal speed and the cycle starts over.
But continuing, I suppose you could wonder where does the 1/48 loss go. One thing I notice is 1/2(4/3+3/4) = 25/24 so average network reward increased over the 4 week period by 1/24.
To see why that is, an analogy if you drive at 75mph for an hour then 133mph for an hour, your average speed is over 108mph (75mph+133mph = 108mph) even though the geometric average is 100mph (0.75*1.33=1). Difficulty adjusts according to geometric average, but reward is payed out with simple average.
The attacker lost 1/48 relative to playing fair, but other people benefited from that 1/24 reward boost. If the attacker could gain over half the reward boost for himself he could make a net gain. Thats a new one to me, lets explore.
If the attacker actually has two pseudonyms A (25% on the pool) & B (another 25% power, direct mining, not on the pool) which seems the most promising direction intuitively.
Psuedonym A we calculated above, it loses 1/48 of its winnings relative to playing fair.
Immediate (for psuedonym B): (copying from above) The pool claims only 1/3 (25%:50%) of the remaining 3/4 network reward = 1/4. The direct miners collect 1/2 of normal speed (unaffected), so B collects 1/2 of direct miners = 1/4.
Difficulty adjusts (for pseudonym B): (copying from above) Alternatively attacker (A) switches playing fairly & contributing (now difficulty has adjusted), so network power jumps up by 1/3 (25%:75%) so block interval falls to 7.5mins, so network reward increases to by 1/3 to 4/3 of full speed. Pool claims 1/2 of 4/3 oversped reward = 2/3 of full speed, attacker (A) claims 1/2 of reward = 1/3. Also B claims half of unpooled reward = 1/4*4/3 = 1/3.
Psueudonym A's lowest loss strategy (other than playing fair) was 11/48; B by playing fair averages 1/2(1/4+1/3)= 7/24. Combined win for B = 7/24+11/48 =25/48 a net gain of 1/48.
The other players must win the other 1/2 (1/48 average reward) of the 1/24 overall predicted as the attacker only gets half of it.
Wow I did not see that coming. It seems to actually work to shake the network if you can do it by under-contributing with part of your power! There will be some net losers as well because the pool participants are leached on by Psuedonym A. Lets check how bad that is: from above immediate: rest of pool gets 1/8, direct miners unaffected (1/2 splt across 1/4 for B, 1/4 for other direct), difficulty adjusts: pseudonym A lowest loss strategy, pool gets 1/2 of 4/3 = 2/3, the other pool players get 1/3. Average other pool players get 1/2(1/8+1/3) = 11/48 < 1/4 they lose 1/48. The other direct miners get 1/2(1/4+1/3)=7/24>1/4 they win 1/24! Check it adds up: A+B win 1/48, other pool lose 1/48, other direct win 1/24: 1/48-1/48+1/24 = 1/24, which matches total network gain from shaking.
It also seems like the attack scales down, eg with 10% of power split between two pools, or pool and direct, you can do the same thing and gain a small %, though I havent checked with < 50% power examples - any takers?.
Seems like the network is using the wrong type of averaging to adjust difficulty eg simple averaging might solve it. Drive 75mph then 125mph and your average is 100mph.
Or there is an under-contribution algorithm in the amortizable hashcash paper that is still fairly auditable (only example I know of in the literature of symmetric key blinding:)
See
http://hashcash.org/papers/amortizable.pdf page 5, second algorithm on page "Interactive Fair Amortizable Hashcash". The idea is basically the amount over the share work is measured separately against a secret known to the server, that it will disclose to publicly when it finds the full block. That is a single hash of extra work for the server. The server also gains no computational advantage in over-contributing himself relative to the miners from knowledge of the secret. Knowledge of the secret gives no advantage in over-contributing but allows under-contributing. Oops! In amortizable metering & document popularity applications for fair amortizable hashcash that is enough as server under-contribution is not meaningful there. For under-contribution in bitcoin that means the server itself could perform the network shaking attack (even if the rest of the server skimming issues were fixed).
It might be that other allocations of power to pseudonym A & B might get higher reward.
So I think that brings it back to the wrong averaging algorithm. Have to explore problem more thoroughly and measure different algorithms immunity to it.
This may also explain the interest in DDoSing big pools - a way to shake the network without the cost of under-contributing. When there's money at stake most people dont mind if someone else wins more than they do, even if unwitting co-benefactors dont know it, so long as they selfishly win (and some others lose, and the planned inflation curve is accelerated a little).
P2pool for example pays out to all shares with the last few blocks (3 maybe). I think the scheme is called "pay for last N shares".
I thought eligius CPPSRB seemed like a nice way to allocate funds fairly. Speaking of DDoS to look at CPPSRB I went to eligius.st and it seems to be having problems: nginx bad gateway 502.
Adam