I was considering starting a BIP, but wanted to ask the thread if anything like this was already done or in the works. My proposal is to expand the TXN format to include chain-height (block number) in the TXN. This would allow nodes / miners to age the TXN and choose (optionally) not to rebroadcast it after a certain age threshold. Currently (as I understand it), nodes and miners keep effectively a "seen-list" of TXNs and age them based upon when they were last seen. This is very effective as it reduces TXN size and frees the TXN from having to declare its age. The downside to this is that those TXNs could be broadcast forever, assuming (big assume) that the UTXO never got spent.
The goal here is not to enhance the protocol... if anything this would increase TXN cost as it would add a few bytes to it. The goal here is to make it easier for users to know with better certainty when an TXN is going to age out. Obviously RBF is a better solution, but there may be some instances when a user wants to effectively cancel a TXN.
Possible abuse vectors might include:
* Bad party broadcasting a low fee TXN at the edge of the age-out threshold and trying to get goods, realizing the TXN will age out at the very next block.
If this proposal might be something that core would entertain in a BIP proposal I'll start drafting something. If there are suggestions about where to place the block number to have minimal impact and ensure backward compatibility, that would be great to. If this is simply silly and should not be entertained, no harm there either.