6

Is there already a way to detect conflicting 0-confirmation transactions? I'm assuming at least one transaction goes to my wallet.

I would expect the client to list the transaction as conflicting but from what I understand from What does the Bitcoin client do when it receives conflicting transactions? it currently does not do so? Is there any other way available?

kermit
  • 2,019
  • 1
  • 17
  • 26
  • How about conflicting n-confirmation transactions? What does the client do when it finds two heads for the block chain? Any alerts to the user? – Thilo Mar 20 '12 at 05:39
  • @Thilo: the longest chain always wins. I would expect a block with conflicting transactions to be invalid. Currently there are no user alerts, conflicting transactions will simply not be relayed. – kermit Mar 29 '12 at 07:50

1 Answers1

2

A merchant can lessen the risk of being defrauded in a race attack (on 0/unconfirmed) by:

  • Using an explicit list of peers to connect to (with most of the known IP addresses of miners)
  • Not allowing incoming connections (turn off uPnP)

this still leaves the merchant vulnerable to a 51% attack that all transactions below 6 confirmations are subject to but also to the Finney attack and another type of attack even where 2 confirmations is required (as described by vector76 here: https://bitcointalk.org/index.php?topic=36788.msg463391#msg463391 )

What you are asking for is a solution that would be useful for merchants who can absorb some risk that comes with accepting a bitcoin transaction at 0/unconfirmed. Currently there is only a trivial number of merchants that accept bitcoin at a retail establishment. And thus, no solution provider -- yet.

There is an API to the service http://transactionradar.com which might make it possible to monitor for double spend attempts.

Some useful conversations related to this topic:

Stephen Gornick
  • 27,040
  • 12
  • 67
  • 141
  • Thanks for the info and the links. From what I learned it is not possible with the bitcoin client as such because conflicting transactions will not be relayed. Listening to lots of nodes and analyzing their stand like http://transactionradar.com does seems to be what comes closest to detecting conflicting transactions. – kermit Jan 19 '12 at 12:28