学习笔记《区块链技术与应用》第4天 比特币脚本语言

输入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

相关推荐
盐焗西兰花2 分钟前
鸿蒙学习实战之路-Reader Kit修改翻页方式字体大小及行间距最佳实践
学习·华为·harmonyos
QiZhang | UESTC17 分钟前
学习日记day76
学习
久邦科技24 分钟前
20个免费电子书下载网站,实现电子书自由(2025持续更新)
学习
Gain_chance39 分钟前
34-学习笔记尚硅谷数仓搭建-DWS层最近一日汇总表建表语句汇总
数据仓库·hive·笔记·学习·datagrip
Gain_chance2 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
肖永威2 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
XH华2 小时前
备战蓝桥杯,第九章:结构体和类
学习·蓝桥杯
暗光之痕3 小时前
Unreal5研究笔记 Actor的生命周期函数
笔记·unreal engine
Gain_chance3 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
宵时待雨3 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件