CH08: update text about flex sighashes to ANYPREVOUT

develop
David A. Harding 1 year ago
parent 260df04abe
commit 5515a74870

@ -228,12 +228,31 @@ of signature, the uneconomical UTXOs can be donated for anyone to aggregate and
spend whenever they want. spend whenever they want.
((("Bitmask Sighash Modes")))There are some proposals to modify or ((("Bitmask Sighash Modes")))There are some proposals to modify or
expand the +SIGHASH+ system. One such proposal is _Bitmask Sighash expand the +SIGHASH+ system. The most widely discussed proposal as of
Modes_ by Blockstream's Glenn Willen, as part of the Elements project. this writing is BIP118, which proposes to add two
This aims to create a flexible replacement for +SIGHASH+ types that new sighash flags. A signature using +SIGHASH_ANYPREVOUT+ would not
allows "arbitrary, miner-rewritable bitmasks of inputs and outputs" that commit to an input's outpoint field, allowing it to be used to spend any
can express "more complex contractual precommitment schemes, such as previous output for a particular witness program. For example, if Alice
signed offers with change in a distributed asset exchange." receives two outputs for the same amount to the same witness program
(e.g. requiring a single signature from her wallet), a
+SIGHASH_ANYPREVOUT+ signature for spending either one of those outputs
could be copied and used to spend the other output to the same
destination.
A signature using +SIGHASH_ANYPREVOUTANYSCRIPT+ would not
commit to the outpoint, the amount, the witness program, or that
tapleaf_hash used, allowing it to be used to spend any previous output
which the signature could satisfy. For example, if Alice received two
outputs for different amounts and different witness programs (e.g. one
requiring a single signature and another require her signature plus some
other data), a +SIGHASH_ANYPREVOUTANYSCRIPT+ signature for spending
either one of those outputs could be copied and used to spend the other
output to the same destination (assuming the extra data for the second
output was known).
The main expected use for the two SIGHASH_ANYPREVOUT opcodes is improved
payment channels, such as those used in the Lightning Network, although
several other uses have been described.
[NOTE] [NOTE]
==== ====

Loading…
Cancel
Save