File tree Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Original file line number Diff line number Diff line change
1
+ # 第五章 钱包
2
+
3
+ ## 重点词汇
4
+ 钱包是私钥的容器
5
+
6
+ 非确定性(随机)钱包和确定性(种子)钱包
7
+
8
+ HD wallet = Hirachy Deterministic wallet (分级确定性钱包)
9
+
10
+ 种子=助记词 BIP39
11
+ HD钱包 BIP32
12
+ 多用途HD钱包结构,基于BIP-43
13
+ 多币种和多帐户钱包,基于BIP-44
14
+
15
+ 助记词的生成流程
16
+
17
+ ![ ] ( https://camo.githubusercontent.com/206a23cb52a419ad9a99fb9e195efae3b0ddfe28/687474703a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f313738353935392d626564343936323433646437353338392e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430 )
18
+
19
+ 助记词生成种子
20
+
21
+ ![ ] ( https://camo.githubusercontent.com/bf862c1dddf3bea345b7b2ce053a917c8207ff58/687474703a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f313738353935392d313535653630343138383837386233392e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430 )
22
+
23
+ [ BIP39助记词生成器] ( https://iancoleman.io/bip39/ )
24
+
25
+ HD钱包中的子密钥,无法与非确定性密钥进行区分。(换句话说,他们长得一样)除非有链码(chain code)、密钥及密钥的索引,才能用来发现这种层级结构。
26
+
27
+ 一个扩展密钥包括一个私钥(或者公钥)以及一个链码。
28
+
29
+ 两种衍生子公钥的方法:或者通过子私钥,再或者就是直接通过母公钥(+链码chain code)。
30
+
31
+ 因为扩展公钥包含有链码,如果子私钥被知道或者被泄漏的话,链码就可以被用来衍生所有的其他子私钥。简单地泄露的私钥以及一个母链码,可以暴露所有的子密钥。更糟糕的是,子私钥与母链码可以用来推断母私钥。
32
+
33
+ BIP-44指定了包含5个预定义树状层级的结构:
34
+
35
+ m / purpose' / coin_type' / account' / change / address_index
36
+
37
+ - 第一层的purpose总是被设定为44'。
38
+ - 第二层的“coin_type”特指币种并且允许多元货币HD钱包中的货币在第二个层级下有自己的亚树状结构。目前有三种货币被定义:Bitcoin is m/44'/0'、Bitcoin Testnet is m/44'/1',以及 Litecoin is m/44'/2'。
39
+ - 树的第三层级是“account”,这可以允许使用者为了会计或者组织目的,而去再细分他们的钱包到独立的逻辑性亚账户。 举个例子,一个HD钱包可能包含两个比特币“账户”:m/44'/0'/0' 和 m/44'/0'/1'。每个账户都是它自己亚树的根。
40
+ - 第四层级就是“change”。每一个HD钱包有两个亚树,一个是用来接收地址一个是用来创造找零地址。注意无论先前的层级是否使用强化衍生,这一层级使用的都是常规衍生。这是为了允许这一层级的树可以在不安全环境下,输出扩展公钥。
41
+ - 被HD钱包衍生的可用的地址是第四层级的子级,就是第五层级的树的“address_index”。比如,第三个层级的主账户收到比特币支付的地址就是 M/44'/0'/0'/0/2。表5-7展示了更多的例子。
42
+
43
+ ![ ] ( https://camo.githubusercontent.com/cbffb5ebd98f1264f4801bfb7dbeb09ad2fbf14e/687474703a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f313738353935392d386539623266326462626334326163642e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430 )
44
+
45
+
46
+
47
+ ## 思考题:
48
+
49
+ 1 . HD
You can’t perform that action at this time.
0 commit comments