跳到主要内容
ecdsa.com

BIP-137(签名消息格式)

比特币的消息签名格式,使用 65 字节的可恢复 ECDSA 签名,其头部字节同时编码恢复 ID 和地址类型:27~30 为未压缩公钥的 P2PKH,31~34 为压缩公钥的 P2PKH,35~38 为 P2SH-P2WPKH,39~42 为 P2WPKH。
其他写法BIP-137BIP137Bitcoin signed messagesignmessage

消息先加上带长度字节的“Bitcoin Signed Message”前缀,再经过两次 SHA-256 哈希,然后用 secp256k1 签名;验证者从签名中恢复公钥,按头部指明的类型推导地址,并与声称的地址比较。签名以 base64 形式交换。

BIP-137 源自 Bitcoin Core 的 signmessage,后者只支持 P2PKH;SegWit 的头部取值范围也从未得到一致实现:包括 Electrum 和 Trezor 在内的一些钱包对 SegWit 地址使用了 P2PKH 的取值范围。BIP-137 完全无法表示 Taproot、多签或脚本地址,这正是 BIP-322 取代它的原因。比特币消息验证工具两种格式都支持。

标准与参考资料

全部术语