一种跨链事务请求处理方法、装置、设备以及存储介质与流程

文档序号:22436445发布日期:2020-10-02 10:28阅读:87来源:国知局
一种跨链事务请求处理方法、装置、设备以及存储介质与流程

本申请涉及计算机技术领域,尤其涉及区块链技术,具体涉及一种跨链事务请求处理方法、装置、设备以及存储介质。



背景技术:

随着区块链被纳入新基建的范畴,如火如荼的区块链改造运动更加活跃,正在形成一个个新的区块链网络。无论这些区块链网络是基于相同的底层系统还是不同的底层系统,其进行数据互通都很困难,因此,亟需一种能够解决不同区块链网络之间互通的方法。



技术实现要素:

本公开提供了一种跨链事务请求处理方法、装置、设备以及存储介质,以实现不同区块链网络之间数据互通。

根据本公开的一方面,提供了一种跨链事务请求处理方法,由请求方所归属区块链网络中节点执行,该方法包括:

获取请求方发起的包括访问地址的跨链访问请求;其中,所述访问地址基于公共访问协议,根据待访问的目标区块链网络信息生成;所述目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

根据所述访问地址中目标区块链网络类型和目标区块链网络名,从所归属区块链网络中查询目标区块链网络中可用跨链背书节点信息;

根据所述可用跨链背书节点信息,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求,用于请求所述目标跨链背书节点根据所述待访问数据的描述信息,反馈跨链访问结果;

向所述请求方发送所述跨链访问结果。

根据本公开的另一方面,提供了一种跨链事务请求处理方法,由请求方执行,该方法包括:

在具有数据跨链访问需求时,基于公共访问协议,根据待访问的目标区块链网络信息,生成访问地址;其中,所述目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

向所归属区块链网络发起包括访问地址的跨链访问请求,用于请求所归属区块链网络根据所述目标区块链网络信息,与所述目标区块链网络中目标跨链背书节点交互,获取跨链访问结果并反馈;

接收所归属区块链网络发送的跨链访问结果。

根据本公开的另一方面,提供了一种跨链事务请求处理方法,由目标区块链网络中跨链背书节点执行,该方法包括:

获取其他区块链网络发送的包括待访问数据的描述信息的跨链事务请求;所述跨链事务请求由其他区块链网络根据请求方发送的跨链访问请求中访问地址所发送的,其中,所述访问地址基于公共访问协议,根据待访问的目标区块链网络信息生成;所述目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

根据所述待访问数据的描述信息,获取跨链访问结果;

向所述其他区块链网络反馈所述跨链访问结果,由所述其他区块链网络向请求方发送所述跨链访问结果。

根据本公开的另一方面,提供了一种跨链事务请求处理装置,配置于请求方所归属区块链网络中节点中,该装置包括:

访问请求获取模块,用于获取请求方发起的包括访问地址的跨链访问请求;其中,所述访问地址基于公共访问协议,根据待访问的目标区块链网络信息生成;所述目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

信息查询模块,用于根据所述访问地址中目标区块链网络类型和目标区块链网络名,从所归属区块链网络中查询目标区块链网络中可用跨链背书节点信息;

事务请求发送模块,用于根据所述可用跨链背书节点信息,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求,用于请求所述目标跨链背书节点根据所述待访问数据的描述信息,反馈跨链访问结果;

访问结果发送模块,用于向所述请求方发送所述跨链访问结果。

根据本公开的另一方面,提供了一种跨链事务请求处理装置,配置于请求方所属设备中,该装置包括:

访问地址生成模块,用于在具有数据跨链访问需求时,基于公共访问协议,根据待访问的目标区块链网络信息,生成访问地址;其中,所述目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

访问请求发起模块,用于向所归属区块链网络发起包括访问地址的跨链访问请求,用于请求所归属区块链网络根据所述目标区块链网络信息,与所述目标区块链网络中目标跨链背书节点交互,获取跨链访问结果并反馈;

访问结果接收模块,用于接收所归属区块链网络发送的跨链访问结果。

根据本公开的另一方面,提供了一种跨链事务请求处理装置,配置于目标区块链网络中跨链背书节点中,该装置包括:

事务请求获取模块,用于获取其他区块链网络发送的包括待访问数据的描述信息的跨链事务请求;所述跨链事务请求由其他区块链网络根据请求方发送的跨链访问请求中访问地址所发送的,其中,所述访问地址基于公共访问协议,根据待访问的目标区块链网络信息生成;所述目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

访问结果获取模块,用于根据所述待访问数据的描述信息,获取跨链访问结果;

访问结果反馈模块,用于向所述其他区块链网络反馈所述跨链访问结果,由所述其他区块链网络向请求方发送所述跨链访问结果。

