Bitcoin Forum

Economy => Trading Discussion => Topic started by: blockbet.net on February 25, 2013, 09:38:24 PM



Title: Detecting double spending?
Post by: blockbet.net on February 25, 2013, 09:38:24 PM
Hey,

I'm very paranoid when it comes to double spending in my line of business. Unfortunately this is also very inconvenient for business and customers. I'm wondering if there are any signs that I should look for with possible double spenders, since even if they are unsuccesful, I'd still like to know if someone was trying to mess with me. So, a couple of questions...

If I see an unconfirmed incoming transaction on my Bitcoin Client, and those bitcoins are later spent elsewhere, does the incoming transaction disappear without a trace from my transaction list? Does it disappear from Blockchain.info records? Do they ever even show up anywhere? Are the time stamps on my Client trustworthy?

Speaking of which, can Blockchain.info wallets be used for double spending, or do you need custom software? Wondering if payments coming from Blockchain's IP are reliable.

Is there any "safe" time during which a double spend is unlikely to happen? Say, if a no-fee transaction is confirmed in less than 30 or 60 minutes, do you think a double spender would have enough time to spend it elsewhere or would they need many hours to do so reliably?

Any other signs that I should keep an eye out for?

Thanks for your time,

-Paul

[edit] Would a tech board been more appropriate for this? Not sure :/


Title: Re: Detecting double spending?
Post by: Stephen Gornick on February 26, 2013, 12:03:52 AM
If I see an unconfirmed incoming transaction on my Bitcoin Client, and those bitcoins are later spent elsewhere, does the incoming transaction disappear without a trace from my transaction list?

Yup, unless you were somehow able to do a spend transaction with those funds (e.g., from another client that allows spend using unconfirmed funds)

Does it disappear from Blockchain.info records?

Not right away, I believe the double spend transaction will persist for about a day or so.

Speaking of which, can Blockchain.info wallets be used for double spending, or do you need custom software?

It isn't the transaction that you know about that will look anything different.  It is the second, double-spend transaction that gets mined and included in a block that becomes the problem.  

Is there any "safe" time during which a double spend is unlikely to happen?

Nope, until a transaction has a confirmation any miner can include a double spend transaction that the rest of the network doesn't know about (or has rejected).

Any other signs that I should keep an eye out for?

There are some rules that can be applied to filter out transactions that will likely get mined in the next block (sent using only coins that have already confirmed more than a day ago, transaction below 10K in size, and a fee was paid.) versus those which will not get mined anytime soon (any of the folowing ... larger than 10K, no fee or inadequate fee, includes an input that itself hasn't confirmed, lots of "spam/dust" transactions, etc.).

Accepting 0/unconfirmed transactions will be like an arms race.  You can tweak some things on your end, and the attacker will try to game it.  You simply need to make sure it is not economically beneficial for the attacker to keep trying and the problem will be minimized. 


Title: Re: Detecting double spending?
Post by: blockbet.net on February 27, 2013, 06:44:57 PM
Okay, thanks for the answers. I'm probably making way too much out of it, but I do get some strange transactions every once in a while... like once there were 10 bitcoins unconfirmed for 11 hours (no fee), and another time when I didn't see a payment in my transactions list until the next day... but so far so good.