System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于并发字节码解释的区块链实施的系统和方法技术方案_技高网

用于并发字节码解释的区块链实施的系统和方法技术方案

技术编号:41764224 阅读:10 留言:0更新日期:2024-06-21 21:43
提供了创建和/或验证花费区块链交易的计算机实施的方法,花费区块链交易包括表示从由至少一个先前区块链交易所表示的多个执行线程联接的执行线程的实例的锁定脚本。一旦被创建和/或验证,该花费区块链交易就能够在区块链网络上被传递以便存储在区块链分类帐中。区块链交易能够实施用于并发或异步执行线程的线程特定的锁定脚本和关联分叉、联接和屏障构造。交易能够被验证并存储在区块链分类帐中。区块链交易能够被用作智能合约的一部分。

【技术实现步骤摘要】

本专利技术一般涉及处理区块链交易的计算机实施的方法,并且更具体地说,涉及在区块链交易处理的结构内实施锁定脚本以支持并发和/或异步线程执行。本专利技术特别适合于但不限于用于在智能合约交易中进行处理和交易的方法和设备。


技术介绍

1、在本文档中,术语“区块链”指的是几种类型的电子的、基于计算机的、分布式的分类帐中的任一种。这些包括基于共识的区块链和交易链技术、经许可和未经许可的分类帐、共享分类帐及其变体。应注意的是,本专利技术不被限于与特定区块链一起使用;并且替换的区块链实施和协议落在本专利技术的范围内。

2、区块链是对等的电子分类帐,其被实施为由区块组成的基于计算机的、去中心化的分布式系统,区块又由交易(transaction)和其它信息组成。区块链系统或区块链网络包括多个区块链节点和操作集。区块链节点可能被配置成执行该操作集中的一些或全部操作。各种区块链节点可能被实施为由节点运营商操作的计算机硬件、计算机软件或两者的组合,其中节点运营商可以是独立的并且与其它节点运营商无关。区块链节点可能各自维护区块链分类帐的副本或其的一些部分。该操作集可能包括创建交易、传播交易、读取区块链分类帐、评估区块链分类帐、为到区块链分类帐的提议添加而生成(挖掘)新区块、与其它区块链节点进行通信,以及为用户提供钱包功能以管理区块链资产。

3、区块链分类帐是去中心化的,因为不存在决定何时修改分类帐的单个区块链节点或实体。相反,区块链节点通过区块链协议的规则的知识各自被编程,以便证实区块链分类帐和证实其它区块链节点所采取的动作与那些规则一致。术语“区块链”可以指区块链分类帐包括一系列链接的区块的事实,每个链接的区块可表示为计算机存储器中的数据结构,可由计算机进程读取并且可作为数据传输传送。区块包括一或多个交易,也可表示为计算机存储器中的数据结构,可由计算机进程读取并且可作为数据传输传送。这些区块被链接,其中正式添加到区块链的每个新区块包括对紧邻的前一区块的不可变引用,该紧邻的前一区块包括对其紧邻的前一区块的不可变引用,并以此类推。

4、区块链协议的规则之一将是一旦区块被添加到区块链,它就不能被更改,即,它是不可变的,并且区块链分类帐的唯一可能的修改是新区块的添加。由于区块链节点编程有其作为规则,因此,它们将不修改在它们的区块链分类帐的副本中的区块,而是仅添加区块,并且即使如此,仅在对所提议的区块运行证实进程之后添加区块以确保它符合区块链协议。由于区块一旦被添加到分类帐就是不可变的,因此,区块中的交易也是不可变的。

5、区块链网络的一些节点进行操作以创建交易。预期交易的创建能够涉及牵涉电子钱包节点、代理节点或区块链网络的某一其它节点的操作。当区块链节点创建交易时,它创建包括交易细节的数据对象,并且随后通常以对等方式将该数据对象发送到或广播到它能够通过区块链网络连接到的其它区块链节点。一些区块链节点操作并且收集一或多个交易,形成与区块对应的数据结构,执行一些计算以验证被放入区块中的交易,解答难题,将难题的解答放入数据结构中并尝试将区块传播到其它区块链节点。难题可能是处于对交易的数据和区块链分类帐的当前状态特定的非平凡计算的形式,诸如分类帐中区块的数量和来自最后添加的区块的数据。

