Subject: Re: [Bitcoin-development] deterministic transaction expiration

From: Gregory Maxwell <[email-masked]>
Date: Thu, 31 Jul 2014 19:28:15 -0700

On Thu, Jul 31, 2014 at 6:38 PM, Matt Whitlock <[email-masked]> wrote:
> It would make more sense to introduce a new script opcode that pushes the current block height onto the operand stack. Then you could implement arbitrary logic about which blocks the transaction can be valid in. This would require that the client revalidate all transactions in its mempool (really, only those making use of this opcode) whenever the chain tip changes.

Transactions that become invalid later are have pretty severe
consequences because they might mean that completely in an absence of
fraud transactions are forever precluded due to a otherwise harmless
reorg.

While there may be uses for that, the resulting outputs should be
considered differently fungible— like coinbases which are immature—
and should probably be only used with great caution... not as a
mechanism for ordinary transactions.