钱包派生路径

派生路径

在区块链和硬件钱包的使用中,派生路径是一个重要的概念,它决定了你的钱包生成哪些地址,以及不同钱包中的地址为何不同。
对于硬件钱包新手来说,根据不同钱包的默认设置,生成的地址格式可能会有所不同。根据自己的需求选择合适的派生路径和地址格式,用户可以获得最佳的交易效率和兼容性。

什么是派生路径?

派生路径是一个用来定义如何生成区块链地址的规则。通过特定的路径,钱包软件(如硬件钱包)可以根据种子生成不同的地址。

派生路径的基本格式如下:

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

每个部分都有特定的含义:

  • m: 表示根路径(master key)。
  • purpose': 定义钱包的用途,常见值有:
    • 44': 用于传统比特币地址(Legacy)。
    • 49': 用于嵌套的SegWit地址(Nested SegWit)。
    • 84': 用于原生SegWit地址(Native SegWit)。
  • coin_type': 区分不同的区块链,如比特币是0,莱特币是2。
  • account': 用于区分用户的不同账户。
  • change: 0代表外部地址,1代表内部地址(通常用于找零)。
  • address_index: 地址的索引号,用于生成多个地址。

不同硬件钱包上的地址为何不同?

如果你在多个硬件钱包上导入相同的种子短语,但发现生成的地址不同,通常是由于派生路径的不同。以下是一些常见硬件钱包品牌的派生路径(比特币)。

硬件钱包 常见派生路径 地址类型
Ledger m/44'/0'/0'/0/0 Legacy
Trezor m/49'/0'/0'/0/0 Nested SegWit
Ledger (SegWit) m/84'/0'/0'/0/0 Native SegWit

不同的钱包可能默认使用不同的派生路径,因此即使种子短语相同,生成的地址也不同。例如,Ledger 默认使用 84' 路径来生成原生 SegWit 地址,而 Trezor 可能默认使用 49' 生成嵌套的SegWit地址。

当你使用硬件钱包时,选择合适的派生路径非常重要,特别是在不同地址格式之间进行切换时。

以比特币为例,OneKey 硬件钱包与 OneKey App 同时支持 Legacy、Nested SegWit、Native SegWit、Taproot 的派生路径,助您在加密货币旅程的一臂之力。

Legacy、Nested SegWit、Native SegWit

以比特币为例,比特币地址有不同的格式,外观和功能均有不同:

地址类型 前缀 派生路径 说明
Legacy 1xxx m/44'/0'/0'/0/0 这是比特币的原始地址格式,交易费用较高。
Nested SegWit 3xxx m/49'/0'/0'/0/0 嵌套在P2SH中的 SegWit 地址,向后兼容老的比特币钱包。
Native SegWit bc1xxx m/84'/0'/0'/0/0 新的比特币地址格式,交易费用更低,广泛用于现代硬件钱包。

为兼容不同的格式,BIP(比特币改进提案,Bitcoin Improvement Proposal)引入了不同的派生路径规则。这些不同的地址格式实际上是软分叉的结果。比特币网络通过软分叉引入了 SegWit 功能,从而提升了扩展性和交易效率。

分叉地址是否遵循 BIP 框架?

比特币和许多其他区块链项目使用的 BIP 框架,是为了解决一致性和兼容性问题。即便在软分叉后,新引入的地址格式(如SegWit)仍然必须在 BIP 框架下工作,以确保:

  • 向后兼容性:旧版本钱包仍然可以识别新地址格式。
  • 标准化:不同的钱包可以使用相同的规则生成地址。

通过这种方式,虽然地址格式变了(如从1xxx变成bc1xxx),但它们仍然遵循BIP框架的派生路径标准。这保证了新旧钱包之间的兼容性,并确保不同钱包能够正确生成和管理地址。

 

OneKey App 中查看不同的派生路径

Screenshot 2024-09-27 at 15.25.06.png

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助