BSV 上的 Graftroot

这篇具有很好参考价值的文章主要介绍了BSV 上的 Graftroot。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

BSV 上的 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 的叶节点上。

BSV 上的 Graftroot,智能合约,区块链,智能合约

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

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

BSV 上的 Graftroot,智能合约,区块链,智能合约

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

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

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

总结

由于 BSV 上的 Graftroot 不需要任何共识更改,这与 BTC 不同,因此今天可以利用它来提高隐私和效率。例如,可以使用现有的操作码 OP_CHECKSIG 检查用于委托的签名,而 BTC 需要新的操作码,例如 OP_CHECKSIGFROMSTACK,因为签名的消息是脚本本身,而不是交易数据。文章来源地址https://www.toymoban.com/news/detail-781414.html

到了这里,关于BSV 上的 Graftroot的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 区块链java开发智能合约nf(部署第一个NFT智能合约)

    手把手教你区块链java开发智能合约nft-第二篇(部署第一个NFT智能合约) 刚搞区块链开发真的是太累了,自己摸石头过河,动不动就报错,网上搜索错误,一律看不出什么问题,或者报错的信息太少,问同事同事不鸟,问领导,领导也烦,无奈,对于英文不好的我,只能被迫

    2024年02月12日
    浏览(57)
  • 区块链智能合约代码示例

            以下是一个简单的区块链智能合约代码示例: 该合约具有以下功能: 定义了一个名为 SimpleContract 的合约。 定义了一个名为 myData 的公共整数变量。 定义了一个名为 setMyData 的公共函数,该函数接受一个 uint 类型的参数 newData,并将其设置为 myData 的新值。 在 So

    2024年02月14日
    浏览(47)
  • 区块链智能合约

    合同(Contract)又称契约、协议,是平等主体的自然人、法人、其他组织之间设立、变更、终止民事权利义务关系的协议。本质上讲,合同是当事双方或多方在并没有充足信任的情况下,通过文字的约定和法律的权威,对各自的权利与义务进行的约定。 制订合同的目的就在于

    2024年01月18日
    浏览(50)
  • 区块链与智能合约

    要想理解什么区块链,我们先来从本质上认识一下它 区块链:本质上是一个去中心化的分布式账本数据库,是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方法。 没有基础的人可能理解起来有点困难,我们来解释一下里边的名词 分布式账本数据库:了解过

    2024年03月26日
    浏览(91)
  • 区块链智能合约基础

    什么是智能合约 简单来说,智能合约是一种满足在一定条件时,就执行的程序,例如自动售货机就类似一个智能合约系统。 1.向自动售货机投入足够硬币,按下按钮 2.售货机供出商品 3.售货机回到初始状态 智能合约的工作原理 智能合约是一段程序(代码和数据的集合),可

    2024年02月13日
    浏览(44)
  • 区块链之智能合约

    智能合约( Smart Contract)是以计算机为主要工具,将数学算法嵌入到程序中,用以证明某个事件是否符合约定条件,并保证各方在约定时间内按照约定条件达成一致,以验证和执行合同条款的计算机文本。简单来说智能合约是一个计算机程序,可以在不需要第三方介入的情况

    2024年02月07日
    浏览(45)
  • 区块链智能合约开发学习

    最近正在肝区块链知识学习,入手学习智能合约的开发,由于网上资料实在是太少了,好不容易东拼西凑完成了智能合约的开发、编译、部署、web3js调用(网页页面)和web3j调用(java调用),赶紧趁热把重点提炼出来。 先上图,是我最近学习知识点的一个概括总结,此外还包

    2023年04月18日
    浏览(42)
  • 【区块链 | 审计】智能合约审计指南

    区块链技术正在改变各行各业的游戏规则,而智能合约是这一进程的关键部分。智能合约通过消除第三方中介机构来确保各方之间的信任,有助于降低成本,同时也增加透明度。如果你要写一个智能合约,关键是你要对代码进行审计,以确保它能正常工作--而且不会有任何错

    2024年02月07日
    浏览(54)
  • 区块链2——Solidity智能合约开发

    区块链 索引目录 智能合约是一种以代码形式编写的自动执行合约,它们运行在区块链上。这些合约定义了在特定条件下发生的事件以及相应的行为。 1.1 智能合约结构 版本声明(Version Declaration): 智能合约通常以声明版本开始,指定合约应该使用的Solidity编译器版本。例如

    2024年02月05日
    浏览(69)
  • 人工智能与金融技术:区块链与智能合约

    随着人工智能技术的不断发展,金融领域也在不断融合人工智能技术,为金融服务提供了更多高效、智能化的解决方案。其中,区块链技术和智能合约是人工智能与金融技术的重要组成部分,它们在金融领域中发挥着越来越重要的作用。本文将从以下几个方面进行阐述: 背景

    2024年04月14日
    浏览(93)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包