Join 55,076 users and earn money for participation

Achievement unlocked: Bitcoin Cash fixed all common third-party transaction malleation vectors

5 391 boost
Avatar for BigBlockIfTrue
Written by   66
1 year ago

Canonically encoded ECDSA signatures: Non-DER encoded ECDSA signatures are prohibited since the activation of BIP 66 in July 2015.

Non-push operations in scriptSig: Non-push operations in signature scripts are prohibited since the November 2018 Bitcoin Cash network upgrade. Bitcoin Core still accepts them.

Push operations in scriptSig of non-standard size type: Non-standard-size push operations in any script are prohibited since the November 2019 Bitcoin Cash network upgrade. Bitcoin Core still accepts them.

Zero-padded number pushes: Processing numbers encoded in non-standard form is prohibited since the November 2019 Bitcoin Cash network upgrade. Bitcoin Core still accepts this.

Inherent ECDSA signature malleability: High S values in ECDSA signatures are prohibited since the November 2017 Bitcoin Cash network upgrade. Bitcoin Core still accepts them.

Malleability of failing signature: Passing invalid signatures other than null to OP_CHECK(MULTI)SIG is prohibited since the November 2017 Bitcoin Cash network upgrade. Bitcoin Core still continues script execution.

Superfluous scriptSig operations: Script execution must result in a clean stack since the November 2018 Bitcoin Cash network upgrade. Bitcoin Core does not require this. The May 2019 Bitcoin Cash network upgrade adds an exemption only for specific SegWit-like signature scripts.

Inputs ignored by scripts: The second input of OP_CHECKMULTISIG(VERIFY) is no longer ignored since the November 2019 Bitcoin Cash network upgrade. Instead, on Bitcoin Core this input is required to be null since the activation of BIP 147 in August 2017.

6
$ 100.71
$ 91.00 from @MarcDeMesel
$ 1.00 from @JonathanSilverblood
+ 7
Avatar for BigBlockIfTrue
Written by   66
1 year ago
Enjoyed this article?  Earn Bitcoin Cash by sharing it! Explain
...and you will also help the author collect more tips.

Comments

Does this mean that BCH can now be used as a Layer 1 for Lightning?

$ 0.00
1 year ago

That is possible since 2018 I think. It's just not needed so it hasn't been done yet.

$ 0.00
1 year ago

There are a list of others known mallebility vectors?

$ 0.00
1 year ago

People are all there is only to look

$ 0.00
1 year ago

This is the complete list of all third-party malleation vectors mentioned in any BIP proposals ever.

Note that it always remains possible to construct custom transaction scripts that introduce new vectors, if you insist on shooting yourself in the foot.

$ 0.00
1 year ago