Author: Karl-Johan Alm 2018-04-10 02:54:08
Published on: 2018-04-10T02:54:08+00:00
The author of the message has made some modifications to a BIP (Bitcoin Improvement Proposal) by dropping the 0x80 jump to 0x10 and has requested a BIP number if there are no objections. The message also contains a formatted version of the BIP proposal, which is titled 'Typed Private Keys', and covers an extension to the private key format to specify what kind of public key the private key corresponds to. Currently, when importing a private key, the wallet has to assume all kinds, and keep track of each possible alternative as there is no way of knowing what kind of public keys were associated with the private key. By extending the suffix, the proposal aims to specify what kind of public key was associated with the given private key. The proposal includes a table with values, types, compression and clarification. When a wallet imports a private key, it will have two outcomes: the key is using one of the legacy types, in which case all types must be accounted for, or the key is using one of the extended types, in which case the wallet need only track the specific corresponding public key. The proposal is not backwards compatible, in that software that does not recognize the new types will not understand the compressed flag. It would be trivial to change this, by keeping the 'uncompressed' state as it is (0) and changing 'compressed' to be 'anything not 0', as opposed to 'the value 1'. However, the proposal is backwards compatible in that new wallet software will always understand the old WIF (Wallet Import Format) format, however, it will assume that any kind of public key is possible, and will have to track all of them, as it has to today. The proposal is based on the initial proposal by Thomas Voegtlin and the Electrum 3.0 implementation. There is a partial implementation which adds, but does not use, the types described in this BIP on Github. The document is licensed under the Creative Commons CC0 1.0 Universal license.
Updated on: 2023-06-12T18:50:34.223625+00:00