Skip to content

Commit 9ff9c6b

Browse files
committed
Newsletter bitcoinops#36: fix sighash error
1 parent 4d8b62e commit 9ff9c6b

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

_posts/en/newsletters/2019-03-05-newsletter.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,14 @@ commits in popular Bitcoin infrastructure projects.
115115
indicate exactly what parts of the transaction (and related data)
116116
get included in the hash. Only 6 of the possible 256 values for
117117
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.
125126

126127
- **Forbid transactions 64 bytes or smaller:** derived elements
127128
(nodes) in Bitcoin's merkle trees are formed by combining two
@@ -357,7 +358,7 @@ More information:
357358

358359
- [Mailing list discussion][bitcoin-dev merkle tree] by various authors
359360

360-
## Legacy transaction verification
361+
### Legacy transaction verification
361362

362363
In 2015 a block was mined containing a transaction almost 1 MB in size,
363364
taking about 25 seconds to verify on a contemporary desktop. Besides
@@ -453,6 +454,14 @@ More information:
453454
practically eliminating any use for `OP_CODESEPARATOR` and
454455
`FindAndDelete()`
455456

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+
456465
{% include references.md %}
457466
{% include linkers/issues.md issues="15482,2382,15471" %}
458467
[bip-cleanup]: https://github.com/TheBlueMatt/bips/blob/cleanup-softfork/bip-XXXX.mediawiki

0 commit comments

Comments
 (0)