Terminology And Key Pool Fixes

Two minor changes suggested by iwilcox on IRC (thanks!):

* s/brute-force find/brute-force/ in HD wallet section

* Correct mistaken assertion that the keypool isn't refreshed until all
  keys are used. If the wallet is unencrypted or unlocked, the keypool
  is refreshed after each time a key is used.
This commit is contained in:
David A. Harding 2014-06-01 03:18:50 -04:00
parent 322707f807
commit 183afa76c4
No known key found for this signature in database
GPG key ID: 4B29C30FF29EC4B7

View file

@ -217,7 +217,7 @@ which makes them special.
Hardened extended keys fix a potential problem with normal extended keys. Hardened extended keys fix a potential problem with normal extended keys.
If an attacker gets a normal parent If an attacker gets a normal parent
chain code and parent public key, he can brute-force find all chain chain code and parent public key, he can brute-force all chain
codes deriving from it. If the attacker also obtains a child, grandchild, or codes deriving from it. If the attacker also obtains a child, grandchild, or
further-descended private key, he can use the chain code to generate all further-descended private key, he can use the chain code to generate all
of the extended private keys descending from that private key, as of the extended private keys descending from that private key, as
@ -339,7 +339,14 @@ For implementation details, please see BIP39.
{% autocrossref %} {% autocrossref %}
Loose-Key wallets, also called "Just a Bunch Of Keys (JBOK)", are a deprecated form of wallet that originated from the Bitcoin Core client wallet. The Bitcoin Core client wallet would create 100 private key/public key pairs automatically via a Pseudo-Random-Number Generator (PRNG) for later use. Once all these keys are consumed or the RPC call `keypoolrefill` is run, another 100 key pairs would be created. This created considerable difficulty<!--noref--> in backing up ones keys, considering backups have to be run manually to save the newly-generated private keys. If a new key pair set is generated, used, and then lost prior to a backup, the stored satoshis are likely lost forever. Many older-style mobile wallets followed a similar format, but only generated a new private key upon user demand. Loose-Key wallets, also called "Just a Bunch Of Keys (JBOK)", are a deprecated form of wallet that originated from the Bitcoin Core client wallet. The Bitcoin Core client wallet would create 100 private key/public key pairs automatically via a Pseudo-Random-Number Generator (PRNG) for later use.
These unused private keys are stored in a virtual "key pool", with new
keys being generated whenever a previously-generated key was used,
ensuring the pool maintained 100 unused keys. (If the wallet is
encrypted, new keys are only generated while the wallet is unlocked.)
This created considerable difficulty<!--noref--> in backing up ones keys, considering backups have to be run manually to save the newly-generated private keys. If a new key pair set is generated, used, and then lost prior to a backup, the stored satoshis are likely lost forever. Many older-style mobile wallets followed a similar format, but only generated a new private key upon user demand.
This wallet type is being actively phased out and discouraged from being used due to the backup hassle. This wallet type is being actively phased out and discouraged from being used due to the backup hassle.