编辑
2024-11-28
EIP协议
00
请注意,本文编写于 65 天前,最后修改于 65 天前,其中某些信息可能已经过时。

目录

BIP-44 中的 change 参数
change 参数的含义
为什么需要 change 参数?
BIP-44 路径中的 change 参数
总结

BIP-44 中的 change 参数

BIP-44 是一种用于管理确定性钱包的层次结构标准,它定义了一套规则来组织和生成不同的地址。在这个标准中,change 参数是一个非常重要的概念。

change 参数的含义

  • change 参数本质上是一个标识符,用于区分两种类型的地址:

    • 外部地址 (external address):用于向钱包接收资金。
    • 内部地址 (internal address):用于生成找零。
  • 当你向一个钱包地址发送交易时,如果发送的金额大于你想要接收的金额,那么多余的部分就会作为找零返回到你的钱包。为了避免每次都使用同一个地址接收找零,BIP-44 引入了 change 参数。

  • change 参数为 0 时,生成的地址是外部地址,用于接收外部的资金。

  • change 参数为 1 时,生成的地址是内部地址,用于接收找零。

为什么需要 change 参数?

  • 隐私保护:通过使用不同的地址接收找零,可以增加钱包地址的匿名性,从而提高隐私保护水平。
  • 安全性:如果所有的找零都发送到同一个地址,那么这个地址可能会暴露你的交易历史,从而增加被追踪的风险。

BIP-44 路径中的 change 参数

在 BIP-44 的路径中,change 参数通常位于 accountaddress_index 之间。一个典型的 BIP-44 路径如下:

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

其中:

  • purpose:表示钱包的用途,通常为 44'。
  • coin_type:表示币种,比如比特币为 0',以太坊为 60'。
  • account:表示账户,从 0 开始编号。
  • change:表示地址类型,0 为外部地址,1 为内部地址。
  • address_index:表示地址索引,从 0 开始编号。

总结

change 参数是 BIP-44 中用于区分外部地址和内部地址的重要参数。通过合理使用 change 参数,可以提高钱包的安全性、隐私性和管理效率。

需要注意的是:

  • 不同钱包软件对 change 参数的实现可能略有差异,但基本原理都是一致的。
  • 硬化派生 (hardened derivation) 使用撇号表示,用于保护私钥。在 BIP-44 路径中,purpose、coin_type 和 account 通常使用硬化派生,以防止意外生成地址。

希望这个解释能帮助你更好地理解 BIP-44 中的 change 参数。

如果你还有其他问题,欢迎随时提出。

关键词:BIP-44, change 参数, 外部地址, 内部地址, 确定性钱包, 隐私保护

本文作者:Ramondy

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!