Skip to content

Commit 1b87fc5

Browse files
authored
Merge pull request bitcoin#984 from Enegnei/patch-1
BIP-32: Minor grammar fixes
2 parents 9600cef + 688b0da commit 1b87fc5

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

bip-0032.mediawiki

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ This document describes hierarchical deterministic wallets (or "HD Wallets"): wa
2525

2626
The specification is intended to set a standard for deterministic wallets that can be interchanged between different clients. Although the wallets described here have many features, not all are required by supporting clients.
2727

28-
The specification consists of two parts. In a first part, a system for deriving a tree of keypairs from a single seed is presented. The second part demonstrates how to build a wallet structure on top of such a tree.
28+
The specification consists of two parts. In the first part, a system for deriving a tree of keypairs from a single seed is presented. The second part demonstrates how to build a wallet structure on top of such a tree.
2929

3030
==Copyright==
3131

@@ -37,7 +37,7 @@ The Bitcoin reference client uses randomly generated keys. In order to avoid the
3737

3838
Deterministic wallets do not require such frequent backups, and elliptic curve mathematics permit schemes where one can calculate the public keys without revealing the private keys. This permits for example a webshop business to let its webserver generate fresh addresses (public key hashes) for each order or for each customer, without giving the webserver access to the corresponding private keys (which are required for spending the received funds).
3939

40-
However, deterministic wallets typically consist of a single "chain" of keypairs. The fact that there is only one chain means that sharing a wallet happens on an all-or-nothing basis. However, in some cases one only wants some (public) keys to be shared and recoverable. In the example of a webshop, the webserver does not need access to all public keys of the merchant's wallet; only to those addresses which are used to receive customer's payments, and not for example the change addresses that are generated when the merchant spends money. Hierarchical deterministic wallets allow such selective sharing by supporting multiple keypair chains, derived from a single root.
40+
However, deterministic wallets typically consist of a single "chain" of keypairs. The fact that there is only one chain means that sharing a wallet happens on an all-or-nothing basis. However, in some cases one only wants some (public) keys to be shared and recoverable. In the example of a webshop, the webserver does not need access to all public keys of the merchant's wallet; only to those addresses which are used to receive customers' payments, and not for example the change addresses that are generated when the merchant spends money. Hierarchical deterministic wallets allow such selective sharing by supporting multiple keypair chains, derived from a single root.
4141

4242
==Specification: Key derivation==
4343

@@ -104,7 +104,7 @@ The function N((k, c)) → (K, c) computes the extended public key correspond
104104
To compute the public child key of a parent private key:
105105
* N(CKDpriv((k<sub>par</sub>, c<sub>par</sub>), i)) (works always).
106106
* CKDpub(N(k<sub>par</sub>, c<sub>par</sub>), i) (works only for non-hardened child keys).
107-
The fact that they are equivalent is what makes non-hardened keys useful (one can derive child public keys of a given parent key without knowing any private key), and also what distinguishes them from hardened keys. The reason for not always using non-hardened keys (which are more useful) is security; see further for more information.
107+
The fact that they are equivalent is what makes non-hardened keys useful (one can derive child public keys of a given parent key without knowing any private key), and also what distinguishes them from hardened keys. The reason for not always using non-hardened keys (which are more useful) is security; see further below for more information.
108108

109109
====Public parent key &rarr; private child key====
110110

@@ -184,7 +184,7 @@ When a business has several independent offices, they can all use wallets derive
184184
====Recurrent business-to-business transactions: N(m/i<sub>H</sub>/0)====
185185

186186
In case two business partners often transfer money, one can use the extended public key for the external chain of a specific account (M/i h/0) as a sort of "super address", allowing frequent transactions that cannot (easily) be associated, but without needing to request a new address for each payment.
187-
Such a mechanism could also be used by mining pool operators as variable payout address.
187+
Such a mechanism could also be used by mining pool operators as a variable payout address.
188188

189189
====Unsecure money receiver: N(m/i<sub>H</sub>/0)====
190190

@@ -212,7 +212,7 @@ Private and public keys must be kept safe as usual. Leaking a private key means
212212
Somewhat more care must be taken regarding extended keys, as these correspond to an entire (sub)tree of keys.
213213

214214
One weakness that may not be immediately obvious, is that knowledge of a parent extended public key plus any non-hardened private key descending from it is equivalent to knowing the parent extended private key (and thus every private and public key descending from it). This means that extended public keys must be treated more carefully than regular public keys.
215-
It is also the reason for the existence of hardened keys, and why they are used for the account level in the tree. This way, a leak of account-specific (or below) private key never risks compromising the master or other accounts.
215+
It is also the reason for the existence of hardened keys, and why they are used for the account level in the tree. This way, a leak of account-specific (or below) private keys never risks compromising the master or other accounts.
216216

217217

218218
==Test Vectors==

0 commit comments

Comments
 (0)