deterministic transaction expiration



Summary:

Transaction expiration is an issue that has been a concern in bitcoin for a long time. The experience of unconfirmed transactions setting around in limbo is terrible, even though Bitcoin software has improved attaching fees, minimizing the problem. However, the Internet never forgets, so we cannot assume that a transaction will disappear entirely. By adjusting the mempool, the majority of the network "forgets" the transaction and becomes willing to relay a respend of some or all of the inputs. If a transaction has not made it into a block within 144*X blocks, there is some reason it is getting rejected by the miners. The mempool janitor is a garbage collector design, which is inferior to the "superblock" model described at https://github.com/bitcoin/bitcoin/issues/3723. There are several issues tied together here, including transaction expiration, the desire to cap the mempool RAM usage, scalability, DoS prevention, etc. The mempool ties a lot of issues together. Jeff Garzik, a Bitcoin core developer and open-source evangelist, expressed his pleasure in seeing the issue brought up.


Updated on: 2023-06-09T01:44:36.217531+00:00