根据本公开的另一方面,提供了一种电子设备,该电子设备包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的跨链事务请求处理方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本申请任一实施例所述的跨链事务请求处理方法。

根据本申请的技术解决了目前不同区块链网络之间无法进行数据互通的问题,实现了不同区块链网络之间的数据互通,为多链间相互跨链提供了一种新思路。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是根据本申请实施例提供的一种跨链事务请求处理方法的流程图;

图2是根据本申请实施例提供的另一种跨链事务请求处理方法的流程图;

图3是根据本申请实施例提供的另一种跨链事务请求处理方法的流程图;

图4是根据本申请实施例提供的另一种跨链事务请求处理方法的流程图;

图5是根据本申请实施例提供的一种跨链事务请求处理流程示意图;

图6是根据本申请实施例提供的一种跨链事务请求处理装置的结构示意图;

图7是根据本申请实施例提供的另一种跨链事务请求处理装置的结构示意图;

图8是根据本申请实施例提供的另一种跨链事务请求处理装置的结构示意图;

图9是用来实现本申请实施例的跨链事务请求处理方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是根据本申请实施例提供的一种跨链事务请求处理方法的流程图。本申请实施例适用于如何实现多个区块链网络之间数据互通的情况。整个跨链事务请求处理方法可以由请求方、请求方所归属区块链网络中节点和目标区块链网络中跨链背书节点等配合执行。其中,所谓请求方所归属区块链网络是指请求方所属设备是该区块链网络中的节点设备;或者指请求方所属设备也可以不是该区块链网络中的节点设备,但是可以通过该区块链网络中某一区块链节点设备提供的接口与该区块链节点设备交互,参与到该区块链网络中。目标区块链网络可以为请求方想要借助请求方所归属区块链网络进行跨链访问的网络,可选的,目标区块链网络的底层架构可以与请求方所归属区块链网络的底层架构相同,也可以不同。目标区块链网络中跨链背书节点可以是目标区块链网络对外提供信任背书服务的全节点,专门处理来自其他区块链网络的跨链事务请求。

本实施例中跨链事务请求处理方法可以由请求方所归属区块链网络中节点执行。该方法可以由跨链事务请求处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载区块链节点的计算设备中。如图1所示,本实施例提供的跨链事务请求处理方法可以包括:

s101,获取请求方发起的包括访问地址的跨链访问请求。

