BSV 上的 Graftroot

news2024/11/9 9:36:08

我们已经演示了如何使用无合约的合约在 BSV 上实现 Taproot。我们将展示了其后续提案 Graftroot 可以以类似的方式实施。

在这里插入图片描述

BTC 中的 Grabroot

与 Taproot 类似,有两种方式可以使用锁定在由多方创建的聚合公钥 P 中的资金:

  1. 合作案例:又名默认密钥花费路径

各方同意并签署在定期支付交易中释放资金,与 Taproot 相同。

  1. 不合作的案例:又名替代脚本支出路径

如果任何一方未能签署,将选择一个替代脚本来运行以解锁资金。在 Taproot 中,脚本是 Merklized Alternative Script Tree (MAST) 中的叶节点。它通过在 P 中链接 MAST m 的根并通过 Merkle 证明验证脚本确实是 MAST 的叶子来授权。然而,在 Graftroot 中,称为代理脚本的替代脚本仅由各方共同签署脚本本身授权。 这和我们之前介绍的密钥委托类似,只是委托的是脚本,而不是公钥。

与 Taproot 相比

在设置过程中,各方共同签署所有可能的代理脚本。花费时,一方可能不愿意或无法签字。在这种情况下,Graftroot 比 Taproot 具有一些显着优势:

  1. 它按 O(1) 而不是 O(log n) 进行缩放,其中 n 是备选脚本的总数,每个脚本代表一种花费方式。无论 n 是多少,都需要一个签名。在 Taproot 中,花费时需要大小为 O(log n) 的 Merkle 证明。

  2. 在 Graftroot 中,可以在设置和支出之间的任何时间委托新的替代脚本。这在 Taproot 中是不可能的,因为 MAST 根已提交并且在安装后无法修改。

BSV 中的 Graftroot

事实证明,Graftroot 可以在BSV上实现,而无需对原始协议进行任何更改。下图显示了 Alice 和 Bob 在BSV上的 Taproot。有四种替代支出脚本(S₀、S₁、S₂ 和 S₃),它们位于根为 m 的 MAST 的叶节点上。

在这里插入图片描述

图 1:具有 4 个替代支出脚本的 Taproot

不是在单个事务 tx2 中的 MAST 中提交四个脚本,而是可以将每个脚本制作成一个单独的事务。所有交易(即 tx2_0tx2_1tx2_2tx2_3)在运行 Nakamoto 签名协议后由双方签署并在链下持有。双方通过共同签署包含脚本的交易来委托脚本。例如,两个签名 tx2_0 都使 S₀ 成为代理。在不合作的情况下,可以广播这四个包含所选脚本的交易之一。最多可以赎回其中一个,因为它们都是花费tx1 中的同一个 UTXO。

在这里插入图片描述

图 2:带有 4 个替代支出脚本的 Graftroot

比较图 1 和图 2,很明显,从替代脚本(例如 tx2_0 中的 S₀)中支出成本更低,并且没有 Merkle 证明的开销。

更多的脚本可以委托,只要双方同意。例如,通过双方签署包含它的 tx2_4 交易,新脚本 S₄ 可以被添加为代理人。

总结

由于 BSV 上的 Graftroot 不需要任何共识更改,这与 BTC 不同,因此今天可以利用它来提高隐私和效率。例如,可以使用现有的操作码 OP_CHECKSIG 检查用于委托的签名,而 BTC 需要新的操作码,例如 OP_CHECKSIGFROMSTACK,因为签名的消息是脚本本身,而不是交易数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73939.html

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

相关文章

kubernetes 安装 Harbor 仓库

文章目录kubernetes 安装 Harbor 仓库1. 下载 Harbor2. 安装 docker3. 优化 docker 配置4. 下载 docker-compose5. 安装 Harbor:one: 上传 harbor 文件包:two: 解压:three: 修改配置文件:four: 执行安装脚本安装:five: 配置开机自启6. 登陆测试:one: 浏览器登陆:two: 命令行登陆…

为什么需要对相机标定?

以下内容来自系统教程如何搞定单目/鱼眼/双目/阵列 相机标定? 点击领取相机标定资料和代码 为什么需要对相机标定? 我们所处的世界是三维的,而相机拍摄的照片却是二维的,丢失了其中距离/深度的信息。从数学上可以简单理解为&…

Peppol网络对接流程

Peppol 代表泛欧在线公共采购,现在连接到 Peppol 的组织可以通过高度安全的国际网络交换商业文件。知行软件通过了 PEPPOL 的 AS2 及 AS4 测试,被 OpenPEPPOL AISBL 正式认证为 PEPPOL 接入点供应商。可以在Peppol查询到相关接入点信息,如下&…

TH9-搭建后台系统

TH9-搭建后台系统1、项目架构1.1 概述1.2 API网关1.2.1 搭建网关依赖引导类跨域问题配置类配置文件1.2.2 配置鉴权管理器1.3 Nacos配置中心1.3.1 添加依赖1.3.2 添加bootstrap.yml配置1.3.3 nacos添加配置2、后台系统2.1 概述2.2 环境前端搭建2.2.1 导入数据库2.2.2 导入静态页…

MYSQL-INNODB索引构成详解

