On 2012 April 12 Thursday, Jeff Garzik wrote: > One of my From-Day-One complaints about bitcoin is that transactions > behavior could be far more deterministic (predictable), from a user > standpoint. Transactions in the current system can easily remain in > limbo forever. > > One big step in making transactions behave more predictably would be > to remove transactions from the memory pool, if they have not made it > into a block for a couple days. i.e. A change I've wished for for a while (but I suspect it is too big a change to ever make it) is that a transaction announcement include the block the user wants to base on. It would only be in the protocol message, not the transaction stored in the blockchain. The advantage is that (1) it protects against double spends without needing a confirmation period; as a merchant I can instantly spend a 1-confirmation transaction by creating my transaction with that 1-confirm as its "base". (2) your expiry from memory pool becomes easy -- if the "base" is more than N blocks below the current head, then that transaction won't be included. Retransmission is possible with the base updated. Andy -- Dr Andy Parkins andyparkins@gmail.com