Fwd: BIP proposal - Signatures of Messages using Bitcoin Private Keys



Summary:

The email conversation is regarding a proposed BIP on Signature formats when using Bitcoin Private keys. The proposal includes actual code that does verification, but it did not include code for signing. Four possible options (p2pkh compressed, p2pkh uncompressed, seg3, and bech32) were tried which is certainly a possibility. It seemed reasonable to use the header field currently in use to specify which type of key is being used. Trezor implemented this method, and the document is written to document what people seem to do because there was no documentation on this before. Aymeric Vitte suggested adding a precise description of the signing/verification process since it is not documented anywhere. The "Background on ECDSA keys" section was mainly meant to give background about what kind of keys Bitcoin uses, for people who already know that they can easily skip this section so it would probably think it's best just to leave in. The reason for including this data in the header is the same that compressed/uncompressed is included in the header so that you know which type of key the signature is from and you don't have to try all options to see if any matches. Overall, the conversation concludes that it is a good idea to document this undocumented stuff precisely as it is not specified anywhere and it's a reasonable solution.


Updated on: 2023-06-13T17:24:29.275134+00:00