How is it possible that a single tx is included in two different blocks?

Isn't it considered double spending?


Occasionally, minor alternate chains emerge if multiple blocks are found for a given blockheight. Usually, these alternate chains only last for a single blocked, and are quickly dropped once another block has been found, allowing one chain to become longer (and thus have more work).

More rarely, these chains might last for a couple of blocks.

Block 525890 for this tx is not part of the main Bitcoin chain, and thus the tx was unspent when block 525891 was processed.

525889 ------ 525890 ------ 525891*
      \------ 525890*

The blocks marked with * contain the transaction in question here. As you can see, they occur on separate, parallel chains. Of these, only the chain extending 525891 survived, resulting in the version of block 525890 containing the transaction being dropped.

  • You must be right. I doubled checked and my parser is using the same extinct block as blockchain.info. My block index must be wrong I will have to double check this.
    – Kevin P
    Sep 26 '19 at 10:40

That has to be a parsing error from blockchain.com side. It would be indeed a double-spend and therefore block 525891 would have been invalid.

If you check other explorers (e.g. blockstream or blockcypher) you'll see how they had only included it in block 525891.

Personally I find blockchain.info's explorer not to be too reliable.

  • Actually I found out about the double spend using my own parser that returns an error because the same UTXO is used twice. I am parsing the blocks from my own full node.
    – Kevin P
    Sep 26 '19 at 8:53
  • And it agrees with blockchain info, the UTXO is created in block 525859 and spent in blocks 525890 and 525891
    – Kevin P
    Sep 26 '19 at 8:56

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.