1
0
mirror of https://github.com/bitcoin/bips.git synced 2024-11-19 18:00:08 +01:00

Mention that miners could malleate signatures

This commit is contained in:
Orfeas Stefanos Thyfronitis Litos 2019-11-26 15:30:12 +00:00
parent b44d5c9531
commit 2e79be9f72
No known key found for this signature in database
GPG Key ID: D8E88F3AB8A0CEA4

View File

@ -93,7 +93,7 @@ The following rules apply:
* If the signature is not 64<ref>'''Why permit two signature lengths?''' By making the most common type of <code>hash_type</code> implicit, a byte can often be saved.</ref> or 65 bytes, fail.
* If the signature size is 65 bytes:
** If the final byte is not a valid <code>hash_type</code> (defined hereinafter), fail.
** If the final byte is <code>0x00</code>, fail<ref>'''Why can the <code>hash_type</code> not be <code>0x00</code> in 65-byte signatures?''' Permitting that would enable malleating 64-byte signatures into 65-byte ones, resulting in a different `wtxid` and a different fee rate than the creator intended</ref>.
** If the final byte is <code>0x00</code>, fail<ref>'''Why can the <code>hash_type</code> not be <code>0x00</code> in 65-byte signatures?''' Permitting that would enable malleating (by third parties, including miners) 64-byte signatures into 65-byte ones, resulting in a different `wtxid` and a different fee rate than the creator intended</ref>.
** If the first 64 bytes are not a valid signature according to bip-schnorr for the public key and message set to the transaction digest with <code>hash_type</code> set as the final byte, fail.
* If the signature size is 64 bytes:
** If it is not a valid signature according to bip-schnorr for the public key and the <code>hash_type = 0x00</code> transaction digest as message, fail.