HD 钱包
HD 钱包全称为分层确定性钱包(Hierarchical Deterministic Wallets),缩写 HD Wallets。
去中心化数字钱包是用来管理我们的私钥和资产的,其中的数字资产是被记录在区块链上的。
早期的去中心化数字钱包每生成一个新的链上地址,都需要备份一次私钥或 Keystore、后来随着 BIP-32 等业界标准的问世和大规模应用,新一代的数字钱包即 HD 钱包,既能保证安全性,也兼顾了便利性。用户可以方便地通过同一组助记词创建几乎无限多个地址,而不需要备份每个地址的私钥或 Keystore。
分层确定性钱包的概念和原理可以用两句话概括:
首先,要用一个随机数来生成主私钥,这跟其他类型的钱包生成私钥过程的没有任何区别。
然后,再用一个确定性的、不可逆的算法,基于主私钥生成任意数量的子私钥。
那为什么要用“确定”、“不可逆”的算法呢?
因为“确定”才能保证从一个主私钥可以派生出全部的子私钥,而“不可逆”则是为了确保不能通过子私钥反推出主私钥。
之所以叫分层确定性钱包是因为私钥的衍生结构是树状结构,父密钥可以衍生一系列子密钥,每个子密钥又可以衍生出一系列孙密钥,以此类推,无限衍生。
通过 TronLink App 首次创建 HD 钱包时,会产生一组助记词。助记词是一连串的英语单词,这一串单词序列可以被用来创建种子,而通过种子又可以派生出所有的私钥。所以通过助记词既可以备份钱包,也可以恢复钱包。
HD 钱包的优点在于只需要这一组助记词,就可以生成出任意数量的新地址,而这些地址其实都能被助记词所控制。
凡事有利必有弊,HD 钱包如此方便,但当助记词暴露或泄密时,也相当于所有的子私钥暴露了,此时您所拥有的数字资产的安全性也归零了。
Non-HD 钱包
相对于通过助记词生成的HD钱包,Non-HD钱包都是通过keystore文件或者私钥导入的。用户无法通过Non-HD钱包来生成更多新地址。
Non-HD钱包有“Non-HD”标签来标识。
关联钱包
TronLink App 中的“关联钱包”,指的是通过同一组创建或导入的助记词所生成的地址。它们共有同一组助记词,并以此为纽带互相关联。而这些共享同一组助记词的地址的集合,在 TronLink App 被称为“HD 钱包”。
在新版本 TronLink App 中,您可以通过“钱包管理”页的“关联钱包”入口,查看当前钱包的关联钱包列表。创建新钱包时,也会默认使用当前钱包的助记词,创建同一个“HD 钱包”名下,新的关联钱包。
同一个“HD 钱包”名下,各个不同地址的“关联钱包”互相之间区别,在于生成这些地址所使用的路径(Path)。如果用户创建地址时曾自定义过路径(Path),请务必在备份助记词的同时,也备份路径!