6、通过使难题依赖于交易,流氓区块链节点不能传播提前形成的区块。要解决非平凡难题,流氓区块链节点不能简单地将区块注入到区块链网络中,而是要求区块链节点做一些重要的计算任务来证明它付出了努力(实际上,示出难题的解决方案是“工作证明”)。优选地,在区块链协议中,工作证明是不平凡的,但证实难题被解决并且工作被完成是容易的。这意味着其它区块链节点不必一定要信任正在提议添加新区块到分类帐的区块链节点。如果通过另一个区块链节点的证实,则该区块链节点将添加新区块到它的区块链分类帐的副本的末尾,并且将新区块传播到其它区块链节点。其他区块链节点执行相同的证实时,它们也将断定该区块是有效的并且将被添加到区块链分类帐,因此它们将添加它到它们的区块链分类帐的副本。如果某一区块链节点确定所提议的新区块是无效的,则它将不它添加它到它的区块链分类帐的副本并且将不传播它。因为区块链中的有效性是基于共识的,所以如果大多数节点同意交易是有效的,则交易被认为是有效的。

7、区块链系统通常这样操作,使得节点所有者和运营商不必信任其它节点所有者和运营商。相反,协议使得执行协议不允许的某些操作在计算上是不可行的,诸如修改较早的区块,在没有对应工作证明的情况下提议新区块,或包括无效交易。以其它节点将未注意到的方式执行区块链协议不允许的操作在计算上不可行时,不需要特定的信任。

8、为使交易被包括在被写入区块链的区块中,(1)挖掘区块链节点(或验证节点)将验证交易,(2)挖掘区块链节点将尝试传播包括该交易的区块,以及(3)其它节点将证实区块的有效性和该区块中交易的有效性。由于挖掘区块链节点将被编程或配置有所考虑的那些规则,因此,挖掘区块链节点将不可能将未通过证实的交易包括到区块中,因为此类区块将不被其它节点接受并且挖掘节点将得不到益处。另外,如下所解释的,交易能够包括交易费。

9、区块链网络中的交易包括各种数据元素,包括交易值和其它数据元素。在去中心化的分布式分类帐系统中,分类帐是公共的,因此任何人都能够查看分类帐和查看交易。在区块链分类帐中,存在创始交易,创始交易启动区块链和将某个单位的值归属于该创始交易。在本文中的示例中,出于解释的目的,值的单位是隐秘性,但采用其它数字资产的其它变化也是可能的。

10、不同于创始交易和奖励交易的交易涉及“花费”在区块链分类帐上一或多个现有交易的值,并且在此类交易被添加到区块链分类帐时,它又能够被花费。每个未花费的交易(unspent transaction)以公共方式指定所需的要求以便花费该交易的值。一个简单的要求可能是“您必须先证明您是alice,然后您可以花费它”。alice可能随后创建“花费”该交易的值的新交易,其中alice的新交易证明它来自alice并且具有指向该先前交易的指针。对于奖励交易,存在交易值,但奖励交易不“花费”先前交易。当然,要使alice的交易被区块链网络接受,它不能引用已经花费的交易,并且必须实际上证明alice创建了它。

11、根据区块链协议并且因此根据区块链节点的协定,如果交易指向已经被花费的先前交易输出,即分类帐包括用于其的指向该先前交易输出的有效现有交易输入,则该交易是无效的。为了防止任何闯入者创建新交易输入,该新交易输入“花费”由先前未花费的交易输出所表示的值,每个交易输出包括表示对将创建此类交易的任何提出要求者强加的要求的数据,并且由于未花费的交易输出是不可变的,因此,该数据不能被改变。当然,已花费的交易也是不可变的。

12、在上面的示例中,alice可能已创建花费交易(spending transaction),使得她独自具有解锁能力的先前交易中的值能够被转移到bob,即,使得现在将存在仅bob具有解锁能力并由此花费的新的未花费的交易。alice创建的花费交易可能包括与以本文档来自技高网...

