System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于传达紧凑脚本的协议制造技术_技高网

用于传达紧凑脚本的协议制造技术

技术编号:44017584 阅读:2 留言:0更新日期:2025-01-15 01:02
一种计算机实现的方法,用于传输紧凑事务,其中紧凑事务是包括紧凑脚本的区块链事务,所述紧凑脚本至少部分地以中级脚本语言编写,所述方法包括:生成第一紧凑事务,所述第一紧凑事务包括第一CS,其中所述第一CS包括:第一高级引用库的第一库标识符,所述第一HL引用库包括以HL脚本语言编写的第一HL函数集合,每个HL函数被配置为执行与由相应一个或多个LL函数的集合执行的操作等效的操作;所述第一HL函数集合中的一个或多个HL函数的相应函数标识符;和,至少一个IL函数,所述至少一个IL函数被配置为在脚本执行期间调用所述一个或多个HL函数;以及,将所述第一紧凑事务传输到至少一个启用CS的节点,其中每个启用CS的节点被配置为核实紧凑事务。

【技术实现步骤摘要】
【国外来华专利技术】

本公开涉及一种将紧凑区块链事务传输到区块链网络的节点的方法以及一种处理紧凑区块链事务的方法。


技术介绍

1、区块链是指一种分布式数据结构,其中在分布式对等(p2p)网络(以下称为“区块链网络”)中的多个节点中的每个节点处维护区块链的副本,并且广泛公开该副本。区块链包括一系列数据区块,其中每个区块包括一个或多个事务(transaction)。除所谓的“coinbase事务”外,每个事务都指向序列中的先前事务,该序列可以跨越一个或多个区块,回到一个或多个coinbase事务。coinbase事务将在下文进一步讨论。提交给区块链网络的事务包括在新区块中。新区块的创建过程通常称为“挖掘”,该过程涉及多个节点中的每个节点争相执行“工作证明”,即,基于等待被包括在区块链的新区块中的一组定义的有序且核实有效的未决事务的表示解决加密难题。应当注意的是,区块链可以在一些节点处被修剪(prune),并且区块的发布可以通过仅发布区块头来实现。

2、区块链中的事务可用于以下目的中的一个或多个:传送数字资产(即,一定数量的数字令牌token);对虚拟化分类账或注册表中的一组条目进行排序;接收和处理时间戳条目;和/或对索引指针按时间排序。也可利用区块链实现区块链上的层级附加功能。例如,区块链协议可允许在事务中存储附加的用户数据或数据索引。能够存储在单个事务中的最大数据容量没有预先指定的限制,因此可以并入越来越复杂的数据。例如,这可用于在区块链中存储电子文档、音频或视频数据。

3、区块链网络的节点(通常称为“矿工”)执行分布式事务注册和验证过程,这将后续更详细地描述。总之,在该过程中,节点核实事务并将这些事务插入到区块模板中,这些事务尝试为该区块模板标识有效的工作证明解。一旦找到有效的解,新区块便会被传播到网络的其它节点,从而使得每个节点能够在区块链上记录新区块。为了将事务记录在区块链中,用户(例如,区块链客户端应用程序)将该事务发送到网络中的节点中的一个节点进行传播。接收该事务的节点可以争相寻找将核实有效的事务并入新区块的工作证明解。每个节点被配置为执行相同的节点协议,该协议将包括用于确认事务有效的一个或多个条件。无效事务将不会传播或并入到区块中。假定事务已经核实有效,从而在区块链上被接受,则该事务(包括任何用户数据)将因此在区块链网络中的每个节点上作为不可改变的公共记录进行注册和索引。

4、成功解决工作证明难题可创建最新区块的节点通常被奖励一个称为“coinbase事务”的新事务,该事务分发数字资产数额,即令牌数量。无效事务的检测和拒绝是通过竞争节点的行动来执行的,这些竞争节点充当网络的代理并且通过激励报告和阻止不正当行为。信息的广泛发布使得用户可以连续地审计节点的性能。仅发布区块头使得参与者可以确保区块链具有持续完整性。

