Author: Peter Todd 2014-10-14 08:09:05
Published on: 2014-10-14T08:09:05+00:00
Pieter Wuille, a Bitcoin developer, has announced the discovery of another type of malleability while working on a BIP62 implementation. He notes that any byte array with non-zero bytes in it (except for the highest bit of the last byte) is interpreted as true and anything else as false in the code for dealing with booleans. However, this interpretation of booleans is not consistent and scripts using booleans as inputs will be inherently malleable. In response, Wuille proposes changing BIP62 to require interpreted booleans to be of minimal encoded size to solve the problem. Another developer, Peter Todd, comments that relying on BIP62 for specialty contract applications is risky, and argues that having canonical bool testing in every boolean-using opcode saves a lot of bytes.
Updated on: 2023-06-09T03:08:23.087509+00:00