输入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
- 用于销毁比特币,有些小币种要求销毁一定数量,AlternativeCoin
- 添加永久保存的内容:digital commitment。某种知识产权保护放到RETURN后面不会被执行。证明你在某个时间点已经知道某个知识。
- coinbase只有获得记账权的节点才能用,
输入金额全部用于支付交易费
PPT例子中省略了执行命令的OP_前缀正常应该是:
OP_CHECKSIG
OP_DUP
OP_xxx