5、在“基于输出的”模型(有时称为基于utxo的模型)中,给定事务的数据结构包括一个或多个输入和一个或多个输出。任何可花费输出包括指定数字资产数额的元素,该元素可从进行中的事务序列导出。可花费输出有时称为utxo(“未花费事务输出”)。输出还可以包括锁定脚本,该锁定脚本指定输出的未来赎回条件。锁定脚本是限定核实和传送数字令牌或资产所必需的条件的谓词。事务(除coinbase事务之外)的每个输入包括指向先前事务中的此类输出的指针(即引用),并且还可以包括解锁脚本,用于解锁指向输出的锁定脚本。因此,考虑一对事务,将其称为第一事务和第二事务(或“目标”事务)。第一事务包括指定数字资产数额的至少一个输出,并且包括定义解锁该输出的一个或多个条件的锁定脚本。第二(目标)事务包括至少一个输入和解锁脚本,该至少一个输入包括指向第一事务的输出的指针;该解锁脚本用于解锁第一事务的输出。

6、在此类模型中,当第二(目标)事务被发送到区块链网络以在区块链中传播和记录时,在每个节点处应用的有效性条件之一将是解锁脚本满足在第一事务的锁定脚本中定义的一个或多个条件中的所有条件。另一条件将是第一事务的输出尚未被另一早期有效事务赎回。根据这些条件中的任何一个条件发现目标事务无效的任何节点都不会传播该事务(作为有效事务,但可能注册无效事务),也不将该事务包括在要记录在区块链中的新区块中。


技术实现思路

1、区块链通常使用脚本语言来设置锁定条件,所述锁定条件锁定事务的特定输出。同样地,对应的解锁条件以所述相同的脚本语言编写。脚本语言通常由数据(例如,公钥和数字签名)和对数据执行操作(或称为,运算)的函数组成。所述脚本语言可以称为低级脚本语言或本机(native,也译为本地、原生)脚本语言。作为特定示例,比特币区块链的所述本机脚本语言称为script。在script中,所述函数称为“操作码”,所述操作码是“操作代码”的简称。

2、在生成方(例如,用户或机器)之间将包含脚本的事务传输到网络的节点以核实事务。根据用例,也可以在链下(例如,用户到用户或机器到机器)传输事务。此外,还由所述节点本身在整个区块链网络中传播事务。此外,至少需要(或至少选择)一些节点来存储事务作为所述区块链的一部分。

3、随着区块链技术的使用量不断增加,需要分别降低传输和存储事务的带宽和存储要求。这通常适用于所有区块链。一些区块链对事务的大小、事务内脚本的大小和区块的大小施加了限制。相反,至少一个区块链(例如,比特币sv)允许事务具有不受限制的脚本大小,并且不对区块大小施加限制。这使得能够构建复杂的锁定脚本(例如,智能合约),这些脚本可能具有相当大的大小。此外,这还允许区块链节点构建和发布大区块,然后需要存储所述大区块。因此,在传输和存储事务作为该特定区块链的一部分时,更需要节省带宽和存储空间。

4、到目前为止,锁定脚本和解锁脚本以低级(即,本机)脚本语言编写(即,表达或表示)。然后,将包含这些脚本的事务提交到所述区块链网络,并且在有效的情况下将其存储在所述区块链上。现在,可以高级脚本语言编写脚本,而不是以所述低级脚本语言编写脚本(锁定脚本或解锁脚本)。与所述低级语言一样,所述高级语言由数据和函数组成。然而,这些“高级函数”中的至少一些高级函数被配置为在一起执行时执行与由多个“低级函数”执行的操作相同的操作。换句话说,一个高级函数可以执行通常需要多个低级函数的相同操作。这导致以所述高级语言编写的脚本比以所述低级语言编写的等效锁定脚本更紧凑(即,大小减小)。

5、由于以所述高级语言编写的脚本比以所述本机低级语言编写的脚本(现在称为“扩展脚本”)更紧凑,因此以高级语言编写的脚本称为“紧凑脚本”。例如,以所述高级语言编写的锁定脚本和解锁脚本分别称为“紧凑锁定脚本”和“紧凑解锁脚本”。

6、应当注意的是,对以特定编程语言“编写”的脚本的任何引用都可以被认为意味着所述脚本以所述编程语言“表示”或“表达”。因此,除非上下文另有要求,否则任何提及的“编写”都可以替换为“表示”或“表达”。

7、现在可以使用所述高级语言,将通常需要较大扩展脚本(在许多低级函数的意义上较大)本文档来自技高网...

【技术保护点】

