I was reading about potential OP_CAT
applications and read about OP_CHECKSEPARATESIG
. This seems to refer to some shorthand, as I am not aware of an opcode by that designation. What is OP_CHECKSEPARATESIG
?
1 Answer
OP_CHECKSEPARATESIG
has not been formally proposed for bitcoin, but it would amount to an opcode that consumes the parts of a bitcoin signature (r
and s
and sighash mode
) separately, rather than from a single argument.
This separation of r
and s
allows the r
value to be fixed by a bitcoin locking script, which ensures that only one signature for a specific script branch can be produced by the signer without revealing their secret key.
Having a branch that can only be signed once enables the construction of spending bonds which could enable specialized protocols, including zero-conf-safe wallets and a subset of multiparty channel factories.
If OP_CAT
is enabled for bitcoin, there is no need for OP_CHECKSEPARATESIG
as OP_CAT
can be used to build a combined signature from the separate parts without a specialized opcode.