BTC交易数据 - Script

Signature Script

在比特币交易中,通常称为 “ScriptSig” 或 “Signature Script” 的部分在交易输入中用于提供解锁条件,以使输出可以被使用。这个部分包含数字签名、公钥、以及其他数据,以满足输出脚本的条件。

在比特币交易输入中,ScriptSig 可以包含一段用于解锁输出的脚本。这通常是一个包含数字签名和相关数据的脚本。这个脚本的具体格式取决于所使用的交易类型和脚本系统。

分析ScriptSig实例

BTC交易数据是怎样的 文章中的ScriptSig如下:

注:ScriptSig使用 DER编码

47304402204300d701d7beb055b369955adf7fa39faedc2c0d1f1cd49b4c7e7913ac937d9c0220713f7f19b72e4399db2a1a627176c4a093db8ea72bb612dd949f3e0c0cf28a3c012103683ad7dd8a485e4be62e963d8f60cf51aca0652660b1ed8cf2b6b2a2e34631f0

我们分析下这个脚本:

47 # 表示DER表示的签名有71(47是16进制表示的)个字节
    30 # DER 编码的 SEQUENCE 标识符
    44 # 后面 DER 编码的长度为 68(44是用16进制表示的) 字节
    02 # DER 编码的整数标识符
    20 # 签名(R值)占用32个字节
    4300d701d7beb055b369955adf7fa39faedc2c0d1f1cd49b4c7e7913ac937d9c # 具体签名内容
    02 #  DER 编码的整数标识符
    20 # 签名(S值)占用 32 字节
    713f7f19b72e4399db2a1a627176c4a093db8ea72bb612dd949f3e0c0cf28a3c # 具体签名内容
01 # HashType 签名的使用方式
21 # 公钥的长度,33个字节
03683ad7dd8a485e4be62e963d8f60cf51aca0652660b1ed8cf2b6b2a2e34631f0 # 压缩格式的公钥

HashType类型

Hash TypeHexadecimalEnglish DescriptionChinese Description
SIGHASH_ALL0x01Includes all inputs and outputs in the signature hash.包含所有输入和输出的签名哈希。
SIGHASH_NONE0x02Includes none of the outputs in the signature hash.不包含签名哈希中的任何输出。
SIGHASH_SINGLE0x03Includes only the output corresponding to the input index.仅包含与输入索引相对应的输出的签名哈希。
SIGHASH_ANYONECANPAY0x80Allows the signer to sign only their own input, ignoring others.允许签名者仅签署自己的输入,忽略其他输入。

Public Key Script

公钥脚本(Public Key Script)通常是比特币交易输出脚本(Output Script)的一部分,用于定义花费输出所需的条件。
以下是公钥脚本的典型形式之一,即 P2PKH(Pay to Public Key Hash)脚本:OP_DUP OP_HASH160 <Public Key Hash> OP_EQUALVERIFY OP_CHECKSIG

分析pkScript实例

BTC交易数据是怎样的 文章中的输出的pkScript如下:76a9144d6567616e264769616e6e69466f72657665722188ac

分析脚本:

76 # 操作码:OP_DUP,复制栈顶元素
a9 # 操作码:OP_HASH160,将栈顶元素进行 HASH160 操作
144d6567616e264769616e6e69466f726576657221 # 公钥哈希值(20字节)
88 # 操作码:OP_EQUALVERIFY,检查栈顶两个元素是否相等,如果不相等则标记为错误,否则继续执行
ac # 操作码:OP_CHECKSIG,使用栈顶的公钥和签名检查交易的签名是否有效

操作码文档

关注我,关注我的专栏,一起探索Web3的世界

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值