1.一种计算机实现的方法,用于将紧凑事务传输到区块链网络的节点,其中紧凑事务是包括紧凑脚本(CS)的区块链事务,所述紧凑脚本至少部分地以中级(IL)脚本语言编写、并且包括一个或多个IL函数,其中当被执行时,每个IL函数被配置为执行与由低级(LL)脚本语言的一个或多个LL函数执行的操作等效的操作,其中所述CS被配置为执行与以所述LL脚本语言编写的扩展脚本(ES)等效的操作,并且其中所述方法由第一方执行并且包括:

2.根据权利要求1所述的方法,所述方法包括:创建所述第一HL引用库。

3.根据权利要求1或2所述的方法,所述方法包括:将所述第一HL引用库提供给所述至少一个启用CS的节点。

4.根据权利要求3所述的方法,其中所述的将所述第一HL引用库提供给所述至少一个启用CS的节点包括:将所述第一HL引用库发送到所述至少一个启用CS的节点。

5.根据权利要求3所述的方法,其中所述第一HL引用库存储在可公开访问源处,并且其中所述的将所述第一HL引用库提供给所述至少一个启用CS的节点包括:将对所述可公开访问源的引用发送到所述至少一个启用CS的节点

6.根据权利要求5所述的方法,其中所述可公开访问源是存储在区块链上的库事务,并且其中所述第一库标识符是:a)所述库事务的事务标识符;或者b)包含所述库事务的区块的区块高度和所述库事务在所述区块中的位置。

7.根据权利要求6所述的方法,所述方法包括:

8.根据权利要求6所述的方法,所述方法包括:通过以下方式更新所述库:

9.根据前述任一项权利要求所述的方法,其中所述第一库标识符是所述第一HL引用库的哈希值。

10.根据前述任一项权利要求所述的方法,其中所述紧凑事务包括第一事务标识符,并且其中所述方法包括:

11.根据权利要求10所述的方法,所述方法包括:

12.根据权利要求11所述的方法,其中至少一个HL函数使用不同的HL函数,并且其中所述第一HL函数表包括所述不同的HL函数的所述相应函数标识符作为所述映射的一部分。

13.根据前述任一项权利要求所述的方法,其中所述第一CS包括第二HL引用库的第二库标识符,所述第二HL引用库包括第二HL函数集合,并且其中所述第一CS包括所述第二HL函数集合中的一个或多个HL函数的相应函数标识符。

14.根据从属于权利要求11或12的权利要求13所述的方法,所述方法包括:

15.根据权利要求11或其任何从属权利要求所述的方法,其中所述第一HL函数表包括将由所述相应HL函数使用的一个或多个第一HL变量的相应变量标识符作为相应HL函数的所述映射的一部分和至少一个IL函数,所述至少一个IL函数被配置为在脚本执行期间调用所述一个或多个第一HL变量。

16.根据权利要求15所述的方法,所述方法包括:

17.根据权利要求16所述的方法,其中所述第一HL变量包括可供整个所述第一紧凑脚本使用的相应全局变量的一个或多个变量标识符,和/或其中所述第一HL变量表包括仅可供所述第一HL引用库的所述第一HL函数使用的相应局部变量的一个或多个变量标识符。

18.根据权利要求16或17所述的方法,其中所述的将所述第一CS转换为所述第一ES包括:将相应第一HL变量的相应值写入所述第一HL变量表。

19.根据权利要求16或17所述的方法,其中所述第一HL变量表中的每个第一HL变量是在所述第一CS的处理期间不改变的常量值。

20.一种计算机实现的方法,用于处理紧凑事务,其中紧凑事务是包括紧凑脚本(CS)的区块链事务,所述紧凑脚本至少部分地以中级(IL)脚本语言编写、并且包括一个或多个IL函数,其中当被执行时,每个IL函数被配置为执行与由低级(LL)脚本语言的一个或多个LL函数执行的操作等效的操作,其中所述CS被配置为执行与以所述LL脚本语言编写的扩展脚本(ES)等效的操作,并且其中所述方法由被配置为核实紧凑事务的启用CS的节点执行,并且所述方法包括:

21.根据权利要求20所述的方法,其中所述紧凑事务包括第一事务标识符,并且其中所述的处理所述第一紧凑事务包括:

22.根据权利要求20或21所述的方法,其中所述第一CS是锁定脚本,并且其中所述的处理所述第一紧凑事务包括:与第二区块链事务的解锁脚本一起执行所述第一ES。

