Hacker News new | ask | show | jobs
by swhitt 4857 days ago
The reason why SatoshiDICE can do this is because they include the output of the bet transaction as one of the inputs to the win/lose response transaction.

If part of the bet transaction is doublespent there's a good chance it won't make it into a block. If the bet transaction doesn't make it into a block, the response transaction won't either and is therefore worthless.

1 comments

Nobody can cheat SatoshiDICE by double-spending and spending their response transaction, because the transactions are chained as you say. But this isn't the kind of attack they're worried about.

If you broadcast a transaction and SatoshiDICE responds with a YouLoseTx, and you have built a block containing a double-spending transaction, if you "lose" you can broadcast your conflicting block. You wouldn't need much hashpower to do this and still remain positive. It's called a Finney Attack. https://en.bitcoin.it/wiki/Double-spending#Finney_attack

This is why they only immediately respond to smaller bets.