Author: Gregory Maxwell 2014-09-01 20:48:14
Published on: 2014-09-01T20:48:14+00:00
Pieter Wuille sent a pull request to make a small change to BIP 62, his anti-malleability proposal. The change makes two of the seven new rules mandatory in new blocks, even for old-style transactions. Both are already non-standard since 0.8.0 and have no use cases, according to him. The reason for this change is dropping the requirement for signature verification engines to be bug-for-bug compatible with OpenSSL. Requiring strict DER compliance for signatures means any implementation just needs to support DER.In the context of this change, someone mentioned that the definition of rule 4 may not be sufficiently specific. Without a definition, someone could reasonably reach a different conclusion about OP_1NEGATE being a "push operation", or might even decide any operation which added to the stack was a "push operation". They also asked if there was any particular reason to enforce 2 and 4 but not also 5, which is already non-standard and like 2,4 should be safely enforceable. It was suggested that the rules should be reordered so that the applicable to all transactions ones are contiguous and first. Pieter Wuille responded by saying that the first six and part of the seventh can be fixed by extra consensus rules. It was also clarified that the scriptPubkey can still specify rules that are inherently malleable, but this wasn't important for what the BIP is trying to achieve.
Updated on: 2023-05-19T19:06:18.711914+00:00