delvingbitcoin

`sighash_outputdeltabounds`

`sighash_outputdeltabounds`

Original Postby ZmnSCPxj

Posted on: January 31, 2024 06:52 UTC

A proposal for a new SIGHASH scheme has been introduced to improve Bitcoin smart contracts, including enhancements for Poon-Dryja payment channels and Decker-Russell-Osuntokun update transactions.

The scheme utilizes an 84-byte signature operand containing various elements such as SIGHASH flags, a vout_index, delta_min, delta_max, and a Schnorr signature. This design sets bounds on transaction outputs in relation to the input amount, thus validating fees within these limits.

For Poon-Dryja channels, commitment transactions can be signed with SIGHASH_ALL|SIGHASH_OUTPUTDELTABOUNDS, allowing participants to adjust output values while adhering to negotiated fee boundaries, despite fluctuating blockchain fees. Meanwhile, Decker-Russell-Osuntokun channels propose using SIGHASH_NOINPUT|SIGHASH_OUTPUTDELTABOUNDS for simplified one-input and one-output update transactions, with a maximum fee (delta_min) agreed by all parties to prevent exploitation by miners.

The proposal acknowledges issues like "update transaction tennis," recommending direct publication of the latest state transaction to conserve channel funds instead of engaging in sequential updates. It also suggests that watchtowers should focus on accuracy rather than speed when issuing updates to maintain network integrity.

Further discussions extend to the Lightning Network's adaptability, proposing a Taproot annex with TLV-encoded fields to support additional data types. The introduction of SIGHASH_OUTPUTDELTABOUNDS enforces output adjustments within set bounds without affecting the core transaction value, considering the input amount as zero. This could facilitate future covenant applications through new opcodes, implemented via a soft fork, thereby enhancing the network without disrupting existing operations.

Finally, the SIGHASH_OUTPUTDELTABOUNDS signature confirms the fee contribution range for inputs, ensuring outputs are adjusted at the specific vout_index. An annex-based approach guarantees that inputs contribute fees within certain limits, maintaining economic balance in transaction structures.