当前位置: 首页 > news >正文

学习笔记《区块链技术与应用》第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

http://www.lryc.cn/news/605730.html

相关文章:

  • Docker部署Seata
  • Linux核心转储(Core Dump)原理、配置与调试实践
  • 前端-移动Web-day2
  • 野生动物巡查系统(H题)--2025 年全国大学生电子设计竞赛试题
  • ENSP防火墙部署
  • 快速理解RTOS中的pendsv中断和systick中断
  • Java Stream进阶:map是“一对一”,flatMap是“一对多”
  • H.266 vs H.265/AV1/H.264:从工程落地看下一代视频系统的技术演进
  • 前端核心技术Node.js(五)——Mongodb、Mongoose和接口
  • Web3:在 VSCode 中基于 Foundry 快速构建 Solidity 智能合约本地开发环境
  • 硬核技术协同:x86 生态、机密计算与云原生等技术如何为产业数字化转型筑底赋能
  • 云原生环境 DDoS 防护:容器化架构下的流量管控与弹性应对
  • 对git 熟悉时,常用操作
  • Java学习第九十一部分——OkHttp
  • MongoDB用户认证authSource
  • 微服务架构技巧篇——接口类设计技巧
  • 智能交通顶刊TITS论文分享|跨区域自适应车辆轨迹预测:TRACER框架攻克域偏移难题!
  • PageOffice实现文档并发控制
  • 2025年人形机器人动捕技术研讨会将在本周四召开
  • JVM面试通关指南:内存区域、类加载器、双亲委派与GC算法全解析
  • 暑期算法训练.11
  • wpf之ControlTemplate
  • RabbitMQ 消费者确认 (Ack/Nack) (With Spring Boot)
  • HUD抬头显示器-杂散光测试设备 太阳光模拟器
  • FastGPT + Kymo AI生态创新平台,搭建企业智能化知识管理
  • TTS语音合成|GPT-SoVITS语音合成服务器部署,实现http访问
  • 自动驾驶控制算法——PID算法
  • Linux进程创建,终止与等待
  • 运作管理学习笔记1-运作管理基础
  • Docker 初学者需要了解的几个知识点 (五):建容器需要进一步了解的概念