23.根据权利要求20或21所述的方法,其中所述第一CS是解锁脚本,并且其中所述的处理所述第一紧凑事务包括:与第三区块链事务的锁定脚本一起执行所述第一ES。

24.根据权利要求20至23中任一项所述的方法,其中所...

【技术特征摘要】
【国外来华专利技术】

1.一种计算机实现的方法,用于将紧凑事务传输到区块链网络的节点,其中紧凑事务是包括紧凑脚本(cs)的区块链事务,所述紧凑脚本至少部分地以中级(il)脚本语言编写、并且包括一个或多个il函数,其中当被执行时,每个il函数被配置为执行与由低级(ll)脚本语言的一个或多个ll函数执行的操作等效的操作,其中所述cs被配置为执行与以所述ll脚本语言编写的扩展脚本(es)等效的操作,并且其中所述方法由第一方执行并且包括:

2.根据权利要求1所述的方法,所述方法包括:创建所述第一hl引用库。

3.根据权利要求1或2所述的方法,所述方法包括:将所述第一hl引用库提供给所述至少一个启用cs的节点。

4.根据权利要求3所述的方法,其中所述的将所述第一hl引用库提供给所述至少一个启用cs的节点包括:将所述第一hl引用库发送到所述至少一个启用cs的节点。

5.根据权利要求3所述的方法,其中所述第一hl引用库存储在可公开访问源处,并且其中所述的将所述第一hl引用库提供给所述至少一个启用cs的节点包括:将对所述可公开访问源的引用发送到所述至少一个启用cs的节点。

6.根据权利要求5所述的方法,其中所述可公开访问源是存储在区块链上的库事务,并且其中所述第一库标识符是:a)所述库事务的事务标识符;或者b)包含所述库事务的区块的区块高度和所述库事务在所述区块中的位置。

7.根据权利要求6所述的方法,所述方法包括:

8.根据权利要求6所述的方法,所述方法包括:通过以下方式更新所述库:

9.根据前述任一项权利要求所述的方法,其中所述第一库标识符是所述第一hl引用库的哈希值。

10.根据前述任一项权利要求所述的方法,其中所述紧凑事务包括第一事务标识符,并且其中所述方法包括:

11.根据权利要求10所述的方法,所述方法包括:

12.根据权利要求11所述的方法,其中至少一个hl函数使用不同的hl函数,并且其中所述第一hl函数表包括所述不同的hl函数的所述相应函数标识符作为所述映射的一部分。

13.根据前述任一项权利要求所述的方法,其中所述第一cs包括第二hl引用库的第二库标识符,所述第二hl引用库包括第二hl函数集合,并且其中所述第一cs包括所述第二hl函数集合中的一个或多个hl函数的相应函数标识符。

14.根据从属于权利要求11或12的权利要求13所述的方法,所述方法包括:

15.根据权利要求11或其任何从属权利要求所述的方法,其中所述第一hl函数表包括将由所述相应hl函数使用的一个或多个第一hl变量的相应变量标识符作为相应hl函数的所述映射的一部分和至少一个il函数,所述至少一个il函数被配置为在脚本执行期间调用所述一个或多个第一hl变量。

16.根据权利要求15所述的方法,所述方法包括:

17.根据权利要求16所述的方法,其中所述第一hl变量包括可供整个所述第一紧凑脚本使用的相应全局变量的一个或多个变量标识符,和/或其中所述第一hl变量表包括仅可供所述第一hl引用库的所述第一hl函数使用的相应局部变量的一个或多个变量标识符。

18.根据权利要求16或17所述的方法,其中所述的将所述第一cs转换为所述第一es包括:将相应第一hl变量的相应值写入所述第一hl变量表。

19.根据权利要求16或17所述的方法,其中所述第一hl变量表中的每个第一hl变量是在所述第一cs的处理期间不改变的常量值。

20.一种计算机实现的方法,用于处理紧凑事务,其中紧凑事务是包括紧凑脚本(cs)的区块链事务,所述紧凑脚本至少部分地以中级(il)脚本语言编写、并且包括一个或多个il函数,其中当被执行时,每个il函数被配置为执行与由低级(ll)脚本语言的一个或多个ll函数...

【专利技术属性】
技术研发人员:史蒂文·帕特里克·考格兰张伟阿莱西奥·帕加尼巴席姆·阿玛尔
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1