当前位置: 首页 > 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.dtcms.com/a/307831.html

相关文章:

  • window中qemu使用(安装ubuntu系统)
  • 嵌入式系统常用架构
  • python中各种装饰器的作用
  • 图像处理中级篇 [2]—— 外观检查 / 伤痕模式的原理与优化设置方法
  • 【n8n教程笔记——工作流Workflow】文本课程(第二阶段)——1 理解数据结构 (Understanding the data structure)
  • 【单片机】【分布式】从单机到分布式:Redis如何成为架构升级的关键力量
  • uniapp开发App如何使用正确高德地图。uni.chooseLocation数据不展示问题,uni.getLocation不生效问题。
  • Leetcode-206.反转链表
  • linux运维学习第十三周
  • 数据库学习------数据库隔离类型及其与事务特性
  • 会议室预定系统核心技术:如何用一行SQL解决时间冲突检测难题
  • Spark SQL 的 SQL 模式和 DSL模式
  • 前端js通过a标签直接预览pdf文件,弹出下载页面问题
  • Hive课后练习题
  • Docker 初学者需要了解的几个知识点 (七):php.ini
  • ode with me是idea中用来干嘛的插件
  • MVS相机+YOLO检测方法
  • 【14】大恒相机SDK C#开发 ——Bitmap.UnlockBits()什么意思?有什么用?bmpData.Scan0;什么意思?有什么用?
  • 行业要闻|正式落地!新思科技宣布完成对Ansys的收购
  • 是德科技的BenchVue和纳米软件的ATECLOUD有哪些区别?
  • 1 机器学习概述 (第一天2025.7.31)
  • 【龙泽科技】汽车维护与底盘拆装检修仿真教学软件【风光580】
  • 非阿贝尔编织(Non-Abelian Braiding)
  • 量子测量的物理场景与理论
  • Union Application
  • 基于深度学习的医学图像分析:使用BERT实现医学文本分类
  • 从“救火”到“先知”:润建曲尺运维大模型如何重构网络运维价值链
  • Linux核心转储(Core Dump)原理、配置与调试实践
  • Bug报错集
  • Qt 常用控件 - 3