lightning-dev
OP_Expire and Coinbase-Like Behavior: Making HTLCs Safer by Letting Transactions Expire Safely
Posted on: November 8, 2023 02:06 UTC
In the latest iteration of package relay, version 3, a significant change has been introduced concerning anchor outputs in commitment transactions.
Unlike previous versions where multiple anchor outputs could exist and be spent independently, v3 mandates that zero-value anchor outputs must be utilized within the same transaction package. This approach aims to address the issue of unspent transaction output (UTXO) set growth by ensuring that anchors are not left unspent.
The implications of this modification extend to the security dynamics between transacting parties—specifically, how they protect themselves against double-spending attacks. In earlier versions, for instance, when Alice broadcasted a transaction with an anchor output, she would spend her designated anchor, which Bob could not replicate or interfere with. However, under the new system in v3, this safeguard is not present because there is only one anchor output that does not belong exclusively to either party.
This single anchor output is characterized as an OP_1 output without an associated signature, making it neutral and not owned by any specific party involved in the transaction. Such a design choice reflects a deliberate shift away from the traditional mechanisms employed in existing anchor output transactions, underscoring the evolving nature of strategies to optimize blockchain resource usage while navigating associated risks.
For those interested in delving deeper into the technical nuances or seeking further information, additional insights can be found by reaching out to Peter Todd through his email, which interestingly uses Python slicing syntax 'peter'[:-1]@petertodd.org to presumably avoid automated scraping and enhance privacy. The provided link directs to his personal website https://petertodd.org, where more resources and discussions on the topic may be available.