0

Here's the pushed/broacast-ed tx http://tbtc.blockr.io/tx/info/d8e5dac095d5f6133e6c3f11e1d9f923c04dac0824f9f8ce0000573df7cc8080

txid was malleated to txid (when the tx was added into the block):

http://tbtc.blockr.io/tx/info/a9607981ae4bbf42ed0cfacc05455f9396c85a9e8aeb61474f3f7516c35430ec

I am watching all utx broadcasted on the testnet3 network using https://github.com/bitpay/bitcore-p2p

I did not see a9607981ae4bbf42ed0cfacc05455f9396c85a9e8aeb61474f3f7516c35430ec broadcast-ed I only saw d8e5dac095d5f6133e6c3f11e1d9f923c04dac0824f9f8ce0000573df7cc8080

How the hell did blockr.io see both the original broadcasted tx and the altered tx when it never was seen on the network?

What voo-doo magic is this?

Look, blockcypher didn't store the original broadcasted txid: https://api.blockcypher.com/v1/btc/test3/txs/d8e5dac095d5f6133e6c3f11e1d9f923c04dac0824f9f8ce0000573df7cc8080

but they did store the malleated version:

https://api.blockcypher.com/v1/btc/test3/txs/a9607981ae4bbf42ed0cfacc05455f9396c85a9e8aeb61474f3f7516c35430ec

HOW?

related: How confirm my own doublespend transaction got confirmed and testnet3 frequent tx malleability

1

I did not see a9607981ae4bbf42ed0cfacc05455f9396c85a9e8aeb61474f3f7516c35430ec broadcast-ed I only saw d8e5dac095d5f6133e6c3f11e1d9f923c04dac0824f9f8ce0000573df7cc8080

That might not be meaningful. Bitcoin is a gossip network, so it's possible for a different node to see a transaction that you didn't see, particularly if it contradicts a transaction you have.

If you're connected to 8 nodes, and each of those has transaction TX1 in their memory pool, none of them will send you TX2 if it contradicts TX1. (Assuming they're running Bitcoin Core, of course.)

| improve this answer | |
  • so i need to 'pool' (github.com/bitpay/bitcore-p2p/blob/master/docs/pool.md) more nodes to have a greater chance of seeing it? – Ben Muircroft Apr 4 '17 at 22:11
  • 'particularly if it contradicts a transaction you have' - please elaborate! – Ben Muircroft Apr 4 '17 at 22:13
  • @BenMuircroft If two transactions spend the same outpoint, they cannot both succeed. One or more must not get into the chain. – Nick ODell Apr 4 '17 at 22:13
  • 'none of them will send you TX2 if it contradicts TX1' - but if TX2 was the malleated transaction altered and included in the block by the miner then race conditions don't matter so; the none of them sending TX2 is retarded because the logic will always be ignored by the miners choice of what inevitably goes in! – Ben Muircroft Apr 4 '17 at 22:17
  • 1
    @BenMuircroft Yes, that's correct. – Nick ODell Apr 4 '17 at 22:17

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.