mirror of
https://github.com/bitcoin/bips.git
synced 2025-05-12 12:03:29 +00:00
Merge pull request #57 from e4xit/patch-1
Minor grammatical & spelling corrections
This commit is contained in:
commit
bdd89e736e
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
==Abstract==
|
==Abstract==
|
||||||
|
|
||||||
This BIP defines logical hierarchy for deterministic wallets based on algorithm
|
This BIP defines a logical hierarchy for deterministic wallets based on an algorithm
|
||||||
described in BIP-0032 (BIP32 from now on) and purpose scheme described in
|
described in BIP-0032 (BIP32 from now on) and purpose scheme described in
|
||||||
BIP-0043 (BIP43 from now on).
|
BIP-0043 (BIP43 from now on).
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ This BIP is a particular application of BIP43.
|
|||||||
|
|
||||||
==Motivation==
|
==Motivation==
|
||||||
|
|
||||||
Hierarchy proposed in this paper is quite comprehensive. It allows to handle
|
The hierarchy proposed in this paper is quite comprehensive. It allows the handling of
|
||||||
multiple coins, multiple accounts, external and internal chains per account and
|
multiple coins, multiple accounts, external and internal chains per account and
|
||||||
millions of addresses per chain.
|
millions of addresses per chain.
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ m / purpose' / coin_type' / account' / change / address_index
|
|||||||
|
|
||||||
Apostrophe in the path indicates that BIP32 hardened derivation is used.
|
Apostrophe in the path indicates that BIP32 hardened derivation is used.
|
||||||
|
|
||||||
Each level has special meaning described in the chapters below.
|
Each level has a special meaning, described in the chapters below.
|
||||||
|
|
||||||
===Purpose===
|
===Purpose===
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ space for various cryptocoins has some disadvantages.
|
|||||||
This level creates a separate subtree for every cryptocoin, avoiding
|
This level creates a separate subtree for every cryptocoin, avoiding
|
||||||
reusing addresses across cryptocoins and improving privacy issues.
|
reusing addresses across cryptocoins and improving privacy issues.
|
||||||
|
|
||||||
Coin type is a constant set for each cryptocoin. Cryptocoin developers may ask
|
Coin type is a constant, set for each cryptocoin. Cryptocoin developers may ask
|
||||||
for registering unused number for their project.
|
for registering unused number for their project.
|
||||||
|
|
||||||
The list of already allocated coin types is in the chapter
|
The list of already allocated coin types is in the chapter
|
||||||
@ -63,8 +63,8 @@ Hardened derivation is used at this level.
|
|||||||
This level splits the key space into independent user identities,
|
This level splits the key space into independent user identities,
|
||||||
so the wallet never mixes the coins across different accounts.
|
so the wallet never mixes the coins across different accounts.
|
||||||
|
|
||||||
User can use these accounts to organize the funds in the same
|
Users can use these accounts to organize the funds in the same
|
||||||
fashion like bank accounts; for donation purposes (where all
|
fashion as bank accounts; for donation purposes (where all
|
||||||
addresses are considered public), for saving purposes,
|
addresses are considered public), for saving purposes,
|
||||||
for common expenses etc.
|
for common expenses etc.
|
||||||
|
|
||||||
@ -73,11 +73,11 @@ This number is used as child index in BIP32 derivation.
|
|||||||
|
|
||||||
Hardened derivation is used at this level.
|
Hardened derivation is used at this level.
|
||||||
|
|
||||||
Software should prevent a creation of an account if previous account does not
|
Software should prevent a creation of an account if a previous account does not
|
||||||
have a transaction history (meaning none of its addresses have been used before).
|
have a transaction history (meaning none of its addresses have been used before).
|
||||||
|
|
||||||
Software needs to discover all used accounts after importing the seed from
|
Software needs to discover all used accounts after importing the seed from
|
||||||
an external source. Such algorithm is described in "Account discovery" chapter.
|
an external source. Such an algorithm is described in "Account discovery" chapter.
|
||||||
|
|
||||||
===Change===
|
===Change===
|
||||||
|
|
||||||
@ -104,15 +104,15 @@ start to discover the accounts in the following manner:
|
|||||||
# derive the first account's node (index = 0)
|
# derive the first account's node (index = 0)
|
||||||
# derive the external chain node of this account
|
# derive the external chain node of this account
|
||||||
# scan addresses of the external chain; respect the gap limit described below
|
# scan addresses of the external chain; respect the gap limit described below
|
||||||
# if no transactions are found on the external chain stop discovery
|
# if no transactions are found on the external chain, stop discovery
|
||||||
# if there are some transactions, increase the account index and go to step 1
|
# if there are some transactions, increase the account index and go to step 1
|
||||||
|
|
||||||
This algorithm is correct, because software should disallow creation of new
|
This algorithm is successful because software should disallow creation of new
|
||||||
accounts if previous one has no transaction history as described in chapter
|
accounts if previous one has no transaction history, as described in chapter
|
||||||
"Account" above.
|
"Account" above.
|
||||||
|
|
||||||
Please note that the algorithm works with the transaction history, not account
|
Please note that the algorithm works with the transaction history, not account
|
||||||
balances, so you can have account with total 0 coins and the algorithm will
|
balances, so you can have an account with 0 total coins and the algorithm will
|
||||||
still continue with discovery.
|
still continue with discovery.
|
||||||
|
|
||||||
===Address gap limit===
|
===Address gap limit===
|
||||||
@ -121,7 +121,7 @@ Address gap limit is currently set to 20. If the software hits 20 unused
|
|||||||
addresses in a row, it expects there are no used addresses beyond this point
|
addresses in a row, it expects there are no used addresses beyond this point
|
||||||
and stops searching the address chain.
|
and stops searching the address chain.
|
||||||
|
|
||||||
Wallet software should warn when user is trying to exceed the gap limit on
|
Wallet software should warn when the user is trying to exceed the gap limit on
|
||||||
an external chain by generating a new address.
|
an external chain by generating a new address.
|
||||||
|
|
||||||
==Registered coin types==
|
==Registered coin types==
|
||||||
@ -251,7 +251,7 @@ All these constants are used as hardened derivation.
|
|||||||
|m / 44' / 1' / 1' / 1 / 1
|
|m / 44' / 1' / 1' / 1 / 1
|
||||||
|}
|
|}
|
||||||
|
|
||||||
==Compatible walets==
|
==Compatible wallets==
|
||||||
|
|
||||||
* [[https://mytrezor.com|myTREZOR web wallet]] ([[https://github.com/trezor/webwallet|source]])
|
* [[https://mytrezor.com|myTREZOR web wallet]] ([[https://github.com/trezor/webwallet|source]])
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user