user78: I heard there is a desktop app today that 'easily double spends 0-conf tx'. Which is it? Is anyone working on a mobile version of this app?

user20702: I strongly doubt if this would work at all. You say you "have heard", just rumours or did you ever see such a thing in action?
Remember, quite some people benefit from spreading FUD like this about Bitcoin.
Many merchants and point of sale Bitcoin acceptants use zero confirmation payments, I've never ever seen or heard of a single case of double-spending.
I guess what such a hypothetical app would do, is send a payment to the node of the receiver, send a conflicting payment to a lot of other nodes almost at the same time, and hope the 2nd one ends up in the blockchain in favor of the 1st.
This is very easily taken care of with various 'payment probability' algorithms, e.g. by checking on several other nodes throughout the Bitcoin network if a conflicting tx appears. If not, then within 2-3 sec the payment propagation will be virtually 100% and any conflicting tx (to perform the double-spend) won't stand a chance. At least not through default nodes, which is like >95% of the network and probably >99.999% of the miners (where it counts).

user78: Peter Todd wrote [Replace-By-Fee Tools](https://github.com/petertodd/replace-by-fee-tools
)

Basic usage:
./double-spend.py <address> <amount>
Creates two transactions in succession. The first pays the specified
  amount to the specified address. The second double-spends that
  transaction with a transaction with higher fees, paying only the
  change address. In addition you can optionally specify that the first
  transaction additional OP-RETURN, multisig, and "blacklisted" address
  outputs. Some miners won't accept transactions with these output
  types; those miners will accept the second double-spend transaction,
  helping you achieve a succesful double-spend.


78: <p>I heard there is a desktop app today that 'easily double spends 0-conf tx'. Which is it? Is anyone working on a mobile version of this app?</p>
 20702: <p>I strongly doubt if this would work at all. You say you "have heard", just rumours or did you ever see such a thing in action?</p>

<p>Remember, quite some people benefit from spreading FUD like this about Bitcoin.</p>

<p>Many merchants and point of sale Bitcoin acceptants use zero confirmation payments, I've never ever seen or heard of a single case of double-spending.</p>

<p>I guess what such a hypothetical app would do, is send a payment to the node of the receiver, send a conflicting payment to a lot of other nodes almost at the same time, and hope the 2nd one ends up in the blockchain in favor of the 1st.</p>

<p>This is very easily taken care of with various 'payment probability' algorithms, e.g. by checking on several other nodes throughout the Bitcoin network if a conflicting tx appears. If not, then within 2-3 sec the payment propagation will be virtually 100% and any conflicting tx (to perform the double-spend) won't stand a chance. At least not through default nodes, which is like >95% of the network and probably >99.999% of the miners (where it counts).</p>
 78: <p>Peter Todd wrote [Replace-By-Fee Tools](<a href="https://github.com/petertodd/replace-by-fee-tools">https://github.com/petertodd/replace-by-fee-tools</a>
)</p>

<blockquote>
  <p>Basic usage:</p>
  
  <p>./double-spend.py &lt;address&gt; &lt;amount&gt;</p>
  
  <p>Creates two transactions in succession. The first pays the specified
  amount to the specified address. The second double-spends that
  transaction with a transaction with higher fees, paying only the
  change address. In addition you can optionally specify that the first
  transaction additional OP-RETURN, multisig, and "blacklisted" address
  outputs. Some miners won't accept transactions with these output
  types; those miners will accept the second double-spend transaction,
  helping you achieve a succesful double-spend.</p>
</blockquote>
