What exactly does the "For each input, if the referenced output exists in any other tx in the pool, reject this transaction." tx validation rule mean? I am currently following the &quot;tx&quot; messages section of en.bitcoin.it/wiki website, and I need some clarity about the following rule regarding the validity of a transaction:


For each input, if the referenced output exists in any other tx in the pool, reject this transaction.


I don't really understand which of these two interpretations is meant here:

The output referenced by the input must not be referenced by another input of a transaction already in the pool.
The output referenced by the input must not be present in a transaction already in the pool.

Or perhaps it means something else entirely?
First of all a meta note: lots of information on https://bitcoin.it is seriously outdated, including this.

I don't really understand which of these two interpretations is meant here:

The output referenced by the input must not be referenced by another input of a transaction already in the pool.
The output referenced by the input must not be present in a transaction already in


What is meant is (1). For a transaction to be acceptable, all outputs referred to by its inputs must exist (created by an output of a transaction that's either in the blockchain or in the mempool), and those outputs cannot be spent already (by an input of a transaction either in the blockchain or already in the mempool). A simpler way to state this would perhaps be: if all transactions currently in the mempool would confirm, the inputs of the transaction that is being verified must refer to outputs that still exist.
This isn't exactly true anymore. BIP125 (Replace-by-fee) will in some cases permit a transaction to be accepted when the mempool already has a transaction spending one of its inputs. In that case, the older transaction is removed and replaced with the newer one.