public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [bitcoin-dev] Pay to signature hash as a covenant
@ 2022-05-03  7:37 vjudeu
  2022-05-03  9:35 ` ZmnSCPxj
  2022-05-21 21:24 ` AdamISZ
  0 siblings, 2 replies; 3+ messages in thread
From: vjudeu @ 2022-05-03  7:37 UTC (permalink / raw)
  To: bitcoin-dev

Typical P2PK looks like that: "<signature> <pubkey> OP_CHECKSIG". In a typical scenario, we have "<signature>" in out input and "<pubkey> OP_CHECKSIG" in our output. I wonder if it is possible to use covenants right here and right now, with no consensus changes, just by requiring a specific signature. To start with, I am trying to play with P2PK and legacy signatures, but it may turn out, that doing such things with Schnorr signatures will be more flexible and will allow more use cases.

The simplest "pay to signature" script I can think of is: "<signature> OP_SWAP OP_CHECKSIG". Then, any user can provide just a "<pubkey>" in some input, as a part of a public key recovery. The problem with such scheme is that it is insecure. Another problem is that we should handle it carefully, because signatures are removed from outputs. However, we could replace it with some signature hash, then it will be untouched, for example: "OP_TOALTSTACK OP_DUP OP_HASH160 <signatureHash> OP_EQUALVERIFY OP_FROMALTSTACK OP_CHECKSIG".

And then, signatures are more flexible than public keys, because we can use many different sighashes to decide, what kind of transaction is allowed and what should be rejected. Then, if we could use the right signature with correct sighashes, it could be possible to disable key recovery and require some specific public key, then that scheme could be safely used again. I still have no idea, how to complete that puzzle, but it seems to be possible to use that trick, to restrict destination address. Maybe I should wrap such things in some kind of multisig or somehow combine it with OP_CHECKSIGADD, any ideas?



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-21 21:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-03  7:37 [bitcoin-dev] Pay to signature hash as a covenant vjudeu
2022-05-03  9:35 ` ZmnSCPxj
2022-05-21 21:24 ` AdamISZ

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox