You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document proposes bundling three new operations for [Tapscript][tapscript-bip]:
19
-
[`OP_TEMPLATEHASH`][templatehash-bip], [`OP_CHECKSIGFROMSTACK`][csfs-bip], and [`OP_INTERNALKEY`][internalkey-bip].
19
+
[`OP_TEMPLATEHASH`][templatehash-bip], [`BIP348 OP_CHECKSIGFROMSTACK`][csfs-bip], and [`BIP349 OP_INTERNALKEY`][internalkey-bip].
20
20
21
21
These minimal operations introduce modular functionalities which improve existing second layer protocols and make new
22
22
ones possible through plausible interactivity requirements.
@@ -25,9 +25,9 @@ ones possible through plausible interactivity requirements.
25
25
26
26
The three proposed operations are simple, well-understood, and enable powerful new capabilities while minimizing the
27
27
risk of surprising behavior or unintended applications. They improve existing, well-studied protocols and make promising
28
-
new ones possible, while minimizing the risk of surprising behavior or unintended or undesirable applications.
28
+
new ones possible.
29
29
30
-
`OP_TEMPLATEHASH` enables commitment to the transaction spending an output. `OP_CHECKSIGFROMSTACK` enables
30
+
`OP_TEMPLATEHASH` enables committing to the transaction spending an output. `OP_CHECKSIGFROMSTACK` enables
31
31
[BIP340][schnorr-bip] signature verification of arbitrary messages. `OP_INTERNALKEY` allows to push the
32
32
[Taproot][taproot-bip] internal key on the stack.
33
33
@@ -52,7 +52,7 @@ signatures.
52
52
## Rationale
53
53
54
54
This proposal seeks to extend Bitcoin's scripting capabilities in areas that are useful to proven approaches to scaling
55
-
Bitcoin payments, while minimizing the risk of enabling surprising or unwanted usage. The operations proposed to achieve
55
+
Bitcoin payments. The operations proposed to achieve
56
56
these capabilities are contained within the more modern and well-studied Tapscript context. They are simple, composable
57
57
and unlikely to be made obsolete by future extensions to Bitcoin Script. They build upon existing operations and
58
58
therefore present a minimal cost to validation and implementation complexity.
@@ -70,6 +70,10 @@ substantially improve existing ones, this proposal favours the minimal approach.
70
70
signatures usage more efficient;
71
71
- it prevents surprising interactions with programs in a transaction input's `scriptSig`.
72
72
73
+
## Implementation
74
+
75
+
[`OP_TEMPLATEHASH`][templatehash-bip], [`BIP348 OP_CHECKSIGFROMSTACK`][csfs-bip], and [`BIP349 OP_INTERNALKEY`][internalkey-bip] implemented as specified in their corresponding documents.
76
+
73
77
## Backward compatibility
74
78
75
79
This document proposes to give meaning to three Tapscript `OP_SUCCESS` operations. The presence of an `OP_SUCCESS` in a
0 commit comments