Short review of previously-proposed exotic SIGHASH types
3 messages, 30 Aug to 1 Sep 2015. Started by Bryan Bishop.
Bryan Bishop, Johnson Lau, Peter Todd
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
Bryan Bishop via bitcoin-dev 於 2015-08-30 14:56 寫到:
Quoted text (17 lines)
> > 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 >
Thanks for your summary. This one seems particularly interesting. However, it does not allow fine adjustment for each input and output separately, so I wonder if it really "fully enable any seen or unforseen use case of the CTransactionSignatureSerializer." as it claims.
On Sun, Aug 30, 2015 at 01:56:34PM -0500, Bryan Bishop via bitcoin-dev wrote:
Quoted text (5 lines)
> Here is a short review of previously-proposed and exotic SIGHASH types. > > SIGHASH_MULTIPLE > Similarly, petertodd has asked for a SIGHASH_DONT_SIGN_TXID before to > make OP_CODESEPARATOR more useful.
There's also my "meta sighash" idea of using code to build up the signature with OP_CODESEPARATOR:
http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg07384.html