After compressed pubkeys: hybrid pubkeys [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2012-06-17T15:16:13+00:00


Summary:

The discussion between Pieter Wuille, Mike Hearn, and Wladimir revolves around the different formats of encryption keys in OpenSSL. They discuss the uncompressed format (0x04), hybrid format for even Y coords (0x06), and hybrid format for odd Y coords (0x07). Pieter explains that the only difference between these formats is the first number. However, to prevent surprises in the future, Wladimir suggests disabling all other key formats in advance.In 2012, Mike Hearn inquired about the differences in format between three types of elliptic curve points: uncompressed, hybrid for even Y coords, and hybrid for odd Y coords. Pieter responds, stating that the only difference between these formats is the first number. No further information is provided about the context or purpose of these elliptic curve points.There are three formats used for representing elliptic curve points: uncompressed format (0x04), hybrid format for even Y coords (0x06), and hybrid format for odd Y coords (0x07). These formats use the same 32-byte X coord and 32-byte Y coord but differ based on the type of format used.On June 16th, 2012, Gregory Maxwell and Gavin Andresen discuss the usage of 'hybrid' public keys. The topic is whether to forbid their usage or not. Gavin suggests treating transactions using these keys as 'non-standard,' meaning they won't be relayed or mined automatically but can still be accepted in a block. He agrees with Gregory that changing rules isn't necessary currently but making them non-standard now would make a rule change easier later. Gregory expresses hope that no one would mine these before a rule change could be implemented. The rejection of OP_NOP is also discussed, with Luke expressing willingness to reject both hybrid public keys and OP_NOP if a patch that didn't depend on IsStandard being enforced is provided.Gavin Andresen initiates a discussion on the Bitcoin development mailing list about 'hybrid' public keys with the prefix 0x06/0x07. He proposes treating them as 'non-standard' transactions to make alternative implementations easier in the future. However, he doesn't believe a network rule change is worth the hassle at this time. Instead, he suggests not relaying or mining these transactions by default but still accepting blocks that contain them. This approach would facilitate a rule change in the future if necessary.The author discusses the different encoding formats for public keys used in OpenSSL. Compressed public keys are supported in a fully backward-compatible way, and a non-standard encoding format is also supported by most validating clients on the network. The author believes that alternative implementations should handle these encodings despite no hybrid keys being used in the main chain. The various encodings include 0x00 for a point at infinity, 0x02 and 0x03 for compressed formats for even and odd Y coords, 0x04 for uncompressed format, and 0x06 and 0x07 for hybrid formats for even and odd Y coords. The author suggests forbidding these formats after a certain date or block height, although enforcing this through a network rule change may not be worth it.


Updated on: 2023-08-01T03:39:41.568622+00:00