diff options
author | Luke Dashjr <luke_github1@dashjr.org> | 2022-01-15 23:10:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-15 23:10:47 +0000 |
commit | 0d8ea5b45b160866577ce8e33d657ec508a43987 (patch) | |
tree | 7d3d6f9b728bd163e53ff9dc0cd759ced0f07760 /bip-0341.mediawiki | |
parent | 3693cdfd192dacdac89cd742f68cd1bb96bf7f7e (diff) | |
parent | fc661ac943d90e2fe5d5263fa38ec515a989da18 (diff) | |
download | bips-0d8ea5b45b160866577ce8e33d657ec508a43987.tar.xz |
Merge pull request #1232 from Olf0/patch-1
[Nit] Add full stop to conclude sentence
Diffstat (limited to 'bip-0341.mediawiki')
-rw-r--r-- | bip-0341.mediawiki | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bip-0341.mediawiki b/bip-0341.mediawiki index b88cd95..fa9bb15 100644 --- a/bip-0341.mediawiki +++ b/bip-0341.mediawiki @@ -138,7 +138,7 @@ In summary, the semantics of the [[bip-0143.mediawiki|BIP143]] sighash types rem To validate a signature ''sig'' with public key ''q'': * If the ''sig'' is 64 bytes long, return ''Verify(q, hash<sub>TapSighash</sub>(0x00 || SigMsg(0x00, 0)), sig)''<ref>'''Why is the input to ''hash<sub>TapSighash</sub>'' prefixed with 0x00?''' This prefix is called the sighash epoch, and allows reusing the ''hash<sub>TapSighash</sub>'' tagged hash in future signature algorithms that make invasive changes to how hashing is performed (as opposed to the ''ext_flag'' mechanism that is used for incremental extensions). An alternative is having them use a different tag, but supporting a growing number of tags may become undesirable.</ref>, where ''Verify'' is defined in [[bip-0340.mediawiki#design|BIP340]]. -* If the ''sig'' is 65 bytes long, return ''sig[64] ≠ 0x00<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> and Verify(q, hash<sub>TapSighash</sub>(0x00 || SigMsg(sig[64], 0)), sig[0:64])''. +* If the ''sig'' is 65 bytes long, return ''sig[64] ≠ 0x00<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> and Verify(q, hash<sub>TapSighash</sub>(0x00 || SigMsg(sig[64], 0)), sig[0:64])''. * Otherwise, fail<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>. == Constructing and spending Taproot outputs == |