SLIP-0132:BIP-0032注册HD版本字节

该文档(SLIP-0132)旨在为BIP-0032中定义的分层确定性钱包(HD钱包)的扩展公钥和私钥(xpub/xprv)的版本字节提供一个注册表。由于不同的加密货币使用不同的版本字节,且BIP存储库主要关注比特币,因此SLIP-0132作为各种加密货币HD版本字节的注册中心,以解决因SegWit激活和地址格式多样化导致的用户混淆问题。

SLIP-0132:BIP-0032 注册的 HD 版本字节

编号:SLIP-0132
标题:BIP-0032 注册的 HD 版本字节
类型:标准
状态:激活
作者:Clark Moody <clark@clarkmoody.com>
创建时间:2018-02-08

摘要

BIP-0032 定义了分层确定性钱包的推导方案,该方案将其公钥和私钥编码为一种称为 xpub 的扩展序列化格式。 xpub 前缀是 Base58 编码序列化格式的四个版本字节的产物。

动机

BIP 仓库定义了比特币主网和测试网的公钥和私钥版本字节。但是,其他加密货币使用不同的版本字节来编码 HD 种子,而 BIP 仓库专注于比特币。因此,我们建议此 SLIP 作为所有 coin HD 版本字节的注册表。

由于 BIP-0032 没有指定给定推导路径的地址格式,因此钱包开发者已经提出have proposed更改版本字节来实现这一点。随着 SegWit 在比特币上激活,编码地址公钥的方式数量增加了。虽然 BIP-0049 提出了一种用于编码 P2WPKH-嵌套在-P2SH 地址中的方法,但其原始版本未能更改 HD 种子版本字节(保留了 xpub 前缀),导致了用户持续的困惑。用户要么必须知道 xpub 使用 BIP-0049 推导,要么 xpub 的使用者必须扫描两个地址空间(P2PKH 和 P2WPKH-in-P2SH)。

BIP-0084 提出了一种 native-SegWit 推导方案,将 P2WPKH 地址编码为 Bech32。但是,扩展序列化格式最初以 zpub 前缀呈现,但没有版本字节。这是一个问题,因为版本字节的多个值可能编码为相同的前缀。

建立 HD 版本字节交换所的最后一个重要动机是,扩展序列化格式不编码 coin 类型。 SLIP-0032 提案试图通过在序列化密钥中包含完整的 BIP-0032 推导路径来补救。 结合 xpub 的人类可读前缀和 Bech32 编码,SLIP-0032 应该会大大改善钱包生态系统。 但是,在钱包开始实施 SLIP-0032 之前,此注册表旨在减轻混乱。

注册的 HD 版本字节

这些是用于扩展序列化公钥和私钥的注册的 HD 版本字节。

