在这里插入图片描述
输入0.7
输出0.5
23个确认 不太可能回滚了


在这里插入图片描述
交易id
hash值
版本
locktime 交易剩下时间:0立即生效
confirmation:确认信息
time:产生时间
blocktime:块产生时间


在这里插入图片描述
vout: 交易中第0个输入
scriptSig:输入脚本(input script)

在这里插入图片描述
n:交易里第0个输出
scriptPubKey:输出
reqSigs: 需要1个签名才能兑现
addresses:公钥地址


在这里插入图片描述

第一种

在这里插入图片描述
最简单情况,直接给出收款人的公钥

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

执行过程,压入栈=》检查签名
在这里插入图片描述

方式二

在这里插入图片描述
输出脚本没有直接给公钥 只给Hash
公钥是在输入脚本里给出的,也要给出签名
在这里插入图片描述
执行过程:
DUP 复制
在这里插入图片描述
HASH160: 弹出栈顶元素取Hash,然后把得到的hash压入栈
在这里插入图片描述
推入output中的PubKeyhash
当前两个Hash一个是input提供一个是output计算hash后得到
在这里插入图片描述
EQUALVERIFY 弹出栈顶两个元素比较他们是否相等
在这里插入图片描述
CHECKSIG 弹出栈顶两个元素 检查签名是否正确

第三种

给出收款人提供的一个脚本(redeemScript) 的hash
在这里插入图片描述
在这里插入图片描述
举例:

在这里插入图片描述

拼接输入+输出脚本
在这里插入图片描述

压入sig
压入RSH
计算HASH
压入RAH
EQUAL比较
在这里插入图片描述

在这里插入图片描述
反序列化执行脚本
检查PubKey

多重签名

× 存在bug需要多压入一个元素
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述交易时需要给出公钥以及M,N的值。

多重签名 方式2

将复杂度转移到输入脚本
在这里插入图片描述
赎回脚本由input提供(电商)。
在这里插入图片描述
在这里插入图片描述
第二阶段
在这里插入图片描述
第二阶段与之前paytohash一样
在这里插入图片描述

最后一个

RETUREN 用于返回false

  1. 用于销毁比特币,有些小币种要求销毁一定数量,AlternativeCoin
  2. 添加永久保存的内容:digital commitment。某种知识产权保护放到RETURN后面不会被执行。证明你在某个时间点已经知道某个知识。
  3. coinbase只有获得记账权的节点才能用,
    在这里插入图片描述
    在这里插入图片描述
    输入金额全部用于支付交易费
    在这里插入图片描述

PPT例子中省略了执行命令的OP_前缀正常应该是:
OP_CHECKSIG
OP_DUP
OP_xxx

Logo

一站式 AI 云服务平台

更多推荐