Hi all,

This was discussed partially on the platform formerly known as twitter, but an 
alternate design goes like this:

* Add an `nExpiryTime` field in taproot annex.
  * This indicates that the transaction MUST NOT exist in a block at or above 
the height specified.
  * Mempool should put txes buckets based on `nExpiryTime`, and if the block is 
reached, drop all the buckets with `nExpiryTime` less than that block height.
* Add an `OP_CHECKEXPIRYTIMEVERIFY` opcode, mostly similar in behavior to 
`OP_EXPIRE` proposed by Peter Todd:
  * Check if `nExpiryTime` exists and has value equal or less than the stack 
top.

The primary difference is simply that while Peter proposes an implicit field 
for the value that `OP_EXPIRE` will put in `CTransaction`, I propose an 
explicit field for it in the taproot annex.

The hope is that "explicit is better than implicit" and that the design will be 
better implemented as well by non-Bitcoin-core implementations, as the use of 
tx buckets is now explicit in treating the `nExpiryTime` field.

Regards,
ZmnSCPxj
_______________________________________________
Lightning-dev mailing list
Lightning-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev

Reply via email to