mirror of
https://github.com/bitcoinbook/bitcoinbook
synced 2025-02-23 21:12:13 +00:00
CH08: update text about flex sighashes to ANYPREVOUT
This commit is contained in:
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…
Reference in New Issue
Block a user