「币姐解读区块链07」数字钱包进化史,从非确定性钱包到HD钱包

上期回顾: 私钥,公钥,地址是如何生成的?

导语

通过前几节的内容,大家已经大致了解了钱包的底层技术原理。

钱包在实际使用中也在变得越来越人性化,今天我们来讲讲钱包的进化史。

 

本文以比特币的技术为案例,请注意:比特币 ≠ 区块链

很多人有一个误解:数字钱包是用来保存数字货币的。

经过前几节的内容,我们已经知道了,数字钱包只是用来保存密钥和地址的。我们的数字货币记录在整个网络的区块中。

所以,如何安全方便的生成、保存和备份恢复密钥才是钱包的关键。围绕这一点,数字钱包已经进化了3次。

 

雏形:非确定性(随机)钱包


最早的比特币钱包就是这种类型。

之所以叫非确定性钱包,主要因为这种钱包生成的私钥,互相之间是没有任何关系的,每个私钥都是独立的。

币姐举例

假如你有1000个比特币,你想用6个地址来分开保存,就算其中一个私钥丢失也不会造成100%的损失。

于是你用一个非确定性钱包生成了6个私钥,将1000个比特币平均分配到6个私钥对应的地址上。

非确定性的钱包私钥之间是没有任何关系的,所以你需要备份6个不同的私钥,十分麻烦。

 

使用多个地址的需求是比较强烈的,多地址既能帮你降低损失风险,又能有更好的匿名性。

而非确定性钱包有一个很大的问题:每新增一个私钥都要再备份一遍,需要备份的私钥越来越多,导入的时候也会非常麻烦。

 

升级:确定性(种子)钱包

非确定性钱包的缺陷在确定性钱包上得到了解决。

确定性钱包不再需要备份一堆不同的私钥,只需要备份一个种子就可以了。那种子又是什么呢?

币姐举例

私钥就好比幼儿园里的小朋友。以前你需要记住每个小朋友。

而种子就好像幼儿园的班主任。你把班主任叫来,他认识每一个小朋友,你就不用记每个小朋友了。

 

确定性钱包的好处是:一个种子就能恢复所有的私钥,在备份和恢复起来都非常方便。

 

再升级:分层确定性钱包(HD钱包)

HD钱包的英文全称是:Hierarchical Deterministic

之所以叫分层确定性钱包是因为私钥的衍生结构是树状结构,父密钥可以衍生一系列子密钥,每个子密钥又可以衍生出一系列孙密钥,以此类推,无限衍生。

这种结构跟公司的组织架构和家谱非常相似!

 

树状结构可以表示组织的结构。比如对应各个子公司,各个部门,甚至每个人。方便统计和管理。

 

助记词

现在大部分钱包都是HD钱包了,所以大家在创建钱包或者备份钱包的时候都会看到一堆英文单词(或者中文汉字),这些词就是助记词。

 

助记词方便大家记忆和备份,他可以生成种子,继而生成所有的私钥。大家对比完下面的种子和助记词就知道他有多好记了。

16进制的种子大概长这样:

0C1E24E5917779D297E14D45F14E1A1A

而助记词大概长这样

army van defense carry jealous true garbage claim echo media make crunch

 

更多钱包升级

针对钱包有不少的改进,大家如果感兴趣,可以看看细节:

HD钱包,基于BIP-32

助记码,基于BIP-39

多用途HD钱包结构,基于BIP-43

多币种和多帐户钱包,基于BIP-44

 

FAQ环节

BIP是什么?跟比特币是什么关系?

助记词、种子、私钥之间的关系是什么?

 

总结

数字钱包到目前为止经历了以下3个阶段:

  1. 非确定性钱包
  2. 确定性钱包
  3. 分层确定性钱包(HD钱包)

目前HD钱包是主流,在使用HD前过程中,备好好助记词非常重要!助记词一旦丢失或被他人盗取,所有的私钥都会不翼而飞。

如果你想看看哪些钱包是HD钱包,可以进入币姐的钱包资料大进行查询

 

 

下期预告比特币为什么不用余额,而用UTXO?

传统的记账方式都是记录XX的名下有多少余额,但是比特币的系统里却不是这么记录的,他用的是UTXO。

到底什么是UTXO?中本聪为什么要用UTXO?下一节会详细讲解

 

文章目录: