BIP0032 描述分层确定性钱包

BIP0032描述了分层确定性钱包(HD wallet)

动机:
为了解决传统非确定性钱包每当一批私钥用完后必须重新生成一批私钥并且及时备份的问题。

一.Key的派生:
1.Extended keys(可扩展密钥):
这里定义了从父key派生子key的函数。为了防止派生过程完全依赖key本身,分别给私钥和公钥延伸出256位的熵,称之为链码(chain code)。
可扩展的私钥:(k, c),k为普通私钥,c为链码。
可扩展的公钥:(K, c),K为普通公钥,c为链码。
每个可扩展密钥拥有2的31次个正常子钥和2的31次个强化(hardened)子钥。每个子钥都有一个索引,正常子钥的索引从0到2^31-1,强化子钥从2^31到2^32-1。简化表示:i'即i + 2^31。
2.子钥派生函数(Child key derivation (CKD) functions)
给出一个可扩展密钥和索引i,可以计算出相应的子可扩展密钥。这个算法取决于子钥是否是强化的(即i是否大于等于2^31),以及是在计算私钥还是公钥。
Private parent key → private child key
Public parent key → public child key
Private parent key → public child key
Public parent key → private child key
这个是不行的。
3.密钥树
标识符m/x/y/z描述的是⼦密钥m/x/y的第z个⼦密钥。
4.序列化数据格式:
可扩展公钥/私钥的序列化数据格式如下,共78bytes:
以上内容可以机行base58check编码,生成的字符多大112个字符,主网上会以“xprv”或“xpub”开头,testnet上的“tprv”或“tpub”开始。
5.master key的生成
master key不是直接生成的,而是由种子来生成。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值