BIP proposal - Signatures of Messages using Bitcoin Private Keys



Summary:

A proposed Bitcoin Improvement Proposal (BIP) has been written up by Christopher Gilliard. The proposal pertains to signature formats used with Bitcoin private keys and includes actual code for verification. However, signing code was not included in the proposal but could be added. The proposal is inline with the implementation that Trezor implemented in a previous issue. The reason for including data in the header is the same as compressed/uncompressed keys being included in the header, so that the type of key used for the signature can be known without having to test all options. This is why Trezor did it this way and why Gilliard documented it. The proposal suggests that if there is a header field in use, it seems reasonable to use it to specify which type of key is being used. Testing the four possible options is certainly a possibility; however, not every wallet implements something like this. If the header includes whether the key is compressed or not compressed, it seems logical to include all data about what type of key it is and not just this one type of information. Aymeric Vitte suggested that the proposal should have a more precise description of the signing/verification process since it is documented nowhere. He also believes the "Background on ECDSA keys" section should focus on signatures instead of keys. Additionally, the purpose of the header is unclear and testing different possibilities is not a big deal. It is mysterious why the signature format is not the same as transactions one. The proposal is not an invention of Gilliard's but rather a documentation of what people are actually doing since it had to be verified as part of a project he was working on. The document could be useful to others since as far as he could tell, it was not specified anywhere.


Updated on: 2023-06-13T17:06:49.480379+00:00