钱包、密钥与区块链基础
推导路径
在使用区块链和硬件钱包时,派生路径是一个重要的概念,它决定了您的钱包生成哪些地址以及为什么钱包之间的地址不同。
对于使用硬件钱包的初学者来说,根据不同钱包默认的设置,生成的地址格式可能会有所不同。用户根据需要选择合适的衍生路径和地址格式,可以获得更好的交易效率和兼容性。
以下是更改派生路径的视频指南 UKey 应用程序.
什么是推导路径?
派生路径是用于定义如何生成 区块链 地址的规则。通过特定路径,钱包软件(例如硬件钱包)可以根据种子生成不同的地址。
推导路径的基本格式如下:
m/目的'/coin_type'/账户'/change/address_index
每个部分都有特定的含义:
米: 代表主路径(主密钥)。
目的': 定义钱包的用途,常见值包括:
44':用于传统的 Bitcoin 地址(旧版)。
49':用于嵌套隔离见证地址(Nested SegWit)。
84':用于本机隔离见证地址(Native SegWit)。
硬币类型': 区分不同的区块链,Bitcoin为0,莱特币为2。
帐户': 用于区分不同的用户帐户。
改变: 0代表外部地址,1代表内部地址(通常用于更改)。
地址索引: 地址的索引号,用于生成多个地址。
为什么不同硬件钱包的地址不同?
如果您将同一个助记词导入到多个硬件钱包中却发现生成的地址不同,通常是因为导出路径不同。以下是一些常见的 硬件钱包 品牌及其衍生路径(针对 Bitcoin)。
硬件钱包 | 共同的推导路径 | 地址类型 |
Ledger | 米/44'/0'/0'/0/0 | 遗产 |
Trezor | 米/49'/0'/0'/0/0 | 嵌套隔离见证 |
Ledger(隔离见证) | 米/84'/0'/0'/0/0 | 原生隔离见证 |
不同的钱包可能使用不同的默认派生路径,因此即使助记词相同,生成的地址仍然可能不同。例如,Ledger 可能默认使用 84' 生成本机 SegWit 地址,而 Trezor 可能默认使用 49' 生成嵌套的 SegWit 地址。
使用硬件钱包时,选择合适的派生路径至关重要,尤其是在不同地址格式之间切换时。
以Bitcoin为例, UKey 硬件钱包 和 UKey 应用程序 支持推导路径 旧版、嵌套 SegWit、本机 SegWit 和 Taproot,帮助用户更好地管理自己的加密资产。
传统、嵌套 SegWit、本机 SegWit
以 Bitcoin 为例,Bitcoin 地址有不同的格式,每种格式都有不同的外观和功能:
地址类型 | 前缀 | 推导路径 | 描述 |
遗产 | 1xxx | 米/44'/0'/0'/0/0 | 这是Bitcoin的原始地址格式,交易费用较高。 |
嵌套隔离见证 | 3xxx | 米/49'/0'/0'/0/0 | SegWit 地址嵌套在 P2SH 中,向后兼容较旧的 Bitcoin 钱包。 |
原生隔离见证 | BC1xxx | 米/84'/0'/0'/0/0 | 一种新的Bitcoin地址格式,交易费用较低,广泛应用于现代硬件钱包中。 |
更新的 Bitcoin 地址格式,交易费用较低,广泛用于现代硬件钱包。
为了确保不同格式之间的兼容性,BIP(Bitcoin改进提案)引入了各种派生路径规则。这些不同的地址格式本质上是软分叉的结果。 Bitcoin网络通过软分叉引入了SegWit功能,提高了可扩展性和交易效率。
分叉地址遵循 BIP 框架吗?
Bitcoin 和许多其他 区块链 项目使用的 BIP 框架旨在解决一致性和兼容性问题。即使在软分叉之后,新引入的地址格式(例如 SegWit)仍然在 BIP 框架内运行,以确保:
向后兼容性:较旧的钱包仍然可以识别新的地址格式。
标准化:不同的钱包可以使用相同的规则生成地址。
这样,虽然地址格式发生了变化(例如从 1xxx 到 BC1xxx),他们仍然遵循BIP框架定义的推导路径标准。这样保证了新旧钱包的兼容性,保证不同的钱包能够正确生成和管理地址。
