2

Just before block 537562, I had the following transactions in my mempool:

 'a4ca904361952c8a27bcf1fd36e5bc8ccdc5d42ceb72cfba60c017fb9cbbb0e5'
 '69718e60b6e7d20d5e56e097b2de9789007fb230d0205a90a1411ef8086672a0'
 '346b93674d91bfc5b5568f7e77dc969b5c87351135a1c75d551c1418533164f2'
 'e8fddfc634f2e3d535ad81d7dce314e543047bc0281854d9eded4d107fa4f525'
 'da2fd9ed1a8ba7612b885377dc7018d8d0c35ad4cdd03a24829b9a0b8edbf123'
 '3318d59ac00f5dbdd223fcf9ab953e0eee2765b4d1d72285c33c75121e888eee'
 'fc4aea4f7f3ae94bf65c6cc23b73e594f7c849ab5f1362ac78d157cf4af8bc8a'
 '1e7b6ebefd9cd4983f598831ed8082bcdab6b7857f2d302e7d4952e4f145f8e7'
 'f0f20dcf5142895d19140b60830bd9f15b664294d8535c3dcc09ebe3398a2fa3'

These transactions simply disappeared from the mempool later without ever being mined. Why did this happen? At a time when fees are so low, I doubt they were the target of a replace-by-fee. What are the possible reasons for a mempool transaction to disappear? and is there a way to investigate what happened to these specific ones?

EDIT: these transactions had a feerate above the default minrelayfee of 1 satoshi/Byte

EDIT2: I admit that I was not aware of question How do transactions leave the memory pool? , but my question is still different. I am interested in finding out why a specific transaction has disappeared from the mempool without ever being mined. Now it's a bit late to see if the transactions that I gathered were replaceable or not (nLocktime equal to 4294967294 - 0xffffff-1 - if I am not mistaken), but I will repeat my analysis taking this into account in the future.

5
  • 1
    Possible duplicate of How do transactions leave the memory pool? Commented Aug 26, 2018 at 19:32
  • Posted in old.reddit.com/r/BitcoinBeginners/comments/9afuer/… and kindly answered by /u/bitusher
    – Pedro
    Commented Aug 26, 2018 at 19:56
  • @PieterWuille I edited my question to try to explain why my question is bit different, although there is some overlap. Thanks for pointing out the other question.
    – Pedro
    Commented Aug 26, 2018 at 20:13
  • At the very least you van try resubmitting the transaction. The result may teach you something. Commented Aug 26, 2018 at 20:16
  • Those transactions were not mine... I simply took all the mempool transactions before block 537562, and subtracted all transactions that were mined in the next 9 blocks. I was left with the transactions I posted which have disappeared from my mempool and apparently from the blockexplorer's mempools too. But yes... I can take the whole transaction info and check where the conflict is and if I don't find any conflict, resubmit it...
    – Pedro
    Commented Aug 26, 2018 at 20:20

2 Answers 2

6

Skimming the source code, I found the following reasons for a transaction to be removed from the mempool:

  • It was included in a block

  • A conflicting transaction (i.e. one which spent at least one of the same inputs) was included in a block

  • Expired: it has been in the mempool longer than the time specified by -mempoolexpiry (default 336 hours)

  • The memory pool size limit was reached (set by -maxmempool). Lowest fee transactions are removed first.

  • A blockchain reorganization occurred (i.e. a different branch of the chain became the best), and this transaction spent coins that are now immature, i.e. the block where those coins were created is no longer at least 100 blocks deep

  • A blockchain reorganization occurred, and the new chain is shorter, such that the block height mentioned in this transaction's locktime has not yet been attained

  • A blockchain reorganization occurred. Transactions from disconnected blocks have to be added to the mempool. If it's already full, in this case, oldest transactions are removed to make room (not lowest fee in this case).

  • Under replace-by-fee, it was replaced by one with a higher fee

If someone knows of others that I've missed, please edit to add them.

If we could find the transactions themselves, we might be able to guess why they were removed. For instance, maybe we could look at their inputs and see if they were spent by some other transaction. But when I looked up the first few of those transaction IDs at blockchain.info, I got no results, so it may be that the block explorers have dropped them as well.

4
  • Thanks for the answer, is there any resource to check for these accidental forks or blockchain reorganizations as you called it? Would like to see if anything happened during that time.
    – Pedro
    Commented Aug 26, 2018 at 19:55
  • Look in your debug.log file. Commented Aug 26, 2018 at 19:59
  • Do you have any template text that would appear in debug.log? so I can grep it?
    – Pedro
    Commented Aug 26, 2018 at 20:02
  • I'm not sure offhand, but each new block added to the chain gives an UpdateTip message. If you see one whose height isn't one more than the previous such message, that would indicate a reorganization. Commented Aug 26, 2018 at 20:08
1

I know that this is old question, but I have noticed the same behaviour.

In most cases, I have noticed that transaction are removed due to RBF.

eg. txid 6762…0284 was deleted from mempool, because it is replaced by bffa…22a2.
As of this writing bffa…22a2 is unconfirmed so it could still be replaced as well.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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