区块链:P2PKH、P2SH、多签名之间的关系

地址

比特币的术语定义中,地址(Address)指的是P2PKH地址或P2SH地址,并没有多签名地址。

Address
A 20-byte hash formatted using base58check to produce either a P2PKH or P2SH Bitcoin address.
Currently the most common way users exchange payment information.

Multisig(多签名)
A pubkey script that provides n number of pubkeys and requires the corresponding signature script provide m minimum number signatures corresponding to the provided pubkeys.

P2PKH、P2SH、Multisig之间的关系

比特币实现花钱的方式:

  • 假设B要花A转给他的钱
  • A在交易M的输出中,写一个脚本(输出脚本),请写明金额,表示把钱转给A。
  • B在交易N的输入中,也写一个脚本(签名脚本),意思是要花A在交易M中转给他的钱。
  • 当交易M在网上传播时,比特币节点验证交易M,只要签名脚本符合输出脚本的要求,节点就认可B能够执行这个花费。

P2PKH
验证的一种方法是,输出脚本中包含B的公钥,签名脚本包含B用私钥所作的签名。
这样,节点就可以用公钥验证签名。
A在交易M中的这种支付,就是支付给某人的公钥,也就是支付给P2PKH地址。

Multisig
后来,有人想到了高级的玩法:
在输出脚本中包含M个公钥,签名脚本中至少要包含N个私钥的签名,比特币节点才能验证通过,允许花费。这个就是多签名脚本(Multisig)。

P2SH
后来,又有人想到了更高级的玩法,是这样:
B对A说,你别管怎么验证,我给你一个哈希值,我在签名脚本中提供输出脚本,只要我提供的输出脚本的哈希值与给你的哈希值对得上,你就用我提供的输出脚本进行验证。
这样,B就可以随意定义自己希望的输出脚本,这就是P2SH地址,以数字3开头的比特币地址是P2SH地址。
P2SH也可以实现P2PKH地址和Multisig的功能。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值