这里主要用于补充区块链重要基础知识7——比特币的运行机制中标准协议P2SH的说明
五大标准脚本分别为P2PKH、P2PK、MS(限15个密钥)、P2SH和OP_Return。
这里主要介绍P2PKH、P2SH,因为这两个比较常见。
1.P2PKH
Alice向Bob咖啡馆支付的案例。Alice下达了向Bob咖啡馆的比特币地址支付0.015比特币的支付指令,该笔交易的输出内容为以下形式的
1.1 锁定脚本(用堆栈实现hash值的对比):
O P _ D U P O P _ H A S H 160 < C a f e P u b l i c K e y H a s h > O P _ E Q U A L O P _ C H E C K S I G OP\_DUP \space OP\_HASH160 \space <Cafe \space Public \space Key \space Hash> \space OP\_EQUAL \space OP\_CHECKSIG OP_DUP OP_HASH160 <Cafe Public Key Hash> OP_EQUAL OP_CHECKSIG
Cafe Public Key Hash即为咖啡馆的比特币地址,但这个地址不是基于 B a s e 58 C h e c k Base58Check Base58Check编码的,是十六进制
1.2 锁定脚本的解锁版脚本是:
< C a f e S i g n a t u r e > < C a f e P u b l i c K e y > <Cafe \space Signature> \space <Cafe \space Public \space Key> <Cafe Signature> <Cafe Public Key>
1.3 判断
只有当解锁版脚本与锁定版脚本的设定条件相匹配时,执行组合有效脚本时才会显示结果为真(Ture)
也就是只有当解锁脚本得到了咖啡馆的有效签名,交易执行结果才会被通过(结果为真),该有效签名是从与公钥哈希相匹配的咖啡馆的私钥中所获取的。
1.4 图示
| 指令 | 指令词源 | 16进制字节码 | 功能说明 |
|---|---|---|---|
| O P _ D U P OP\_DUP OP_DUP | duplicate | 0x76 | 复制栈顶元素 |
| O P _ H A S H 160 OP\_HASH160 OP_HASH160 | hash | 0xa9 | 弹出栈顶元素,先进行SHA-256哈希,再进行RipeMD160哈希处理,将结果压入栈。 |
| O P _ E Q U A L V E R I F Y OP\_EQUALVERIFY OP_EQUALVERIFY | equal verify | 0x88 |

本文深入探讨比特币的两种重要交易类型P2PKH与P2SH,详细阐述它们的工作原理和优势。P2PKH用于简化支付验证,而P2SH则解决了复杂脚本交易的问题,通过哈希锁定脚本实现更简洁高效的交易。
最低0.47元/天 解锁文章
4237

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



