Continuing the discussion about noinput / anyprevout

Posted by ZmnSCPxj

Oct 2, 2019/02:03 UTC

ZmnSCPxj proposed a radical idea to remove the "SIGHASH" flags from signatures, which he believes are a misdesign retained from the original Bitcoin 0.1.0 Alpha for Windows design. He suggested putting "SIGHASH" on public keys instead and encoding them as either 33-bytes (implicit SIGHASH_ALL) or 34-bytes. Then, OP_CHECKSIG and friends will look at the public key to determine the sighash algorithm rather than the signature. ZmnSCPxj also proposed adding an opcode called "OP_SETPUBKEYSIGHASH," which would allow the selection of SIGHASH flag at time-of-signing if the script is formed to do so. By default, public keys will not have an attached SIGHASH byte, implying SIGHASH_ALL. This proposal removes the problems with SIGHASH_NONE and SIGHASH_SINGLE, as they are allowed only if the output specifically says they are allowed.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiBitcoin Transcripts Review
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project?

Give Feedback