比特币交易与区块相关技术解析
1. P2SH 地址转换与签名验证
在比特币交易中,P2SH(Pay-to-Script Hash)是一种重要的交易类型。这里涉及到两个关键的地址转换函数:
- h160_to_p2pkh_address 函数 :用于将 20 字节的 hash160 转换为 P2PKH(Pay-to-Public-Key Hash)地址。
- h160_to_p2sh_address 函数 :用于将 20 字节的 hash160 转换为 P2SH 地址。
P2SH 签名验证是一个较为复杂的过程,与 P2PKH 有所不同。在 P2PKH 中,通常只有一个签名和一个公钥;而在 P2SH 中,有多个公钥(以 SEC 格式存在于 RedeemScript 中)和数量相等或更少的签名(以 DER 格式存在于 ScriptSig 中),且签名顺序必须与公钥顺序一致才有效。
P2SH 签名验证步骤如下:
1. 清空所有 ScriptSigs :在检查签名时,首先要清空所有输入的 ScriptSig。
2. 用 RedeemScript 替换被签名的 P2SH 输入的 ScriptSig :每个 P2SH 输入都有一个 RedeemScript,将其替换掉空的 ScriptSig。
3. 追加哈希类型 :最后,在末尾添加一个 4 字节的哈希类型,对应 SIGHASH_ALL 的整数为 1,需以小端字节序编码。
以下是获取签名哈
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



