区块链知识系列 - HD Wallet 分层确定性wallet

wallet的类型

私钥不同的生成方法,也对应着不同的wallet结构,通常可以分为非确定性wallet和确定性wallet。Bitcoin最早的客户端(Satoshi client)就是非确定性wallet,wallet是一堆随机生成的私钥的集合。

确定性wallet则不需要每次转账都要备份,确定性wallet的私钥是对种子进行单向哈希运算生成的,种子是一串由随机数生成器生成的随机数。在确定性wallet中,只要有这个种子,就可以找回所有私钥

BIP44的规则使得 HD wallet非常强大,用户只需要保存一个种子,就能控制所有token,所有账户的wallet。

可以一个wallet,同时支持BTC和以太坊

HD wallet是生成不重复使用地址的方法 ,记住一个种子就可以访问所有地址的钱而不需要每个地址都备份私钥。当然HD wallet不仅适用于BTC,HD wallet可以让一个wallet同时管理多资产成为可能性。

BIP32

定义 Hierarchical Deterministic wallet (简称 “HD Wallet”),是一个系统可以从单一个 seed 产生一树状结构储存多组 keypairs(私钥和公钥)。好处是可以方便的备份、转移到其他相容装置(因为都只需要 seed),以及分层的权限控制等。

BIP39

将 seed 用方便记忆和书写的单字表示。一般由 12 个单字组成,称为 mnemonic code(phrase),中文称为助记词或助记码。

BIP44

基于 BIP32 的系统,赋予树状结构中的各层特殊的意义。让同一个 seed 可以支援多token、多帐户等

各层定义如下:

m / purpose' / coin_type' / account' / change / address_index

  • purporse’ 固定是 44’,代表使用 BIP44
  • coin_type’ 用来表示不同token,例如 Bitcoin 就是 0’,Ethereum 是 60’。
  • account’ 代表这个token的账户索引,从0开始。
  • change 常量0用于外部链,常量1用于内部链(一般使用0)
  • address_index 这就是地址索引,从0开始,代表生成第几个地址,官方建议,每个account下的address_index不要超过20

例如: m/44'/60'/0'/0/0 表示在一个 Ethereum HD Wallet 中,第一个帐户的第一组 keypair

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖魁首

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值