作者:郑啟龙 摘要: 对于MYSQL的INNODB存储引擎的索引,大家是不陌生的,都能想到是 B树结构,可以加速SQL查询。但对于B树索引,它到底“长”得什么样子,它具体如何由一个个字节构成的&#xff0c…

插入排序

目录 插入排序 思路: 原理视频: 代码: 时间复杂度: 总结: 题目链接: 插入排序 题目描述: 插入排序基本思想是每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。 输入N个整数,将它们从…

【设计模式】代理模式(Proxy Pattern)

代理模式属于结构型模式,当一个对象不处于相同内存空间时、创建开销大时、需要进行安全控制时或需要代理处理一些其他事物时可以使用代理模式。代理模式通过为另一个类提供一个替身类来控制对这个类的对象的访问。 文章目录代理模式的介绍代理的分类:优点…

了解CloudCompare软件

CloudCompare是一款基于GPL开源协议的3D点云处理软件, 打开一个点云; 按住鼠标拖动旋转会出现坐标轴; 如果选中 TLS/GBL, 会出来右边这个线框,可以一起旋转;查了一下,TLS/GBL似乎是地面激光雷达…

2022年国际工程行业研究报告

第一章 行业概况 国际工程是指一个工程项目从咨询、投资、招投标、承包(包括分包)、设备采购、培训到监理各个阶段的参与者来自不止一个国家,并且按照国际工程项目管理模式进行管理的工程。国际工程是一种综合性的国际经济合作方式,是国际技术贸易的一种…

了解Linux内核内存映射

【推荐阅读】 深入linux内核架构--进程&线程 路由选择协议——RIP协议 轻松学会linux下查看内存频率,内核函数,cpu频率 纯干货,linux内存管理——内存管理架构(建议收藏) 概述Linux内核驱动之GPIO子系统API接口 一. 内存映射原理 由于所…

shadow阴影属性

shadow阴影属性 盒子阴影CSS中新增了盒子阴影,我们可以使用box-shadow属性为盒子添加阴影 源代码 box-shadow: h-shadow v-shadow blur spread color inset; h-shadow 必需,水平阴影的位置,允许负值 v-shadow…

AI 揭晓答案,2022世界杯冠军已出炉

卡塔尔世界杯,究竟谁能捧起大力神杯,就让我们用机器学习预测一下吧! 文章目录数据源技术提升数据集构建功能开发数据分析模型世界杯模拟结论数据源 为了构建机器学习模型,我们需要来自团队的数据。首先需要一些能够说明球队表现的…

Java学习之多态参数

目录 多态参数 父类-Employee类 子类-Worker类 子类-Manager类 Test类-要求1 main类-PolyParameter 在main类中调用Test类的showEmpAnnual(Employee e) 方法 运行结果 Test类-要求2 代码 main方法内调用 分析 运行结果 多态参数 方法定义的形参类型是父类&#xff0…

青竹画材创业板IPO被终止:年营收4.15亿 文投基金是股东

雷递网 雷建平 12月8日河北青竹画材科技股份有限公司(简称:“青竹画材”)日前IPO被终止。青竹画材曾计划募资4.1亿元,其中,3.08亿元用于美术画材产能扩建项目,2317.35万元用于研发中心项目,7966…

Selenium+python常见问题,闪退,找不到元素

1、闪退问题: 由于缺少浏览器对应驱动。谷歌:chromedriver驱动;火狐:geckodriver驱动 查看Chrome版本 查找Chrome和ChromeDriver的对应关系 打开Chrome,在设置 – 关于Chrome下载对应ChromeDriver ChromeDriver下载…

本地存储:localStorage,sessionStorage,和cookie。区别

localStorage: 特点: 永久存储支持跨页面通讯,也就是在其他页面同样可以获取到你存好的数据。只能存储字符串类型的数据,不能存储复杂数据类型 sessionStorage: 特点: 临时存储,会话级别&am…

68. 关于 SAP ABAP 报表的多语言显示问题

文章目录 SAP 标准程序的多语言显示支持自开发 Screen 的字段,如何实现多语言显示呢?总结最近一个朋友向我发起知乎咨询,询问 SAP ABAP 报表的字段文本,到底是存储在哪些数据库表里的。 随着后来笔者同这位朋友的深入沟通,得知这位朋友询问的问题背后,实际上包含了一个重…

Windows系统还原失败该怎么办?

系统还原是Windows系统中一个强大的实用程序,它允许您将系统回退到以前的时间点及状态。该功能可以用来撤销对系统所做的一系列更改,比如,当您执行了驱动程序的更新后,计算机出现了异常,您就可以通过系统还原的操作将系…

【微服务】1、一篇文章了解 Eureka 注册中心(理论加代码)

Eureka 的作用和案例使用一、Eureka 的作用(注册中心)二、Eureka 代码(1) 搭建 Eureka 注册中心① 创建项目,引入 spring-cloud-starter-netflix-eureka-server 依赖【eureka 服务端依赖】② 编写 eureka 服务端启动类(启动类添加…

WSO2使用Jenkins进行CI/CD

WSO2使用Jenkins进行CI/CD1. Tool Install1.0 Port 1.1 wso2 Install 1.2 Tool Install(git/vim/jenkins)2. Jenkins CI/CD2.1 Apictl Command2.1 Apictl Command5.2.1 Setting up the environment5.2.2 Setup repository5.2.3 Setup JFrog Artifactory5.2.4 Configure Jenkins…