比特币钱包地址类型区别
文章目录
前言
由于工作中需要对接比特币网络,这里记录下比特币钱包各个地址类型的区别
正文
使用 bitcoin-cli
生成不同类型的比特币地址时,有三种主要的地址类型可供选择,每种类型都对应不同的技术标准和特性:
1. Legacy 地址(P2PKH 地址)
- 命令:bitcoin-cli getnewaddress “” “legacy”
- 开头字符:1
- 格式:Pay-to-PubkeyHash (P2PKH)
- 示例地址:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
1 2 3 4 |
- **特点**: - 这是比特币最早期使用的地址格式(也称为传统地址)。 - `P2PKH` 地址意味着该地址中的比特币是“支付给公钥哈希“的,交易时需要提供相应的公钥和签名来解锁资金。 - **缺点**:相对较高的交易费用,因为占用的区块空间较大。 |
P2SH 嵌套 SegWit 地址
- 命令:
bitcoin-cli getnewaddress “” “p2sh-segwit”
- 开头字符:
3
- 格式:
Pay-to-Script-Hash (P2SH)
或Pay-to-Witness-PubkeyHash (P2WPKH-in-P2SH)
示例地址:
3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
特点:
- P2SH 地址最初用于更复杂的支付场景,例如多重签名(Multisig),后来发展为可以嵌套 SegWit 交易。
- 支持旧钱包和节点(对不完全支持 SegWit 的钱包或服务更友好)。
优点:交易费用比传统地址低,因为它利用了 SegWit 的一些特性来节省空间。
缺点:虽然比
P2PKH
更高效,但仍没有原生 SegWit 那么节省区块空间。
- 命令:
原生 SegWit 地址(Bech32 地址)
- 命令:
bitcoin-cli getnewaddress “” “bech32"
- 开头字符:
bc1
- 格式:
Pay-to-Witness-PubkeyHash (P2WPKH)
或Pay-to-Witness-Script-Hash (P2WSH)
示例地址:
bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwfvenn
特点:
- 这是比特币的原生 SegWit 地址格式,采用了新的 Bech32 编码方式。
- 支持 SegWit 协议的所有优化特性,允许更小的交易尺寸,从而显著降低交易费用。
优点:
- 最大化地节省交易费用和区块空间。
- 更容易检测错误,因为 Bech32 编码具有更好的校验特性。
缺点:不是所有的交易所或服务都支持 Bech32 地址(尽管支持率在不断上升)。
- 命令:
各个地址类型的区别
地址类型 | 开头字符 | 技术标准 | 优点 | 缺点 |
---|---|---|---|---|
P2PKH | 1 |
Legacy | 兼容所有比特币服务和钱包 | 占用区块空间大,交易费用较高 |
P2SH (SegWit) | 3 |
P2SH & SegWit (嵌套) | 费用较低,兼容部分不支持 SegWit 的服务 | 仍然占用较多空间,比原生 SegWit 效率低 |
Bech32 | bc1 |
原生 SegWit | 最高效,最小化交易费用,节省区块空间 | 部分旧钱包或服务可能不支持,但支持率在逐渐提高 |
什么时候使用哪种地址?
- 兼容性:如果你需要最大兼容性(例如发送和接收比特币时需要与旧版钱包兼容),可以使用
P2PKH
或P2SH
地址。 - 费用:如果你想降低交易费用并且不在意兼容性问题,
bech32
原生 SegWit 地址是最好的选择,因为它能够最大程度地减少交易所需的区块空间。 - 混合兼容性和费用:如果需要与大多数服务兼容但又希望减少交易费用,使用
P2SH
嵌套 SegWit 是一个平衡的选择。