学习笔记《区块链技术与应用》第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.pswp.cn/diannao/93685.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.Linux 系统文件类型与文件权限

1.文件类型Linux 下所有的东西都可以看做文件,Linux 将文件分为以下几种类型:普通文件 ‘-’目录文件 ‘d’管道文件 ‘p’链接文件 ‘l’设备文件(块设备 ’b’ 、字符设备 ‘c’)套接字文件 ‘s’Linux 上不以文件的扩展名区别文…

订单识别技术原理及场景应用

订单OCR(光学字符识别)技术通过图像处理和深度学习算法,将纸质或电子版订单中的文字信息转化为结构化数据。以下是其技术原理和典型应用场景的详细解析:一、技术原理剖析1. 核心处理流程图像预处理去噪:消除阴影、折痕…

[优选算法]复写零

题目链接 LeetCode复写零 题目描述 题目解析 一、问题理解 题目要求:给定一个整数数组 arr,在不创建新数组的情况下,将每个出现的 0 复写一遍(即一个 0 变成两个 0),同时保持其他元素的相对顺序不变。复…

element UI的el-table组件,实现可以拖动

表格 <div class"main_table"><el-table id"elTableid" :data"fieldArr" border style"width: 100%" row-class-name"drag-row"current-row-key highlight-current-row><el-table-column type"index&qu…

Android Emoji 全面解析:从使用到自定义

引言 Emoji已经成为现代数字通信不可或缺的一部分&#xff0c;这些小小的图标能够跨越语言障碍&#xff0c;直观地表达情感和想法。在Android开发中&#xff0c;正确处理和显示Emoji是提升用户体验的重要环节。本文将全面介绍Android平台上的Emoji支持&#xff0c;包括系统集成…

数据中心入门学习(五):服务器CPU

目录CPU1 概述1.1 概念1.2 冯诺依曼架构1.3 常见参数&#xff08;评估性能&#xff09;1.4 按指令集分类2 CPU发展2.1 发展史2.2 行业产业链2.3 英特尔 Xeon 至强处理器2.4 AMD Zen架构补充1 寄存器、存储器、内存、缓存、硬盘区别与联系&#xff1f;2 浮点单元参考本篇记录和梳…

基于MySQL实现基础图数据库

基于MySQL实现基础图数据库 一、概念 图数据库是一种用于存储和查询具有复杂关系的数据的数据库。在这种数据库中&#xff0c;数据被表示为节点&#xff08;实体&#xff09;和边&#xff08;关系&#xff09;。图数据库的核心优势在于能够快速地查询和处理节点之间的关系。 图…

RAG面试内容整理-9. 查询改写与增强(Query Rewriting, Query Expansion)

查询改写和查询增强是两种提升检索效果的技术,目标是在不改变用户意图的前提下,使检索器收到的查询更全面或明确,从而找到更多相关信息。 查询改写通常指将原始查询转换成语义等价但更明晰的形式。上一节谈到的对话查询改写是一个典型场景。在一般情况下,查询改写也适用于澄…

golang设置http代理

问题场景&#xff1a; golang通过eino的官方agent示例调用duckduckgo进行联网搜索时出现网络问题&#xff0c;电脑此时是挂了工具的浏览器整出打开 官方示例&#xff1a;https://www.cloudwego.io/zh/docs/eino/quick_start/agent_llm_with_tools/ 问题原因&#xff1a;go代码没…

Elasticsearch 现在默认启用 BBQ,并通过 ACORN 实现过滤向量搜索

作者&#xff1a;来自 Elastic Gilad Gal 探索 Elasticsearch 的向量搜索如何以更快的速度、更低的成本提供更优结果。 试用向量搜索&#xff1a;使用这套自定进度的 Search AI 实操学习课程&#xff0c;亲自体验向量搜索。你可以开始免费云试用&#xff0c;或立即在本地机器上…

Java 14 新特性解析与代码示例

