Author: Pieter Wuille 2012-06-16 19:26:52
Published on: 2012-06-16T19:26:52+00:00
The author of this message is discussing the different encoding formats for public keys used in OpenSSL. While compressed public keys are supported in a fully backward-compatible way, there is another non-standard encoding format that is also supported by almost all validating clients on the network. The author believes that alternative implementations should be willing to handle them as well, despite no hybrid keys being used in the main chain. The various encodings include 0x00 for a point at infinity (not a valid public key), 0x02 and 0x03 for compressed formats for even and odd Y coords respectively, 0x04 for uncompressed format, and 0x06 and 0x07 for hybrid formats for even and odd Y coords respectively.Handling these different encodings is deemed trivial - if a public key begins with 0x06 or 0x07, it can be used as if it had a 0x04 instead. The author suggests forbidding these formats after a certain date or block height, although the hassle of enforcing this through a network rule change may not be worth it.
Updated on: 2023-05-19T03:47:24.056303+00:00