当前位置:首页 > 知识 >

从零开始,学习使用分层确定性密钥(HD Wallet)来创建和管理比特币钱包

一、概述

管理密钥与地址的过程中,备份密钥是一件痛苦的事情。因为每生成一个新的地址,就必须备份一次。分层确定性密钥(Hierarchical Deterministic Key)解决了这个问题。它描述了一种具有层次关系的密钥管理方式,可以从主密钥生成子密钥。同时分层确定性密钥还具有确定性的特点,可以根据密钥在层级中的编号,推导出该密钥的内容。

二、生成主密钥

使用分层确定性密钥生成层级密钥树的第一步,是生成主密钥。主密钥可以通过种子数据(熵)生成。熵经过HAMC哈希变换后,得到的512位数据拆分为两部分:主链码和主私钥。主私钥可以继续推导出主公钥。

在NBitcoin中,使用ExtKey类来表征层级确定密钥。可以利用种子或者传入一个Key实例来生成层级主密钥对象。一般推荐使用助记词来生成种子,进而生成主密钥。

三、派生子密钥

在分层确定性密钥中,使用父密钥和父链码,可以推导出指定序号的子密钥。在NBitcoin中,使用ExtKey实例的Derive方法就可以生成指定编号的子密钥及链码。

同时也可以在不泄露主私钥的情

猜你喜欢

关注我们

微信二维码

微信