lightning-dev

OP_Expire and Coinbase-Like Behavior: Making HTLCs Safer by Letting Transactions Expire Safely

OP_Expire and Coinbase-Like Behavior: Making HTLCs Safer by Letting Transactions Expire Safely

Original Postby Peter Todd

Posted on: October 23, 2023 15:45 UTC

In the email, the sender suggests using "nExpiryHeight" instead of time-based expiration in programming.

They argue that relying on time-based expiration can be problematic because it may incentivize miners to manipulate the current time. The sender also mentions that the ability for nLockTime to be time-based was a design mistake.

The sender proposes redefining an OP_SuccessX opcode and suggests using either "OP_Expire" or "OP_CheckExpiryTime" as alternative names for the opcode. They mention that with this approach, there would be no need for the _Verify behavior.

Additionally, the sender acknowledges making a mistake in their previous proposal by forgetting about the taproot annex. They initially suggested reusing part of nVersion, but now they realize that having a separate field like nExpiryHeight could be useful, especially in cases where a signature covering the field is sufficient.

The email includes a link to https://petertodd.org, which likely contains more relevant information on these topics.