|
|
|
@ -946,6 +946,31 @@ internally in software and rarely shown to users. The WIF is used for
|
|
|
|
|
import/export of keys between wallets and often used in QR code
|
|
|
|
|
(barcode) representations of private keys.
|
|
|
|
|
|
|
|
|
|
.Modern relevancy of private key formats
|
|
|
|
|
****
|
|
|
|
|
Early Bitcoin wallet software generated one or more independent private
|
|
|
|
|
keys when a new user wallet was initialized. When the initial set of
|
|
|
|
|
keys had all been used, the wallet might generate additional private
|
|
|
|
|
keys. Individual private keys could be exported or imported. Any time
|
|
|
|
|
new private keys were generated or imported, a new backup of the wallet
|
|
|
|
|
needed to be created.
|
|
|
|
|
|
|
|
|
|
Later Bitcoin wallets began using deterministic wallets where all
|
|
|
|
|
private keys are generated from a single seed value. These wallets only
|
|
|
|
|
ever need to be backed up once for typical onchain use. However, if a
|
|
|
|
|
user exports a single private key from one of these wallets and an
|
|
|
|
|
attacker acquires that key plus some non-private data about the wallet,
|
|
|
|
|
they can potentially derive any private key in the wallet--allowing the
|
|
|
|
|
attacker to steal all of the wallet funds. Additionally, keys cannot be
|
|
|
|
|
imported into deterministic wallets. This means almost no modern
|
|
|
|
|
wallets support the ability to export or import an individual key. The
|
|
|
|
|
information in this section is mainly of interest to anyone needing
|
|
|
|
|
compatibility with early Bitcoin wallets.
|
|
|
|
|
|
|
|
|
|
For more information, see <<hd_wallets>>.
|
|
|
|
|
|
|
|
|
|
****
|
|
|
|
|
|
|
|
|
|
[[table_4-2]]
|
|
|
|
|
.Private key representations (encoding formats)
|
|
|
|
|
[options="header"]
|
|
|
|
|