本实施例中,访问地址是请求方基于公共访问协议,根据待访问的目标区块链网络信息生成的;其中,公共访问协议是预先设定的一种数据资源的请求访问协议,通过该协议,可实现请求方对不同链的数据资源进行统一描述,进而使得被请求方(即本机节点)能够准确定位被请求的数据资源。可选的,公共访问协议的格式可以表示为:[区块链网络类型:][//区块链网络名][数据的描述信息],或者还可以表示为:[区块链网络类型:][//区块链网络名][/子链/侧链/平行链][数据的描述信息]等。其中,区块链网络类型可用区块链网络的底层架构名来表示;数据的描述信息可通过待访问的目标区块链网络中事务请求的形式而定。

可选的,目标区块链网络信息中可以包括但不限于:目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;进一步的,在目标区块链网络包括一个或多个子链、侧链或平行链的情况下,目标区块链网络信息中还可以包括目标区块链网络中目标平行链名或目标区块链网络中目标子链名等。本实施例中,目标区块链网络类型可用目标区块链网络的底层架构名来表示;可选的,若目标区块链网络中事务请求是基于字段格式的交易事务请求,则待访问数据的描述信息可以包括但不限于目标字段名和目标事务数据标识等;若目标区块链网络中事务请求是基于智能合约的事务请求,则待访问数据的描述信息可以包括但不限于目标虚拟机名、目标合约名、目标方法名和目标方法中的参数等信息。

例如,目标区块链网络名为hello_chain,是通过使用名为framework-chain的底层架构所搭建的,该目标区块链网络中包括一条名为child_chain的子链。子链child_chain上部署有使用evm合约虚拟机才能执行的计数智能合约counter。此外,该计数智能合约提供了一个名为getnumber的方法,通过调用getnumber方法,会返回当前的数值。若请求方所归属区块链网络名为world_chain,请求方想通过world_chain访问hello_chain网络上的子链child_chain上名为counter的计数器智能合约,并获取当前的数值,则请求方可以基于公共访问协议,根据目标区块链网络类型(framework-chain)、目标区块链网络名(hello_chain)、目标区块链网络中目标子链名(child_chain)和待访问数据的描述信息(包括evm、counter和getnumber),生成的访问地址可以表示为:framework-chain://hello_chain/child_chainmodule=evm&contract_name=counter&method_name=getnumber。

可选的,若请求方所属设备是本地区块链网络(即请求方所归属区块链网络)中的节点设备,进而请求方在具有数据跨链访问需求时,可以基于公共访问协议,根据待访问的目标区块链网络信息生成访问地址;之后请求方可通过其所属设备向该本地区块链网络发起包括访问地址的跨链访问请求;进而本机节点可以从该本地区块链网络中获取请求方发起的包括访问地址的跨链访问请求。

若请求方所属设备不是本地区块链网络中的节点设备,进而请求方在具有数据跨链访问需求时,可以基于公共访问协议,根据待访问的目标区块链网络信息生成访问地址;之后请求方可通过其所属设备将访问地址通过接口传输给该本地区块链网络中的某一区块链节点,以请求该区块链节点发起包括访问地址的跨链访问请求,进而本机节点可以从该本地区块链网络中获取请求方发起的包括访问地址的跨链访问请求。

s102,根据访问地址中目标区块链网络类型和目标区块链网络名,从所归属区块链网络中查询目标区块链网络中可用跨链背书节点信息。

本实施例中,本地区块链网络中可存储遵循公共访问协议的一个或多个其他区块链网络中可用跨链背书节点信息,并可根据实际情况动态更新。可选的,对于每一其他区块链网络,可以以该其他区块链网络类型和该其他区块链网络名为索引词,以该其他区块链网络中可用跨链背书节点信息为索引内容进行存储。其中,每一其他区块链网络中可用跨链背书节点数量可以为多个,且对于所存储的每一其他区块链网络中可用跨链背书节点信息可以包括但不限于节点标识、节点的资源状况(即节点的事务处理能力)、节点的可信度(可以由节点的权威性以及事务处理信誉等共同决定)以及节点的稳定性等。

进而,本机节点在获取包括访问地址的跨链访问请求之后,可以对访问地址进行解析,从访问地址中获取目标区块链网络信息;之后可以以目标区块链网络信息中目标区块链网络类型和目标区块链网络名为索引词,从本地区块链网络中查询,以获取目标区块链网络中可用跨链背书节点信息。本实施例中,目标区块链网络可以是本地区块链网络所存储的其他区块链网络中的一个或多个。

进一步的,为了确保目标区块链网络中数据的安全,本机节点在获取跨链访问请求之后,还可以对请求者的身份进行合法性验证,并在验证合法的情况下执行后续操作(即s102至s104)。

s103,根据可用跨链背书节点信息,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求,用于请求目标跨链背书节点根据待访问数据的描述信息,反馈跨链访问结果。

本实施例中,跨链事务请求是本机节点向目标区块链网络中目标跨链背书节点所发送的一种事务请求,用于请求目标跨链背书节点根据待访问数据的描述信息,从目标区块链网络中获取跨链访问结果并反馈。进一步的,为了保证跨链访问结果的正确性,可以请求目标跨链背书节点根据待访问数据的描述信息,获取跨链访问结果之后,对跨链访问结果的正确性进行签名背书后反馈。

跨链访问结果可以包括根据待访问数据的描述信息所获取的数据(例如,通过执行目标智能合约下的目标方法所得到的执行结果),还可以包括目标跨链背书节点的签名背书等。

可选的,本机节点在获取目标区块链网络中可用跨链背书节点信息之后,可以根据可用跨链背书节点信息,从可用跨链背书节点中选择一个或多个节点,作为目标跨链背书节点;之后,本机节点可以基于区块链部署协议产生包括待访问数据的描述信息的跨链事务请求,并向目标跨链背书节点发送该跨链事务请求,以请求目标跨链背书节点根据待访问数据的描述信息,获取跨链访问结果并反馈。进一步的,为了保证跨链访问结果的正确性,目标跨链背书节点根据待访问数据的描述信息,获取跨链访问结果之后,可以对跨链访问结果的正确性进行签名背书后反馈。其中,基于区块链部署协议产生跨链事务请求时,可以是将待访问数据的描述信息添加到交易的相关字段中,从而产生包括待访问数据的描述信息的跨链事务请求;还可以是调用跨链智能合约,将待访问数据的描述信息作为输入数据,运行该跨链智能合约,进而产生包括待访问数据的描述信息的跨链事务请求。

可选的,若目标区块链网络中事务请求是基于字段格式的交易事务请求,则待访问数据的描述信息可以包括但不限于目标字段名和目标事务数据标识等,用于请求目标跨链背书节点根据目标字段名或目标事务数据标识,从目标区块链网络中获取跨链访问结果,并可以为跨链访问结果的正确性进行签名背书后反馈。

若目标区块链网络中事务请求是基于智能合约的事务请求,则待访问数据的描述信息可以包括但不限于目标合约名、目标方法名和目标方法中的参数等信息,用于请求目标跨链背书节点调用本地虚拟机,执行目标智能合约中的目标方法,获取跨链访问结果,并可以为跨链访问结果的正确性进行签名背书后反馈。

需要说明的是,本实施例中,请求方不仅可跨链直接访问数据,还可以通过跨链访问目标合约和目标方法等间接访问数据,增加了方案的灵活度,进一步满足了不同区块链网络之间数据互通的需求。

进一步的,本机节点可以向目标跨链背书节点支付一定的激励元素,其中激励元素可以是能够在目标区块链网络中流通的积分或数字狗等。示例性的,根据可用跨链背书节点信息,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求之前还可以包括:确定转账事务请求,并将转账事务请求添加到跨链事务请求中。其中,转账事务请求即为包括激励元素以及转账双方账户地址的转账事务请求。

具体的,本机节点在获取目标区块链网络中可用跨链背书节点信息后,可以确定待访问数据的描述信息的激励元素,且根据激励元素确定转账事务请求,并将转账事务请求添加至跨链事务请求中,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求;进而目标跨链背书节点在根据待访问数据的描述信息获取跨链访问结果时,可以通过执行转账事务请求,获得激励元素。

本实施例,通过为跨链背书节点支付一定的激励元素,可激励跨链背书节点积极处理跨链事务请求,且保证跨链访问结果的正确性,进而形成良性循环,使不同区块链网络之间的数据互通更加融洽。

s104,向请求方发送跨链访问结果。

具体的,本机节点在获取跨链访问结果之后,可以将跨链访问结果反馈给请求方。

需要说明的是,通过本实施例,请求方能够借助本地区块链网络跨链访问目标区块链网络,以获取跨链访问结果。进一步的,若请求方需要同时使用两个或两个以上区块链网络中的数据进行计算,且这些区块链网络均遵循公共访问协议,则请求方可以根据实际数据计算需求,获取多个目标区块链网络信息;进而基于公共访问协议,根据每一目标区块链网络信息,生成该目标区块链网络对应的访问地址;之后,可向本地区块链网络发起包括多个访问地址的跨链访问请求。本机节点获取请求方发起的包括多个访问地址的跨链访问请求之后,可并行或按一定顺序对每一访问地址进行处理(即执行s120和s130),并将跨链访问结果反馈给请求方,以便请求方进行某种功能计算。

可以理解的是,在目标区块链网络的数量为至少两个的情况下,请求方通过本实施例方案可实现同时访问多个区块链网络的需求,进而可满足采用不同区块链网络数据进行某种功能计算的需求。

本申请实施例的技术方案,通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述,为实现不同区块链网络之间数据互通奠定基础;同时引入目标区块链网络中跨链背书节点,请求方所归属区块链网络中节点通过与目标区块链网络中跨链背书节点交互,进而实现不同区块链网络之间的数据互通,解决了目前不同区块链网络之间无法进行数据互通的问题,为多链间相互跨链提供了一种新思路。

图2是根据本申请实施例提供的另一种跨链事务请求处理方法的流程图。本实施例在上述实施例的基础上,增加了背书策略相关操作。如图2所示,本实施例提供的跨链事务请求处理方法可以包括:

s201,获取请求方发起的包括访问地址的跨链访问请求。

s202,调用跨链智能合约,对访问地址进行解析,获取待访问的目标区块链网络信息。

本实施例中,跨链智能合约部署于本地区块链网络中,可用于解析访问地址,查询目标区块链网络中可用跨链背书节点信息,发起跨链事务请求等多种功能。

具体的,本机节点在获取请求方发起的包括访问地址的跨链访问请求之后,可以调用跨链智能合约,对访问地址进行解析,进而获取待访问的目标区块链网络信息。

需要说明的是,本实施例中,通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述;结合跨链智能合约,便可以实现对所有遵循公共访问协议的区块链网络的统一资源寻址。

s203,根据目标区块链网络信息中目标区块链网络类型和目标区块链网络名,从所归属区块链网络中查询目标区块链网络中可用跨链背书节点信息和背书策略。

本实施例中,背书策略可以是本地区块链网络规定的用于确认跨链访问成功与否的一种策略,也可以用于间接保护目标区块链网络中数据安全,可根据实际场景动态调整。可选的,背书策略中可以规定请求跨链背书节点数量和跨链访问成功的条件。例如,跨链访问成功的条件可以是如果所请求跨链背书节点中有预设数值个节点的跨链访问结果一致(或者说所请求跨链背书节点中有预设数值个节点进行了签名背书),还可以是跨链访问结果中包括指定跨链背书节点的签名背书等。

可选的,本实施例中,存储于本地区块链网络中的目标区块链网络中的可用跨链背书节点信息和背书策略等是通过调用跨链智能合约进行存储的。进而在通过s202获取目标区块链网络信息之后,可以调用跨链智能合约,将目标区块链网络信息中目标区块链网络类型和目标区块链网络名等作为输入数据,运行该跨链智能合约,进而可查询到存储于本地区块链网络中的目标区块链网络中可用跨链背书节点信息和背书策略。

进一步的,本机节点还可以通过调用跨链智能合约,更新目标区块链网络中可用跨链背书节点信息和背书策略。

s204,根据可用跨链背书节点信息和背书策略,从可用跨链背书节点中选择目标跨链背书节点。

具体的,根据可用跨链背书节点信息,从可用跨链背书节点中选择背书策略中规定请求跨链背书节点数量的节点作为目标跨链背书节点,或者从可用跨链背书节点中选择背书策略中指定的跨链背书节点作为目标跨链背书节点等。

s205,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求,用于请求目标跨链背书节点根据待访问数据的描述信息,获取跨链访问结果,并对跨链访问结果进行签名背书后反馈。

具体的,本机节点可以调用跨链智能合约产生包括待访问数据的描述信息的跨链事务请求,并向目标跨链背书节点发送该跨链事务请求,以请求目标跨链背书节点根据待访问数据的描述信息,获取跨链访问结果,并对跨链访问结果进行签名背书后反馈。

s206,如果从跨链访问结果中识别到满足背书策略,则向请求方发送跨链访问结果。

为了确保目标区块链网络中数据的安全,向请求方发送跨链访问结果之前可先确定跨链访问结果是否满足背书策略。

可选的,若目标跨链背书节点的数量为一个,则从跨链访问结果中识别到满足背书策略可以是,从跨链访问结果中识别到该目标跨链背书节点的签名背书,则确定满足背书策略。

若目标跨链背书节点的数量为多个,则从跨链访问结果中识别到满足背书策略可以是,根据跨链访问结果中签名背书账户的数量或比例,确定是否满足背书策略。其中,签名背书账户为对跨链访问结果进行签名背书的目标跨链背书节点账户。

在目标跨链背书节点的数量为多个的情况下,本机节点可以从跨链访问结果中获取签名背书账户,并统计签名背书账户的数量或比例;若统计得到的签名背书账户的数量或比例,达到预先的数量阈值或比例阈值,则确定满足背书策略,进而触发向请求方发送跨链访问结果的操作。需要说明的是,本实施例通过设定背书策略,可以进一步保证发送至请求方的数据安全可靠。

本申请实施例的技术方案,通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述;结合跨链智能合约,便可以实现对所有遵循公共访问协议的区块链网络的统一资源寻址;同时引入目标区块链网络中跨链背书节点,请求方所归属区块链网络中节点通过与目标区块链网络中跨链背书节点交互,进而实现不同区块链网络之间的数据互通,解决了目前不同区块链网络之间无法进行数据互通的问题,为多链间相互跨链提供了一种新思路。此外,通过设定背书策略,且只有从跨链背书结果中识别到满足背书策略的情况下,才触发执行向请求方发送跨链访问结果的操作,进一步保证了发送至请求方的数据安全可控。

图3是根据本申请实施例提供的一种跨链事务请求处理方法的流程图。本申请实施例适用于如何实现多个区块链网络之间数据互通的情况。整个跨链事务请求处理方法可以由请求方、请求方所归属区块链网络中节点和目标区块链网络中跨链背书节点等配合执行。该方法可以由跨链事务请求处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载请求方所属设备中。如图3所示,本实施例提供的跨链事务请求处理方法可以包括:

s301,在具有数据跨链访问需求时,基于公共访问协议,根据待访问的目标区块链网络信息,生成访问地址。

可选的,目标区块链网络信息中可以包括但不限于:目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;进一步的,在目标区块链网络包括一个或多个子链、侧链或平行链的情况下,目标区块链网络信息中还可以包括目标区块链网络中目标平行链名或目标区块链网络中目标子链名等。本实施例中,目标区块链网络类型可用目标区块链网络的底层架构名来表示;可选的,若目标区块链网络中事务请求是基于字段格式的交易事务请求,则待访问数据的描述信息可以包括但不限于目标字段名和目标事务数据标识等;若目标区块链网络中事务请求是基于智能合约的事务请求,则待访问数据的描述信息可以包括但不限于目标虚拟机名、目标合约名、目标方法名和目标方法中的参数等信息。

s302,向所归属区块链网络发起包括访问地址的跨链访问请求。

可选的,若请求方所属设备是请求方所归属区块链网络中的节点设备,进而请求方在具有数据跨链访问需求时,可以基于公共访问协议,根据待访问的目标区块链网络信息生成访问地址;之后请求方可通过其所属设备向请求方所归属区块链网络发起包括访问地址的跨链访问请求。

若请求方所属设备不是请求方所归属区块链网络中的节点设备,进而请求方在具有数据跨链访问需求时,可以基于公共访问协议,根据待访问的目标区块链网络信息生成访问地址;之后请求方可通过其所属设备将访问地址通过接口传输给请求方所归属区块链网络中的某一区块链节点,以请求该区块链节点发起包括访问地址的跨链访问请求。

请求方所归属区块链网络中节点获取请求方发起的跨链访问请求,并根据访问地址中目标区块链网络类型和目标区块链网络名,从所归属区块链网络中查询目标区块链网络中可用跨链背书节点信息和背书策略;根据可用跨链背书节点信息和背书策略,从可用跨链背书节点中选择目标跨链背书节点;之后,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求,用于请求目标跨链背书节点根据待访问数据的描述信息,获取跨链访问结果,并对跨链访问结果进行签名背书后反馈。而后向请求方发送跨链访问结果。

进而,请求方可以接收所归属区块链网络发送的跨链访问结果,即执行s303。

进一步的,若目标区块链网络中事务请求是基于智能合约的事务请求,则待访问数据的描述信息可以包括但不限于目标合约名、目标方法名和目标方法中的参数等信息,用于请求目标区块链网络中目标跨链背书节点调用本地虚拟机,执行目标智能合约中的目标方法,获取跨链访问结果,并可以为跨链访问结果的正确性进行签名背书后反馈。

需要说明的是,本实施例中,请求方可以通过跨链访问目标合约和目标方法等间接访问数据,增加了方案的灵活度,进一步满足了不同区块链网络之间数据互通的需求。

s303,接收所归属区块链网络发送的跨链访问结果。

本申请实施例的技术方案,请求方在具有数据跨链访问需求时,可以基于公共访问协议,根据目标区块链网络信息生成访问地址,并向所归属区块链网络发起包括访问地址的跨链访问请求;请求所归属区块链网络根据访问地址中目标区块链网络信息,与目标区块链网络中目标跨链背书节点交互,获取跨链访问结果并反馈,进而请求方可获取跨链访问结果。本实施例通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述,为实现不同区块链网络之间数据互通奠定基础;同时引入目标区块链网络中跨链背书节点,请求方所归属区块链网络中节点通过与目标区块链网络中跨链背书节点交互,进而实现不同区块链网络之间的数据互通。

图4是根据本申请实施例提供的一种跨链事务请求处理方法的流程图。本申请实施例适用于如何实现多个区块链网络之间数据互通的情况。整个跨链事务请求处理方法可以由请求方、请求方所归属区块链网络中节点和目标区块链网络中跨链背书节点等配合执行。该方法可以由跨链事务请求处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载目标区块链网络中节点(进一步为目标跨链背书节点)的计算设备中。如图4所示,本实施例提供的跨链事务请求处理方法可以包括:

s401,获取其他区块链网络发送的包括待访问数据的描述信息的跨链事务请求。

本实施例中,跨链事务请求是其他区块链网络中节点向目标区块链网络中目标跨链背书节点所发送的一种事务请求,具体由其他区块链网络根据请求方发送的跨链访问请求中访问地址所发送的,其中,访问地址基于公共访问协议,根据待访问的目标区块链网络信息生成;目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息。跨链事务请求用于请求目标跨链背书节点根据待访问数据的描述信息,从目标区块链网络中获取跨链访问结果并反馈。

s402,根据待访问数据的描述信息,获取跨链访问结果。

可选的,若目标区块链网络中事务请求是基于智能合约的事务请求,则待访问数据的描述信息可以包括但不限于目标合约名、目标方法名和目标方法中的参数等信息。进而根据待访问数据的描述信息,获取跨链访问结果可以是:根据待访问数据的描述信息中目标合约名和目标方法名,调用本地虚拟机,执行目标智能合约中的目标方法,获取跨链访问结果。

需要说明的是,本实施例中,可以通过访问目标合约和目标方法等间接访问数据,增加了方案的灵活度,进一步满足了不同区块链网络之间数据互通的需求。

s403,向其他区块链网络反馈跨链访问结果,由其他区块链网络向请求方发送跨链访问结果。

可选的,向其他区块链网络反馈跨链访问结果可以是:对跨链访问结果进行签名背书;向其他区块链网络反馈包括签名背书的跨链访问结果。本实施例对跨链访问结果进行签名背书,可保证跨链访问结果的正确性。

本申请实施例的技术方案,通过引入目标区块链网络中跨链背书节点,与其他区块链网络中节点交互,为实现不同区块链网络之间的数据互通奠定了基础。

图5是根据本申请实施例提供的一种跨链事务请求处理流程示意图。本实施例在上述实施例的基础山,提供了一种优选实例。以请求方所归属区块链网络为a链,请求方想要跨链访问的目标区块链网络为b链为例进行说明。如图5所示,本实施例的跨链事务请求处理流程具体如下:

请求方在具有数据跨链访问需求时,可根据b链类型、b链名、b链中平行链名、合约名和方法名等生成访问地址,并向a链发起包括访问地址的跨链访问请求。

a链中的节点获取请求方发起的跨链访问请求;之后调用跨链智能合约,对访问地址进行解析,获取b链信息(即b链类型、b链名、b链中平行链名、合约名和方法名等);并调用跨链智能合约,将b链类型和b链名(进一步可以为b链类型、b链名和b链中平行链名)作为输入数据,运行该跨链智能合约,以从a链中查询b链中可用跨链背书节点信息和背书策略。

a链中的节点还可以根据b链中可用跨链背书节点信息和背书策略,从b链中可用跨链背书节点中选择一个或多个节点,作为目标跨链背书节点;之后,可调用跨链智能合约,向目标跨链背书节点发起包括合约名和方法名的跨链事务请求。

b链中目标跨链背书节点获取a链中节点发送的跨链事务请求,根据跨链事务请求中的合约名和方法名,调用本地虚拟机,执行目标智能合约下目标方法,以获取跨链访问结果,并对跨链访问结果的正确性进行签名背书后反馈给a链。

a链获取b链中目标跨链背书节点反馈的跨链访问结果,并在从跨链访问结果中识别到满足背书策略的情况下,向请求方发送跨链访问结果。

进而,请求方可获取跨链访问结果。

本申请实施例的技术方案,通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述;结合跨链智能合约,便可以实现对所有遵循公共访问协议的区块链网络的统一资源寻址;同时引入目标区块链网络中跨链背书节点,请求方所归属区块链网络中节点通过与目标区块链网络中跨链背书节点交互,进而实现不同区块链网络之间的数据互通,解决了目前不同区块链网络之间无法进行数据互通的问题,为多链间相互跨链提供了一种新思路。此外,通过设定背书策略,且只有从跨链背书结果中识别到满足背书策略的情况下,才触发执行向请求方发送跨链访问结果的操作,进一步保证了发送至请求方的数据安全可控。

图6是根据本申请实施例提供的一种跨链事务请求处理装置的结构示意图。该装置可实现本申请实施例所述的跨链事务请求处理方法。该装置可集成于配置于请求方所归属区块链网络中节点设备中。该跨链事务请求处理装置600具体包括:

访问请求获取模块601,用于获取请求方发起的包括访问地址的跨链访问请求;其中,访问地址基于公共访问协议,根据待访问的目标区块链网络信息生成;目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

信息查询模块602,用于根据访问地址中目标区块链网络类型和目标区块链网络名,从所归属区块链网络中查询目标区块链网络中可用跨链背书节点信息;

事务请求发送模块603,用于根据可用跨链背书节点信息,向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求,用于请求目标跨链背书节点根据待访问数据的描述信息,反馈跨链访问结果;

访问结果发送模块604,用于向请求方发送跨链访问结果。

本申请实施例的技术方案,通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述,为实现不同区块链网络之间数据互通奠定基础;同时引入目标区块链网络中跨链背书节点,请求方所归属区块链网络中节点通过与目标区块链网络中跨链背书节点交互,进而实现不同区块链网络之间的数据互通,解决了目前不同区块链网络之间无法进行数据互通的问题,为多链间相互跨链提供了一种新思路。

示例性的,本实施例中待访问数据的描述信息包括目标合约名和目标方法名,用于请求目标跨链背书节点调用本地虚拟机,执行目标智能合约中的目标方法,获取跨链访问结果。

示例性的,信息查询模块602具体用于:

调用跨链智能合约,对访问地址进行解析,获取待访问的目标区块链网络信息;

根据目标区块链网络信息中目标区块链网络类型和目标区块链网络名,从所归属区块链网络中查询目标区块链网络中可用跨链背书节点信息和背书策略。

示例性的,事务请求发送模块603具体用于:

根据可用跨链背书节点信息和背书策略,从可用跨链背书节点中选择目标跨链背书节点;

向目标跨链背书节点发送包括待访问数据的描述信息的跨链事务请求,用于请求目标跨链背书节点根据待访问数据的描述信息,获取跨链访问结果,并对跨链访问结果进行签名背书后反馈。

示例性的,访问结果发送模块604具体用于:

如果从跨链访问结果中识别到满足背书策略,则向请求方发送跨链访问结果。

示例性的,上述装置还可以包括:

识别模块,用于根据跨链访问结果中签名背书账户的数量或比例,确定是否满足背书策略;其中,签名背书账户为对跨链访问结果进行签名背书的目标跨链背书节点账户。

示例性的,上述装置还可以包括:

转账事务处理模块,用于确定转账事务请求,并将转账事务请求添加至跨链事务请求中。

示例性的,本实施例中目标区块链网络的数量为至少两个。

图7是根据本申请实施例提供的一种跨链事务请求处理装置的结构示意图。该装置可实现本申请实施例所述的跨链事务请求处理方法。该装置可集成于配置于请求方所设备中。该跨链事务请求处理装置700具体包括:

访问地址生成模块701,用于在具有数据跨链访问需求时,基于公共访问协议,根据待访问的目标区块链网络信息,生成访问地址;其中,目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

访问请求发起模块702,用于向所归属区块链网络发起包括访问地址的跨链访问请求,用于请求所归属区块链网络根据目标区块链网络信息,与目标区块链网络中目标跨链背书节点交互,获取跨链访问结果并反馈;

访问结果接收模块703,用于接收所归属区块链网络发送的跨链访问结果。

本申请实施例的技术方案,请求方在具有数据跨链访问需求时,可以基于公共访问协议,根据目标区块链网络信息生成访问地址,并向所归属区块链网络发起包括访问地址的跨链访问请求;请求所归属区块链网络根据访问地址中目标区块链网络信息,与目标区块链网络中目标跨链背书节点交互,获取跨链访问结果并反馈,进而请求方可获取跨链访问结果。本实施例通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述,为实现不同区块链网络之间数据互通奠定基础;同时引入目标区块链网络中跨链背书节点,请求方所归属区块链网络中节点通过与目标区块链网络中跨链背书节点交互,进而实现不同区块链网络之间的数据互通。

示例性的,本实施例中,待访问数据的描述信息包括目标合约名和目标方法名,用于请求目标区块链网络中目标跨链背书节点调用本地虚拟机,执行目标智能合约中的目标方法,获取跨链访问结果。

图8是根据本申请实施例提供的一种跨链事务请求处理装置的结构示意图。该装置可实现本申请实施例所述的跨链事务请求处理方法。该装置可集成于配置于目标区块链网络中跨链背书节点设备中。该跨链事务请求处理装置800具体包括:

事务请求获取模块801,用于获取其他区块链网络发送的包括待访问数据的描述信息的跨链事务请求;跨链事务请求由其他区块链网络根据请求方发送的跨链访问请求中访问地址所发送的,其中,访问地址基于公共访问协议,根据待访问的目标区块链网络信息生成;目标区块链网络信息中包括目标区块链网络类型、目标区块链网络名和待访问数据的描述信息;

访问结果获取模块802,用于根据待访问数据的描述信息,获取跨链访问结果;

访问结果反馈模块803,用于向其他区块链网络反馈跨链访问结果,由其他区块链网络向请求方发送跨链访问结果。

本申请实施例的技术方案,通过引入目标区块链网络中跨链背书节点,与其他区块链网络中节点交互,为实现不同区块链网络之间的数据互通奠定基础。

示例性的,访问结果获取模块802具体用于:

根据待访问数据的描述信息中目标合约名和目标方法名,调用本地虚拟机,执行目标智能合约中的目标方法,获取跨链访问结果。

示例性的,访问结果反馈模块803具体用于:

对跨链访问结果进行签名背书;

向其他区块链网络反馈包括签名背书的跨链访问结果。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图9所示,是根据本申请实施例的跨链事务请求处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。

存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的跨链事务请求处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的跨链事务请求处理方法。

存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的跨链事务请求处理方法对应的程序指令/模块(例如,附图6所示的访问请求获取模块601、信息查询模块602、事务请求发送模块603和访问结果发送模块604;或者,附图7所示的访问地址生成模块701、访问请求发起模块702和访问结果接收模块703;或者,附图8所示的事务请求获取模块801、访问结果获取模块802和访问结果反馈模块803)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的跨链事务请求处理方法。

存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据跨链事务请求处理方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至跨链事务请求处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、区块链网络、移动通信网及其组合。

跨链事务请求处理方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。

输入装置903可接收输入的数字或字符信息,以及产生与跨链事务请求处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。

根据本申请实施例的技术方案,通过引入公共访问协议,可实现请求方对不同链的数据资源进行统一描述,为实现不同区块链网络之间数据互通奠定基础;同时引入目标区块链网络中跨链背书节点,请求方所归属区块链网络中节点通过与目标区块链网络中跨链背书节点交互,进而实现不同区块链网络之间的数据互通,解决了目前不同区块链网络之间无法进行数据互通的问题,为多链间相互跨链提供了一种新思路。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1