As I understand the attack, the attacker gets compensated for the shares they earn, but the pool will be denied any valid blocks found.  The attacker DOES NOT have access to the Bitcoins earned in the unreported block (only the mining pool has access to the Coinbase address and transactions in the block).

So it's a zero-net-cost attack for the attacker (but no chance of making a profit) to hurt the pool operator.  The only way to detect such an attack now is to look for "unlucky" miners; at the current difficulty, you can't detect this cheat until many millions of shares have been earned w/o a qualifying block.  Since an attacker can also create many fake identities, they can avoid detection indefinitely by abandoning each account after a million earned shares.

I don't understand your proposal for fixing this.  You would have to come up with a scheme where:

- The miner can detect a qualifying hash to earn a share.
- Not be able to tell if the hash is for a valid block.

The way I would do this is to have a secret part (not shared with the miners) of a block that is part of the merkle hash, which is also used in a secondary hash.  Difficulty is then divide into two parts: the first, solved by the miner (earning a "share" - e.g., 1 in 4 Billion hashes).  And a second, solved by the pool (1 in Difficulty shares).  A valid block would have to exhibit a valid Share Hash AND a valid Pool Hash in order to be accepted.

This would be a very major change to the Block structure.  Given that attackers do not have direct monetary gain from this attack, I'm not sure we can justify it at this point.

On Sun, Jun 3, 2012 at 7:04 PM, Luke-Jr <luke@dashjr.org> wrote:
On Monday, June 04, 2012 1:43:42 AM Peter Vessenes wrote:
> Does it have asymmetric payoff for an attacker, that is, over time does it
> pay them more to spend their hashes attacking than just mining?

That depends on the pool's reward scheme. Some complicated forms are capable
of getting "bonus" earnings out of the pool. Under all systems, the attacker
at least gains the "hurt the pool" benefit. Given the frequency of DDoS
attacks on pools, it is clear there are people who will even pay for attacks
that provide no other benefit than harming pools. Under all systems, the
attacker doesn't lose out in any significant way.

> My gut is that it pays less well than mining, meaning I think this is
> likely a small problem in the aggregate, and certainly not something we
> should try and fork the blockchain for until there's real pain.

If we wait until there's real pain, it will be a painful fork. If we plan it
1-2 years out, people have time to upgrade on their own before it breaks.

> Consider, for instance, whether it pays better than just mining bitcoins
> and spending those on 'bonuses' for getting users to switch from a pool you
> hate.

With this attack, attackers can hurt the pool's "luck factor" *and* spend the
bitcoins they earn to bribe users away.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development



--
Mike Koss
CTO, CoinLab
(425) 246-7701 (m)

A Bitcoin Primer - What you need to know about Bitcoins.