Author: Antoine Riard 2022-10-10 06:11:47
Published on: 2022-10-10T06:11:47+00:00
Recent developments in Eltoo Lightning channels have suggested using the Taproot annex as a transaction endpoint to store specific protocol payloads. However, some use-cases, such as SIGHASH_GROUP/SIGHASH_BUNDLE, require an extension of transaction fields beyond the nSequence field's 32 bits of space. The Taproot soft fork introduced the annex, a tagged element within any SegWit v1 spends, reserved for future extensions. This proposal introduces a Type-Length-Value format for the annex field, which is backward-compatible and easy to parse.The proposal seeks feedback on the TLV format's interesting direction and suggests more advanced design questions concerning policy/consensus rules to prevent DoS attacks. The annex field could be accessible to Script programmers through PUSH_ANNEX_RECORD.Several potential use-cases could be served by the annex, such as per-input lock-time, commitment to historical block hash, groups of inputs/outputs, and vectors of scriptPubkeys/amounts. These are mostly whiteboard ideas, and further research and development work is needed before the annex can be considered ready for activation.The proposed Type-Length-Value format for the annex field could harmonize its usage by applications only leveraging policy-only enforcement of the field without having ulterior consensus validation nullifying or interfering with its use. Interested parties can find a WIP implementation and a BIP available on Github.
Updated on: 2023-05-22T21:31:00.985890+00:00