B2B
比特币P2SH(Pay-to-ScriptHash)和多重签名地址
2022-01-05 09:38  浏览:307
 正如我们所知,传统的比特币地址从数字 1 开头,来源于公钥,而公钥来源于私钥。虽然任何人都可以将比特币发送到一个 1 开头的地址,但比特币只能在通过相应的私钥签名和公钥哈希值后才能消费。

以数字 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 地址通常都是代表多重签名,但也可能是其他类型的交易脚本。

您可能感兴趣的...