跳到主要内容
ecdsa.com

比特币地址

比特币输出脚本的人类可读编码:传统的 P2PKH(1…)和 P2SH(3…)使用 Base58Check,SegWit v0(bc1q…)使用 bech32,Taproot(bc1p…)使用 bech32m。
其他写法Bitcoin addressbech32bech32mP2PKHBase58Check

P2PKH 和 P2WPKH 承诺 HASH160(pubkey)(对 SHA-256 结果再做 RIPEMD-160,20 字节),P2SH 和 P2WSH 承诺脚本哈希,P2TR(Taproot)则承诺一个 32 字节的仅 x 坐标公钥,该公钥可以经过调整(tweak)来承诺一棵脚本树。bech32 由 BIP-173 定义;bech32m 修复了见证版本 1 及以上的校验和缺陷,由 BIP-350 定义;测试网地址以 tb1、m、n 或 2 开头。

适用哪种消息签名标准取决于地址类型:BIP-137 支持 P2PKH,对单密钥 SegWit 的支持则不一致;BIP-322 支持任意脚本。地址复用会损害隐私,而且对于 P2PKH,一旦花费就会暴露公钥。

标准与参考资料

全部术语