Coin Public Key Private Key Address Encoding BIP 32 Path
Bitcoin 0x0488b21e - xpub 0x0488ade4 - xprv P2PKH 或 P2SH m/44'/0'
Bitcoin 0x049d7cb2 - ypub 0x049d7878 - yprv P2WPKH in P2SH m/49'/0'
Bitcoin 0x04b24746 - zpub 0x04b2430c - zprv P2WPKH m/84'/0'
Bitcoin 0x0295b43f - Ypub 0x0295b005 - Yprv Multi-signature P2WSH in P2SH -
Bitcoin 0x02aa7ed3 - Zpub 0x02aa7a99 - Zprv Multi-signature P2WSH -
Bitcoin Testnet 0x043587cf - tpub 0x04358394 - tprv P2PKH 或 P2SH m/44'/1'
Bitcoin Testnet 0x044a5262 - upub 0x044a4e28 - uprv P2WPKH in P2SH m/49'/1'
Bitcoin Testnet 0x045f1cf6 - vpub 0x045f18bc - vprv P2WPKH m/84'/1'
Bitcoin Testnet 0x024289ef - Upub 0x024285b5 - Uprv Multi-signature P2WSH in P2SH -
Bitcoin Testnet 0x02575483 - Vpub 0x02575048 - Vprv Multi-signature P2WSH -
Groestlcoin 0x0488b21e - xpub 0x0488ade4 - xprv P2PKH 或 P2SH m/44'/17'
Groestlcoin 0x049d7cb2 - ypub 0x049d7878 - yprv P2WPKH in P2SH m/49'/17'
Groestlcoin 0x04b24746 - zpub 0x04b2430c - zprv P2WPKH m/84'/17'
Groestlcoin 0x0295b43f - Ypub 0x0295b005 - Yprv Multi-signature P2WSH in P2SH -
Groestlcoin 0x02aa7ed3 - Zpub 0x02aa7a99 - Zprv Multi-signature P2WSH -
Groestlcoin Testnet 0x043587cf - tpub 0x04358394 - tprv P2PKH 或 P2SH m/44'/1'
Groestlcoin Testnet 0x044a5262 - upub 0x044a4e28 - uprv P2WPKH in P2SH m/49'/1'
Groestlcoin Testnet 0x045f1cf6 - vpub 0x045f18bc - vprv P2WPKH m/84'/1'
Groestlcoin Testnet 0x024289ef - Upub 0x024285b5 - Uprv Multi-signature P2WSH in P2SH -
Groestlcoin Testnet 0x02575483 - Vpub 0x02575048 - Vprv Multi-signature P2WSH -
Kylacoin 0x038f332e - kpub 0x038f2ef4 - kprv P2PKH 或 P2SH -
Kylacoin Testnet 0x045f1cf6 - vpub 0x045f18bc - vprv P2PKH 或 P2SH -
Litecoin 0x019da462 - Ltub 0x019d9cfe - Ltpv P2PKH 或 P2SH m/44'/2'
Litecoin 0x01b26ef6 - Mtub 0x01b26792 - Mtpv P2WPKH in P2SH m/49'/2'
Litecoin Testnet 0x0436f6e1 - ttub 0x0436ef7d - ttpv P2PKH 或 P2SH m/44'/1'
Lyncoin 0x019c354f - Lpub 0x019c3115 - Lprv P2PKH 或 P2SH -
Lyncoin Testnet 0x022dbf5b - Tpub 0x022dbb21 - Tprv P2PKH 或 P2SH -
Nexa 0x42696720 - xpub 0x426c6b73 - xprv P2PKT 或 P2PKH 或 P2SH m/44'/29223'
Nexa Testnet 0x043587cf - xpub 0x04358394 - xprv P2PKT 或 P2PKH 或 P2SH m/44'/1'
Vertcoin 0x0488b21e - vtcp 0x0488ade4 - vtcv P2PKH 或 P2SH m/44'/28'
Polis 0x03e25d7e - ppub 0x03e25945 - pprv P2PKH m/44'/1997'
Syscoin 0x04b24746 - zpub 0x04b2430c - zprv P2WPKH m/84'/57'
Syscoin 0x02aa7ed3 - Zpub 0x02aa7a99 - Zprv Multi-signature P2WSH -

Bitcoin 测试向量

Mnemonic: abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about

m/44'/0'/0'
xprv9xpXFhFpqdQK3TmytPBqXtGSwS3DLjojFhTGht8gwAAii8py5X6pxeBnQ6ehJiyJ6nDjWGJfZ95WxByFXVkDxHXrqu53WCRGypk2ttuqncb
xpub6BosfCnifzxcFwrSzQiqu2DBVTshkCXacvNsWGYJVVhhawA7d4R5WSWGFNbi8Aw6ZRc1brxMyWMzG3DSSSSoekkudhUd9yLb6qx39T9nMdj
m/44'/0'/0'/0/0 address:  // m/44'/0'/0'/0/0 地址:
1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA

m/49'/0'/0'
yprvAHwhK6RbpuS3dgCYHM5jc2ZvEKd7Bi61u9FVhYMpgMSuZS613T1xxQeKTffhrHY79hZ5PsskBjcc6C2V7DrnsMsNaGDaWev3GLRQRgV7hxF
ypub6Ww3ibxVfGzLrAH1PNcjyAWenMTbbAosGNB6VvmSEgytSER9azLDWCxoJwW7Ke7icmizBMXrzBx9979FfaHxHcrArf3zbeJJJUZPf663zsP
m/49'/0'/0'/0/0 address:  // m/49'/0'/0'/0/0 地址:
37VucYSaXLCAsxYyAPfbSi9eh4iEcbShgf

m/84'/0'/0'
zprvAdG4iTXWBoARxkkzNpNh8r6Qag3irQB8PzEMkAFeTRXxHpbF9z4QgEvBRmfvqWvGp42t42nvgGpNgYSJA9iefm1yYNZKEm7z6qUWCroSQnE
zpub6rFR7y4Q2AijBEqTUquhVz398htDFrtymD9xYYfG1m4wAcvPhXNfE3EfH1r1ADqtfSdVCToUG868RvUUkgDKf31mGDtKsAYz2oz2AGutZYs
m/84'/0'/0'/0/0 address:  // m/84'/0'/0'/0/0 地址:
bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu

测试向量生成代码

参考文献

  • 原文链接: github.com/satoshilabs/s...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
satoshilabs
satoshilabs
江湖只有他的大名,没有他的介绍。