以数字 3 开头的比特币地址是 P2SH 地址,有时被错误的称谓多重签名或多重签名地址。他们指定比特币交易中受益人作为哈希的脚本,而不是公钥的所有者。这个特性在 2012 年 1 月由 BIP0016 引进,目前因为 BIP0016 提供了增加功能到地址本身的机会而被广泛的采纳。不同于发送资金到传统 1 开头的比特币地址的交易,也被称为 P2PKH,资金被发送到 3 开头的地址时,不仅仅需要一个公钥的哈希值,同时也需要一个私钥签名作为所有者证明。在创建地址的时候,这些要求会被定义在脚本中,所有对地址的输入都会被这些要求阻隔。
一个 P2SH 地址从事务脚本中创建,它定义谁能消耗这个事务输出。(132 页“P2SH(Pay-to-script-Hash)”一节对此有详细的介绍)编码一个 P2SH 地址涉及使用一个在创建比特币地址用到过的双重哈希函数,并且只能应用在脚本而不是公钥:
script hash = RIPEMD160(SHA256(script))
脚本哈希的结果是由 base58Check 编码前缀为 5 的版本、编码后得到开头为 3 的编码地址。一个 P2SH 地址例子是
32M8ednmuyZ2zVbes4puqe44NZumgG92sM。
P2SH 不一定是多重签名的交易。虽然 P2SH 地址通常都是代表多重签名,但也可能是其他类型的交易脚本。