@@ -115,13 +115,14 @@ commits in popular Bitcoin infrastructure projects.
115
115
indicate exactly what parts of the transaction (and related data)
116
116
get included in the hash. Only 6 of the possible 256 values for
117
117
the byte have a defined meaning so far---if you use any other
118
- value, your signature is valid with any hash (meaning your coins
119
- have no security), which could be used with a soft fork to add a
120
- new sighash type. However, since the adoption of [ BIP141] [ ] segwit,
121
- any new sighash types are expected to be
122
- introduced using new witness versions. Removing the ability to
123
- specify undefined sighash types allows improved caching for reduced
124
- node overhead.
118
+ value, your signature commits to almost exactly the same data as
119
+ used for ` SIGHASH_ALL ` . The one difference is that the signature
120
+ hash must commit to its own sighash flag, which will be different
121
+ for the otherwise-equivalent data and which complicates caching.
122
+ Since the adoption of [ BIP141] [ ] segwit, any new sighash types are
123
+ expected to be introduced using new witness versions, so removing the
124
+ ability to specify undefined sighash types allows improved caching
125
+ for reduced node overhead.
125
126
126
127
- ** Forbid transactions 64 bytes or smaller:** derived elements
127
128
(nodes) in Bitcoin's merkle trees are formed by combining two
@@ -357,7 +358,7 @@ More information:
357
358
358
359
- [ Mailing list discussion] [ bitcoin-dev merkle tree ] by various authors
359
360
360
- ## Legacy transaction verification
361
+ ### Legacy transaction verification
361
362
362
363
In 2015 a block was mined containing a transaction almost 1 MB in size,
363
364
taking about 25 seconds to verify on a contemporary desktop. Besides
@@ -453,6 +454,14 @@ More information:
453
454
practically eliminating any use for ` OP_CODESEPARATOR ` and
454
455
` FindAndDelete() `
455
456
457
+ ## Corrections
458
+
459
+ An earlier version of this newsletter incorrectly reported that an
460
+ undefined sighash flag allowed a signature to commit to any hash.
461
+ Instead it must commit to the same data as the default ` SIGHASH_ALL `
462
+ flag. We thank Russell O'Connor and Pieter Wuille for independently
463
+ reporting this error.
464
+
456
465
{% include references.md %}
457
466
{% include linkers/issues.md issues="15482,2382,15471" %}
458
467
[ bip-cleanup ] : https://github.com/TheBlueMatt/bips/blob/cleanup-softfork/bip-XXXX.mediawiki
0 commit comments