Subject: [bitcoin-dev] Short review of previously-proposed exotic SIGHASH types

From: Bryan Bishop <[email-masked]>
Date: Sun, 30 Aug 2015 13:56:34 -0500

Here is a short review of previously-proposed and exotic SIGHASH types.

SIGHASH_MULTIPLE
SIGHASH_LIST:
https://bitcointalk.org/index.php?topic=252960.0
https://bitcointalk.org/index.php?topic=212555.0

SIGHASH_MULTIPLE
SIGHASH_WITHINPUTVALUE:
https://bitcointalk.org/index.php?topic=191003.0

SIGHASH_WITHINPUTVALUE:
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-January/007185.html

SIGHASH_NOINPUT:
https://github.com/Roasbeef/bitcoin/commit/4b3c3f1baf7985208ceb6887261ee150ab6e3328
https://github.com/Roasbeef/btcd/commit/67830e506fa135d5239177340918cea39909e6a4
http://lightning.network/lightning-network-paper.pdf

SIGHASH_NORMALIZED
SIGHASH_NOINPUT:
http://diyhpl.us/wiki/transcripts/sf-bitcoin-meetup/2015-02-23-scaling-bitcoin-to-billions-of-transactions-per-day/

SIGHASH_WITHOUT_PREV_SCRIPTPUBKEY
SIGHASH_WITHOUT_PREV_VALUE
SIGHASH_WITHOUT_INPUT_TXID
SIGHASH_WITHOUT_INPUT_INDEX
SIGHASH_WITHOUT_INPUT_SEQUENCE
SIGHASH_WITHOUT_OUTPUT_SCRIPTPUBKEY
SIGHASH_WITHOUT_OUTPUT_VALUE
SIGHASH_WITHOUT_INPUTS
SIGHASH_WITHOUT_OUTPUTS
SIGHASH_WITHOUT_INPUT_SELF
SIGHASH_WITHOUT_OUTPUT_SELF
SIGHASH_WITHOUT_TX_VERSION
SIGHASH_WITHOUT_TX_LOCKTIME
SIGHASH_SIGN_STACK_ELEMENT:
https://github.com/scmorse/bitcoin-misc/blob/master/sighash_proposal.md

Similarly, petertodd has asked for a SIGHASH_DONT_SIGN_TXID before to
make OP_CODESEPARATOR more useful.

SIGHASH_DANGEROUSLYPROMISCUOUS:
http://gnusha.org/bitcoin-wizards/2015-04-17.log

SIGHASH_DOUBLE:
06:41 < lorenzoasr> maybe a SIGHASH_DOUBLE that signs INPUT[i] and
OUTPUT[i] and OUTPUT[i+1] could be very helpful

Some sighash types briefly proposed by petertodd in #bitcoin-dev:
SIGHASH_NLOCKTIMEVERIFY
SIGHASH_SUM (for merging multiple payments)

And finally one from wumpus (#bitcoin-dev):
SIGHASH_UNICORN

- Bryan
http://heybryan.org/
1 512 203 0507