Java 14 新特性解析与代码示例 文章目录Java 14 新特性解析与代码示例1. 开关表达式&#xff08;Switch Expressions&#xff09;2. 记录类型&#xff08;Records&#xff09;3. 文本块&#xff08;Text Blocks&#xff09;4. instanceof的模式匹配&#xff08;Pattern Matchin…

在虚拟机ubuntu上修改framebuffer桌面不能显示图像

目录 一、测试程序 二、排查原因 三、为什么 Xorg 会导致程序无法工作&#xff1f; 一、测试程序 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #in…

语言模型的评估指标整理

语言模型&#xff08;Language Models&#xff09;是自然语言处理&#xff08;NLP&#xff09;的核心组件&#xff0c;广泛应用于机器翻译、文本生成、对话系统等领域。随着模型复杂度的提升&#xff0c;如何科学、系统地评估模型性能变得至关重要。评估指标不仅帮助我们理解模…

【开发技术】.Net中配置Serilog日志分级记录

目录 一、目的 二、解决方案 2.1 下载serilog包 2.2 Serilog配置 2.2.1 使用多个File sink配置不同的最小日志级别 2.2.2 使用Filter条件分流到不同文件 三、使用建议 四、文章总结 一、目的 在日常开发中&#xff0c;需要根据不同的场景去记录日志&#xff0c;根据实际…

聊聊如何判断发现的缺陷属于前后端

目录 一、观察缺陷现象 二、检查网络请求&#xff08;核心方法&#xff09; 三、模拟请求验证后端 四、查看日志 五、数据流分析 六、判断前后端缺陷方法 判断发现的缺陷是前后端&#xff0c;可以通过观察缺陷现象&#xff0c;检查网络请求&#xff0c;查看后端日志&…

Python3与MySQL的PyMySQL连接与应用

Python3与MySQL的PyMySQL连接与应用 引言 随着互联网技术的飞速发展,数据库在各个领域的应用日益广泛。MySQL作为一种开源的关系型数据库管理系统,因其稳定性和高效性,被广泛应用于各种场景。Python作为一种高级编程语言,以其简洁、易读、易学等特点,受到了广大开发者的…

智慧城市SaaS平台|市政公用管理系统

【道路监测运维系统】1.数据可视化a) 实时监控支持对道路监测数据进行分析评估&#xff0c;为道路养护、交通管理、环境保护等提供数据支撑2.道路基础设施监测支持对道路基础设施的运行状态进行实时监测&#xff0c;包括路面状况3.交通流量监测支持对道路交通流量进行实时监测&…

Maven 配置阿里云镜像加速

Maven 配置阿里云镜像加速&#xff1a; 完整配置步骤&#xff08;Windows 系统&#xff09; 1. 找到 Maven 的 settings.xml 文件 全局配置&#xff1a;D:\software\apache-maven-3.9.11\conf\settings.xml用户配置&#xff1a;C:\Users\Admin\.m2\settings.xml&#xff08;推荐…

去除视频字幕 3 : 继续研究 IOPaint,记录几个问题

1. 为什么单独运行&#xff0c;效果很好&#xff0c;批量运行&#xff0c;效果很差。 1. 我运行 iopaint start --modellama --devicecuda --port8080在浏览器中单独选择图片&#xff0c;涂选区域&#xff0c;然后处理&#xff0c;此时的效果非常好。2. 但是我进行 iopaint ru…

【深度之眼机器学习笔记】04-01-决策树简介、熵,04-02-条件熵及计算举例,04-03-信息增益、ID3算法

1. 决策树与熵 1.1 决策树简介 下面有一个贷申请样本表&#xff0c;有许多特征 我们根据特征数据生成一棵树&#xff0c;比如年龄有青年&#xff0c;中年&#xff0c;老年三个类别&#xff0c;那么就有三个分支&#xff0c;分别对应着三种类别。如果是青年那么就看工作&#xf…