2

As you all know it's not very secure to send bitcoins on known addresses, some bots are watching. Could someone explain me how these bots manage to propagate several transactions of the very same transaction output in the network (ex https://blockchain.info/fr/address/1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN) It appears there is a competition between at least 3 bots on the previous address.

For fun, I try to code a C# app building+broadcasting transaction as soon as bitcoins are received on the watched address. No chance at all. Bitcoind/blockchaininfo says this output is already spent (only 2 s after receiving it). So if there is a mechanism which prevents to add multiple transactions on the same output (before any confirmation), how did current bots do that (1LdUHTEVxWJhrhKfy4H3VuYDnTHQVjsdBn && 1aa8hSJaxa2jKFtuBYp8VBsFNofsnoBHX)???

And it seems that 1LdUHTEVxWJhrhKfy4H3VuYDnTHQVjsdBn is almost always the winner!

1

Unless we can see exactly where the bots are operating and exactly how the propagate their transactions, we'll never know exactly how one bot wins over another on addresses where the private key is known. However, we can guess on how they win:

  1. These bots are run by miners. As soon as they get a transaction that outputs to a known address, they immediately create a transaction that spends the output to one of their addresses. If they happen to mine that block, the output is theirs. If not, they can still propagate the transaction and hope to get the output anyway.

  2. The bots run on really well-connected nodes. Multiple bots spending the same output is essentially a double-spend. In a double-spending situation, the better connected and faster propagating will win (in the absence of the above). It's possible someone has direct connections to the most well connected nodes and can propagate such transactions very quickly.

My guess is on #1, though it's hard to say for sure. If it is #2, it's possible it's a well known website like blockchain.info.

Basically, we're speculating, but you, as an independent node without any special relationships to miners or large nodes, stand no chance of winning over either #1 or #2.

  • Ok. But why it is not possible anymore to propagate a transaction after 2s (after receivig notification of the output) even if none of the bots' transaction have any confirmations??? It should be possible to propagate tenth, hundred of transactions to the networks before a confirmation is obtained for one of them and only the fastest will win, no? – Eric Feb 9 '15 at 20:52
  • 1
    The first confirmation will win, but before that happens, the tx goes into the mempool of each node. The first tx to get into the mempool will win for that node since every other one is a double-spend and will be rejected by the node and not propagated. – Jimmy Song Feb 9 '15 at 20:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.