First, SD has paid more mining fees than everyone else in the world, combined.
Just because you pay the fine for vandalism, does not mean it's acceptable to vandalize, or that it covers the expense in cleaning up the mess you made.
Even with the "standard" transaction fees, miners are still subsidizing transactions at their own (direct) expense in hopes of improving their (indirect) gains from the increased value of Bitcoin as adoption increases (which depends a large part on lower fees right now).
SatoshiDice achieves all this publicity, demonstrates the power of Bitcoin and provably fair gaming to the masses, and brings Bitcoin to the attention of casino operators around the world, and yet still people complain because it "makes too many transactions" and for their antagonism decide to block SD transactions from their mining pools SatoshiDice does
nothing beneficial for Bitcoin.
What
little adoption it brings is from irrational gamblers and the casinos out to exploit them; these are not the kind of people who improve the value of Bitcoin at all, just make it more likely to be banned.
What it
does do is flood the network with abusive "transactions" conveying more information than finances ("I bet x BTC", "you win", "you lose" are
information), using more activity than
any payment network today could handle (relative to actual usage). Other reasons aside, this alone would get your attack blocked by VISA et al. Bitcoin attempts to block this attack as well: even in the original paper, miners are expected to deal with flooding attacks. Obviously the original suggestion of using merely fees is not sufficient, since SatoshiDice uses social engineering to fool gamblers into paying 100% of the cost to bypass this anti-flood measure. While we could simply increase fees until the flood stops, the extent we would need to do so
would effectively kill adoption of Bitcoin. Blocking SD directly is the only known viable method of Bitcoin surviving this attack.
Note that Bitcoin is a lot of things, but it is
not meant to ever be more efficient than other processing networks like VISA. Centralized services are by nature more efficient, so that is unavoidable.
You refuse to stop flooding the network, and insist we deal with it ourselves. Blocking SD outright is how Bitcoin deals with this kind of attack. Deal with that.
Of course, the best way forward is for you to stop attacking Bitcoin. There is nothing inherent in SD's design that necessitates the flooding by any means. A similar service (that I would setup myself, if it weren't illegal) could be done very easily:
- Use compressed public keys for everything. There is no need to waste 2x the space for no gain by using uncompressed keys.
- When a user visits your site, prompt for a withdrawl/cashout address immediately, so there is no opportunity to lose bitcoins. This fixes your bug whereby SD is assuming the first input's previous destination happens to be a valid return address - this bug causes bitcoins to be lost in all cases it isn't true, and creates real security problems when Bitcoin implements post-quantum cryptography upgrades (currently, post-quantum crypto requires that addresses never be used more than once).
- After users provide their cashout address, give them a deposit address. They send however many bitcoins they want to gamble with.
- Display the gambling game(s). Let the user play as much as they want, with instant feedback. RageCoin has an example of just one way to have easier and instantly-verifiable provably fair gaming.
- When the user is done (leaves the site, clicks a button, or just stops doing anything for N minutes), send whatever balance is left to their cashout address.
Edit: And in case anyone thinks SD would somehow be less "popular" with these changes, note that they could very well support
both ways of using it and find out for sure. (not that there's any doubt in my mind)