【技术保护点】

1.一种计算机实施的方法,包括:

2.根据权利要求1所述的计算机实施的方法,还包括:

3.根据权利要求1或2所述的计算机实施的方法,其中,所述花费区块链交易是由所述区块链网络的节点创建的。

4.根据前述权利要求中任一项所述的计算机实施的方法,其中,所述花费区块链交易指向一个或多个先前区块链交易的多个锁定脚本,其中所述多个锁定脚本各自表示执行线程的实例。

5.根据权利要求4所述的计算机实施的方法,其中,所述花费区块链交易包括表示从由所述花费区块链交易所指向的执行线程实例联接的执行线程的锁定脚本。

6.根据权利要求4或5所述的计算机实施的方法,其中,表示从由所述花费区块链交易所指向的执行线程实例联接的所述执行线程的所述锁定脚本能够通过复制一个或多个先前区块链交易的多个锁定脚本的字节码序列来生成。

7.根据权利要求4或5所述的计算机实施的方法,其中,表示从由所述花费区块链交易所指向的执行线程实例联接的所述执行线程的所述锁定脚本能够通过复制一个或多个先前区块链交易的多个锁定脚本的字节码序列和解释器代码来生成。

8.根据前述权利要求中任一项所述的计算机实施的方法,还包括:

9.根据权利要求1至6中任一项所述的计算机实施的方法,还包括:

10.根据权利要求4至9中任一项所述的计算机实施的方法,其中,所述花费区块链交易是通过为从由所述花费区块链交易所指向的执行线程实例联接的所述执行线程生成执行状态信息、并将所述执行状态信息包括到所述花费区块链交易的所述锁定脚本中来创建的。

11.根据前述权利要求中任一项所述的计算机实施的方法,其中,由所述区块链网络的节点接收所述花费区块链交易。

12.根据权利要求11所述的计算机实施的方法,其中,所述节点验证所述花费区块链交易,所述验证是通过对照一个或多个条件来证实所述花费区块链交易的所述锁定脚本来进行的。

13.根据权利要求12所述的计算机实施的方法,其中,所述证实涉及将所述花费区块链交易的所述锁定脚本与所述一个或多个先前区块链交易的所述多个锁定脚本进行匹配,和/或涉及执行所述一个或多个先前区块链交易的所述多个锁定脚本以生成结果执行状态信息、并随后合并或组合此类结果执行状态信息。

14.一种系统,包括:

15.一种非暂时性计算机可读存储介质,在其上存储有可执行指令,所述可执行指令由于被计算机系统的处理器执行,促使所述计算机系统执行根据权利要求1至13中任一项所述的计算机实施的方法的至少一部分。

...

【技术特征摘要】

1.一种计算机实施的方法,包括:

2.根据权利要求1所述的计算机实施的方法,还包括:

3.根据权利要求1或2所述的计算机实施的方法,其中,所述花费区块链交易是由所述区块链网络的节点创建的。

4.根据前述权利要求中任一项所述的计算机实施的方法,其中,所述花费区块链交易指向一个或多个先前区块链交易的多个锁定脚本,其中所述多个锁定脚本各自表示执行线程的实例。

5.根据权利要求4所述的计算机实施的方法,其中,所述花费区块链交易包括表示从由所述花费区块链交易所指向的执行线程实例联接的执行线程的锁定脚本。

6.根据权利要求4或5所述的计算机实施的方法,其中,表示从由所述花费区块链交易所指向的执行线程实例联接的所述执行线程的所述锁定脚本能够通过复制一个或多个先前区块链交易的多个锁定脚本的字节码序列来生成。

7.根据权利要求4或5所述的计算机实施的方法,其中,表示从由所述花费区块链交易所指向的执行线程实例联接的所述执行线程的所述锁定脚本能够通过复制一个或多个先前区块链交易的多个锁定脚本的字节码序列和解释器代码来生成。

8.根据前述权利要求中任一项所述的计算机实施的方法,还包括:

9.根据权利要求1至6中任一项所述的...

【专利技术属性】
技术研发人员:莹·陈迪安·克莱默
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:

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

1