掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的跨链处理方法、装置及设备、介质、产品

文献发布时间:2024-04-18 20:01:30


基于区块链的跨链处理方法、装置及设备、介质、产品

技术领域

本申请涉及计算机技术领域,尤其涉及区块链技术领域,具体涉及基于区块链的跨链处理方法、一种基于区块链的跨链处理装置、一种计算机设备、一种计算机可读存储介质以及一种计算机程序产品。

背景技术

随着区块链技术的快速发展,不同区块链之间打通实现业务与价值的链间流转的需求日益增长,区块链对跨链技术的诉求日益突出,跨链技术也得以飞速发展。跨链技术通过所跨越的底层区块链平台不同可以分为同构跨链和异构跨链,同构跨链由于底层平台和协议都相同,使得跨链之间的交互相对简单,异构跨链由于底层平台的共识机制、网络拓扑存在较大差异,使得异构链的跨链交互相对复杂。跨链资源交换属于跨链技术的一个重要分支,使得不同的区块链之间可以进行虚拟资源交换,目前,跨链资源交换过程中的安全性问题备受关注。

发明内容

本申请实施例提供了基于区块链的跨链处理方法、装置及设备、介质、产品,可以提升跨链资源交换过程的安全性。

一方面,本申请实施例提供了基于区块链的跨链处理方法,第一区块链中存储有第一对象的第一虚拟资源,第二区块链中存储有第二对象的第二虚拟资源,第一对象与第二区块链中的第一账户相关联,第二对象与第一区块链中的第二账户相关联;第一区块链包含于第一节点设备,第二区块链包含于第二节点设备;该跨链处理方法由第一节点设备执行,该跨链处理方法包括:

对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间;

向第二节点设备发送资源锁定通知消息,资源锁定通知消息用于指示第二节点设备对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;

当接收到第二节点设备返回的资源锁定确认消息时,向第二节点设备提交第一解锁信息,使第二节点设备采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后由第二节点设备将第二虚拟资源转移至第二区块链中的第一账户;

接收第二节点设备提交的第二解锁信息,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后,将第一虚拟资源转移至第一区块链中的第二账户。

另一方面,本申请实施例提供了基于区块链的跨链处理方法,第一区块链中存储有第一对象的第一虚拟资源,第二区块链中存储有第二对象的第二虚拟资源,第一对象与第二区块链中的第一账户相关联,第二对象与第一区块链中的第二账户相关联;第一区块链包含于第一节点设备,第二区块链包含于第二节点设备;该跨链处理方法由第二节点设备执行,该跨链处理方法包括:

接收第一节点设备发送的资源锁定通知消息,对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;资源锁定通知消息是第一节点设备对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间后发送的;

向第一节点设备发送资源锁定确认消息;

接收第一节点设备提交的第一解锁信息,采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后,将第二虚拟资源转移至第二区块链中的第一账户;第一解锁信息是第一节点设备接收到资源锁定确认消息后发送的;

向第一节点设备提交第二解锁信息,使第一节点设备采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后由第一节点设备将第二虚拟资源转移至第一区块链中的第二账户。

相应地,本申请实施例提供了一种基于区块链的跨链处理装置,第一区块链中存储有第一对象的第一虚拟资源,第二区块链中存储有第二对象的第二虚拟资源,第一对象与第二区块链中的第一账户相关联,第二对象与第一区块链中的第二账户相关联;第一区块链包含于第一节点设备进行,第二区块链包含于第二节点设备;该跨链处理装置设置于第一节点设备中,该跨链处理装置包括:

处理单元,用于对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间;

通信单元,用于向第二节点设备发送资源锁定通知消息,资源锁定通知消息用于指示第二节点设备对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;

通信单元,还用于当接收到第二节点设备返回的资源锁定确认消息时,向第二节点设备提交第一解锁信息,使第二节点设备采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后由第二节点设备将第二虚拟资源转移至第二区块链中的第一账户;

处理单元,用于接收第二节点设备提交的第二解锁信息,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后,将第一虚拟资源转移至第一区块链中的第二账户。

在一种实现方式中,第一区块链中包含第一资源锁定合约;处理单元,用于对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间时,具体用于执行如下步骤:

生成随机信息,并确定随机信息对应的随机哈希;

调用第一区块链中的第一资源锁定合约基于随机哈希,对第一虚拟资源进行锁定;

调用第一资源锁定合约设置第一虚拟资源的第一锁定时间。

在一种实现方式中,第一虚拟资源是基于随机信息对应的随机哈希进行锁定的;通信单元,还用于执行如下步骤:

将随机哈希发送至第二节点设备,使第二节点设备基于随机哈希对第二区块链中的第二虚拟资源进行锁定。

在一种实现方式中,第二区块链中包含第二资源锁定合约,第二资源锁定合约用于对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;通信单元,用于向第二节点设备提交第一解锁信息时,具体用于执行如下步骤:

调用第二区块链中的第二资源锁定合约;

将第一解锁信息发送至所述第二资源锁定合约。

在一种实现方式中,第一节点设备通过检测工具检测第二区块链中的消息;资源锁定确认消息被所述第二节点设备上传至所述第二区块链中;处理单元,还用于执行如下步骤:

当第一节点设备通过检测工具检测到第二区块链中的资源锁定确认消息时,确定接收到第二节点设备返回的资源锁定确认消息。

在一种实现方式中,第一区块链中包含第一资源锁定合约,第二解锁信息被提交至第一资源锁定合约中;第一虚拟资源是基于随机信息对应的随机哈希进行锁定的;处理单元,用于采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁时,具体用于执行如下步骤:

调用第一资源锁定合约确定第二节点设备的解锁时间,解锁时间是指第一虚拟资源的锁定时间点与第二解锁信息的提交时间点之间的时间段;

若解锁时间小于或等于第一锁定时间,则确定第二解锁信息对应的待校验哈希;

若待校验哈希与随机哈希相同,则确定第一虚拟资源解锁成功。

在一种实现方式中,处理单元,还用于执行如下步骤:

若第一虚拟资源在第一锁定时间内解锁失败,则继续对第一区块链中的第一虚拟资源进行锁定;

若第一虚拟资源在第一锁定时间外解锁失败,则对第一区块链中的第一虚拟资源解除锁定。

在一种实现方式中,处理单元,还用于执行如下步骤:

与第二节点设备进行资源转移协商,确定第一虚拟资源的资源转移量;

处理单元,用于将第一虚拟资源转移至第一区块链中的第二账户时,具体用于执行如下步骤:

按照第一虚拟资源的资源转移量,将第一虚拟资源转移至第一区块链中的第二账户。

在一种实现方式中,第一虚拟资源的资源类型与第二虚拟资源的资源类型不同;或者,第一区块链与第一业务相关,第二区块链与第二业务相关,第一虚拟资源是第一业务下的虚拟资源,第二虚拟资源是第二业务下的虚拟资源,第一业务与第二业务不相同。

相应地,本申请实施例提供了一种基于区块链的跨链处理装置,第一区块链中存储有第一对象的第一虚拟资源,第二区块链中存储有第二对象的第二虚拟资源,第一对象与第二区块链中的第一账户相关联,第二对象与第一区块链中的第二账户相关联;第一区块链包含于第一节点设备,第二区块链包含于第二节点设备;该跨链处理装置设置于第二节点设备中,该跨链处理装置包括:

处理单元,用于接收第一节点设备发送的资源锁定通知消息,对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;资源锁定通知消息是第一节点设备对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间后发送的;

通信单元,用于向第一节点设备发送资源锁定确认消息;

处理单元,还用于接收第一节点设备提交的第一解锁信息,采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后,将第二虚拟资源转移至第二区块链中的第一账户;第一解锁信息是第一节点设备接收到资源锁定确认消息后发送的;

通信单元,还用于向第一节点设备提交第二解锁信息,使第一节点设备采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后由第一节点设备将第二虚拟资源转移至第一区块链中的第二账户。

相应地,本申请实施例提供一种计算机设备,该计算机设备包括:

处理器,适于实现计算机程序;

计算机可读存储介质,存储有计算机程序,计算机程序适于由处理器加载并执行上述的基于区块链的跨链处理方法。

相应地,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的基于区块链的跨链处理方法。

相应地,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的基于区块链的跨链处理方法。

本申请实施例中,第一区块链中存储有第一对象的第一虚拟资源,第一区块链中的第一虚拟资源被锁定,并设置第一锁定时间,第二区块链中存储有第二对象的第二虚拟资源,第二区块链中的第二虚拟资源被锁定,并设置第二锁定时间;当第二虚拟资源在第二锁定时间内被成功解锁,则第二虚拟资源被转移至第二区块链中与第一对象相关联的第一账户;当第一虚拟资源在第一锁定时间内被成功解锁,则第一虚拟资源被转移至第一区块链中与第二对象相关联的第二账户;可见,第一区块链与第二区块链之间实现了跨链资源交换,并且在第一区块链与第二区块链的跨链资源交换过程中,第一区块链和第二区块链中的虚拟资源均被锁定并设置锁定时间,也就是说,第一区块链和第二区块链中的虚拟资源均被双重锁定,这样可以提升第一区块链与第二区块链之间跨链资源交换的安全性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术对象来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种区块链网络的架构示意图;

图2是本申请实施例提供的一种区块链的结构示意图;

图3是本申请实施例提供的一种区块生成过程的结构示意图;

图4是本申请实施例提供的一种跨链处理网络的架构示意图;

图5是本申请实施例提供的一种跨链处理方案的应用场景示意图;

图6是本申请实施例提供的另一种跨链处理方案的应用场景示意图;

图7是本申请实施例提供的一种基于区块链的跨链处理方法的流程示意图;

图8是本申请实施例提供的另一种基于区块链的跨链处理方法的流程示意图;

图9是本申请实施例提供的再一种基于区块链的跨链处理方法的流程示意图;

图10是本申请实施例提供的一种基于区块链的跨链处理装置的流程示意图;

图11是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术对象在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了更清楚地理解本申请实施例提供的技术方案,在此先对本申请实施例涉及的关键技术进行介绍:

(1)区块链网络。区块链网络即P2P(Peer to Peer,点对点)网络,是一种点对点连接的网络,点对点连接的各个节点称为对等节点,P2P网络基于一类特定的网络协议,使得对等节点之间不需要一个中心节点来维护网络状态,每个节点通过和相邻节点之间的广播交互,来维护全网的节点状态及其与相邻节点的连接状态。

P2P网络可以理解为图1所示的数据共享系统10。数据共享系统10是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101,多个节点101可以是指数据共享系统中各个客户端、终端或服务器。每个节点101在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表1所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protoc ol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明:

表1

(2)区块链(Blockchain)。数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,可参见图2所示的区块链结构,区块链由多个区块组成,创始块中包括区块头和区块体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。

在生成区块链中的各个区块时,可参见图3所示的区块生成过程,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:

SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))

其中,SHA256(Secure Hash Algorithm,一种安全散列算法)为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。

这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。

区块链可以包括但不限于以下任一种:公有区块链(Public Block Chains)、联盟区块链(Consortium Block Chains)以及私有区块链(Private Block Chains);其中,公有区块链:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何对象都可以参加其共识过程,公有区块链是最早的区块链,也是应用最广泛的区块链;联盟区块链:由某个群体内部指定多个预选的节点为记账对象,每个块的生成由所有的预选节点共同决定(预选节点加入共识过程),其他接入节点可以加入交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少),其他任何对象可以通过该区块链开放API(ApplicationProgrammingInterface,应用程序接口)进行限定查询;私有区块链:仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限。

(3)跨链技术。跨链技术是指在不同区块链之间进行事务处理的技术,在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间,不论对于公有区块链还是私有区块链来看,跨链技术就是实现价值互联网的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。

(4)跨链资源交换技术。跨链资源交换技术是跨链技术中的一个重要技术分支,跨链资源交换技术将跨链事务处理的重点定位至跨链资源交换,以第一区块链和第二区块链之间的跨链资源交换过程为例,跨链资源交换技术是指:将第一区块链中的第一虚拟资源转移至第一区块链中的第一账户,将第二区块链中的第二虚拟资源转移至第二区块链中的第二账户,该第一账户与第二区块链关联,该第二账户与第一区块链关联,并且在资源交换前后,第一区块链中的第一虚拟资源的资源量保持恒定不变,第二区块链中的第二虚拟资源的资源量保持恒定不变。

基于上述关键技术的相关描述,本申请实施例提供了一种可以提高跨链资源交换过程安全性的跨链处理方案。在该跨链处理方案中,第一区块链中的第一虚拟资源被双重锁定,第二区块链中的第二虚拟资源被双重锁定,在第二区块链中的第二虚拟资源被成功解锁后,第二区块链中的第二虚拟资源被转移至第二区块链中的第二账户,在第二区块链中的第一虚拟资源被成功解锁后,第一区块链中的第一虚拟资源被转移至第一区块链中的第二账户,实现了第一区块链与第二区块链之间的跨链资源交换。该跨链处理方案双重锁定区块链中的虚拟资源,在区块链中的虚拟资源解锁成功后才可以进行虚拟资源的转移,这样可以提高跨链资源交换过程的安全性。

下面结合图4对适于实现本申请实施例提供的跨链处理方案的跨链处理网络进行介绍。如图4所示,跨链处理网络至少可以包括第一子网络40和第二子网络41,其中:

第一子网络40中可以包括至少一个第一节点设备401,第一子网络401中的每个第一节点设备401均存储有一条相同的区块链,该相同的区块链为第一区块链402,第一区块链402可以为第一对象403服务,可以是第一对象403的记账账本,第一区块链402中存储有第一对象403的第一虚拟资源。第一区块链402包含于第一子网络40的第一节点设备401中,可以理解为,第一节点设备401可以根据提交至第一区块链402中的待上链数据生成区块,并根据第一区块链402的共识协议对生成的区块进行共识,在共识成功后将生成的区块添加至第一区块链402上,以更新第一区块链402。

第二子网络41中可以包括至少一个第二节点设备411,第二子网络41中的每个第二节点设备411均存储一条相同的区块链,该相同的区块链为第二区块链412,第二区块链412可以为第二对象413服务,可以是第二对象413的记账账本,第二区块链412中存储有第二对象413的第二虚拟资源。第二区块链412包含于第二子网络41的第二节点设备411中,可以理解为,第二节点设备411可以根据提交至第二区块链412中的待上链数据生成区块,并根据第二区块链412的共识协议对生成的区块进行共识,在共识成功后将生成的区块添加至第二区块链412上,以更新第二区块链412。

第一节点设备401可以是第一对象的使用设备,第二节点设备411可以是第二对象的使用设备,第一对象或第二对象可以是机构、组织或个人等等。第一节点设备401之间,第二节点设备411之间,或者第一节点设备401与第二节点设备411之间可以通过有线通信的方式建立直接地通信连接,或者可以通过无线通信的方式建立间接地通信连接。第一节点设备401或第二节点设备411可以是终端或服务器;其中,本申请实施例所提及的终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、车载终端、智能语音交互设备以及智能家电等,但并不局限于此;本申请实施例所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

可以理解的是,本申请实施例描述的跨链处理网络是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术对象可知,随着区块链网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。需要说明的是,本申请各实施例中涉及到第一对象或第二对象等相关的数据(例如第一对象的虚拟资源,第二对象的虚拟资源,第一对象的跨链服务界面,等等),当本申请各实施例运用到具体产品或技术中时,需要获得相关对象许可或者同意,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

下面结合图5和图6对本申请实施例提供的跨链处理方案的应用场景进行介绍:

本申请实施例提供的跨链处理方案可以应用于不同区块链之间进行不同资源类型的虚拟资源兑换场景。具体来说,如图5所示,以第一区块链和第二区块链为例,第一区块链中存储有第一对象的第一虚拟资源,第一虚拟资源的虚拟资源类型为第一资源类型,第二区块链中存储有第二对象的第二虚拟资源,第二虚拟资源的虚拟资源类型为第二资源类型,第一资源类型与第二资源类型不相同;采用本申请实施例提供的跨链处理方案,可以在第一区块链和第二区块链之间进行不同资源类型的虚拟资源之间的虚拟资源兑换,原先拥有第一资源类型的第一虚拟资源的第一对象,在进行跨链资源交换之后,可以拥有第二对象的第二资源类型的第二虚拟资源,类似地,原先拥有第二资源类型的第二虚拟资源的第二对象,在进行跨链资源交换之后,可以拥有第一对象的第一资源类型的第一虚拟资源,并且可以提升不同资源类型的虚拟资源兑换场景的安全性。

本申请实施例提供的跨链处理方案还可以应用于不同区块链之间进行不同业务下的虚拟资源交换场景。具体来说,以第一区块链和第二区块链为例,第一区块链中存储有第一对象的第一虚拟资源,第一区块链与第一业务相关,第一虚拟资源是第一业务下的虚拟资源,第二区块链中存储有第二对象的第二虚拟资源,第二区块链与第二业务相关,第二虚拟资源是第二业务下的虚拟资源,第一业务与第二业务不相同;采用本申请实施例提供的跨链处理方案,可以在第一区块链和第二区块链之间进行不同业务的虚拟资源之间的虚拟资源交换,原先拥有第一业务下的第一虚拟资源的第一对象,在进行跨链资源交换之后,可以拥有第二对象的第二业务下的第二虚拟资源,类似地,原先拥有第二业务下的第二虚拟资源的第二对象,在进行跨链资源交换之后,可以拥有第一对象的第一业务下的第一虚拟资源,并且可以提升不同业务下的虚拟资源交换场景的安全性。

如图6所示,供应区块链中存储有供应对象的虚拟资源,该虚拟资源是供应业务下的虚拟资源,金融区块链中存储有金融对象的虚拟资源,该虚拟资源是金融业务下的虚拟资源,政务区块链中存储有政务对象的虚拟资源,该虚拟资源是政务业务下的虚拟资源,零售区块链中存储有零售对象的虚拟资源,该虚拟资源是零售业务下的虚拟资源;通过本申请实施例提供的跨链处理方案,可以实现供应业务、金融业务、政务业务以及零售业务中任意两个业务之间的虚拟资源交换,例如,供应业务与金融业务之间的虚拟资源交换,金融业务与零售业务之间的虚拟资源交换等等。

下面结合附图对本申请实施例提供的跨链处理方案进行更为详细地介绍。

本申请实施例提供一种基于区块链的跨链处理方法,该基于区块链的跨链处理方法主要介绍跨链资源交换发起方进行资源锁定、资源解锁的过程等内容,该基于区块链的跨链处理方法可以由计算机设备执行,计算机设备可以是上述提及的第一节点设备401。如图7所示,该基于区块链的跨链处理方法可以包括以下步骤S701-步骤S704:

S701,对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间。

本申请实施例从跨链资源交换发起方的角度描述第一区块链和第二区块链之间的跨链资源交换过程,其中,第一区块链中存储有第一对象的第一虚拟资源,第二区块链中存储有第二对象的第二虚拟资源;第一对象与第二区块链中的第一账户相关联,也就是说,第二区块链中设置有第一对象的关联账户,第二对象与第一区块链中的第二账户相关联,也就是说,第一区块链中设置有第二对象的关联账户。在本申请实施例中,跨链资源交换发起方需要先锁定对应区块链中的虚拟资源,本申请以第一节点设备是跨链资源交换发起方为例进行说明,也就是说,当第一区块链与第二区块链之间存在跨链资源交换需求时,第一节点设备可以先对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间。

其中,第一区块链与第二区块链之间的跨链资源交换需求可以是通过检测到跨链资源交换操作确定的,以第一节点设备检测到跨链资源交换操作为例,当第一节点设备检测到针对第二区块链的跨链资源交换操作时,可以确定第一区块链与第二区块链之间存在跨链资源交换需求。具体来说,第一节点设备可以向第一对象呈现跨链服务界面,跨链服务界面中可以包括多个区块链对应的区块链标识,区块链标识可以理解为是区块链名称,例如金融区块链、零售区块链等等,当跨链服务界面中的任一个区块链标识被第一对象执行触发操作时,可以将被执行触发操作的区块链标识对应的区块链确定为第二区块链,并确定第一区块链与第二区块链之间存在跨链资源交换的需求;也就是说,针对第二区块链的跨链资源交换操作是指:在跨链服务界面中触发第二区块链对应的区块链标识的操作。

在对第一区块链与第二区块链之间的跨链资源交换需求的确定过程进行介绍之后,下面对跨链资源交换发起方的确定过程进行介绍,跨链资源交换发起方的确定过程可以包括以下任一种:

第一种,跨链资源交换发起方可以是检测到跨链资源交换操作的节点设备,也就是说,可以将检测到跨链资源交换操作的节点设备默认作为跨链资源交换发起方。例如,第一节点设备检测到针对第二区块链的跨链资源交换操作,则可以将第一节点设备作为在第一区块链与第二区块链之间进行跨链资源交换的跨链资源交换发起方,通过这种方式,可以快速确定跨链资源交换发起方,提升跨链资源交换效率。

第二种,跨链资源交换发起方可以是通过协商获得的。具体来说,以第一节点设备检测到跨链资源交换操作为例,当第一节点设备检测到针对第二区块链的跨链资源交换操作时,第一节点设备可以通过第一协商信息与第二节点设备进行协商;当第二节点设备接收到第一节点设备的第一协商信息后,第二节点设备可以向第一节点设备发送第二协商信息,第一节点设备或第二节点设备可以按照协商规则,基于第一协商信息和第二协商信息确定跨链资源交换发起方。例如,第一协商信息可以是第一节点设备随机生成的随机数,第二协商信息可以是第二节点设备随机生成的随机数,若协商规则规定数值大的随机数对应的节点设备作为跨链资源交换发起方,则可以将第一协商信息和第二协商信息中数值大的协商信息对应的节点设备确定为跨链资源交换发起方,通过这种方式,跨链资源交换发起方的确定过程更加公正。

以第一节点设备是跨链资源交换发起方为例,当第一区块链与第二区块链之间存在跨链资源交换需求时,第一节点设备可以先对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间。第一节点设备对第一区块链中的第一虚拟资源的锁定过程,具体可参见如下描述:可以生成随机信息,并确定随机信息对应的随机哈希,随机哈希可以是基于哈希算法对随机信息进行哈希计算得到的,将随机信息表示为s,将随机哈希表示为h,则随机信息s与随机哈希h之间的关系可以表示为h=hash(s),hash()表示哈希算法,哈希算法可以包括SHA(Secure Hash Algorithm,安全散列算法)或消息摘要算法(例如MD5)等等,本申请实施例对此不进行限定;第一区块链中可以包含第一资源锁定合约,在确定随机信息对应的随机哈希之后,第一节点设备可以调用第一资源锁定合约基于随机哈希对第一虚拟资源进行锁定,并调用第一资源锁定合约设置第一虚拟资源的第一锁定时间,也就是说,在第一锁定时间内,第一虚拟资源处于锁定状态,第一虚拟资源不能被执行任何转移操作。

其中,随机信息可以是第一节点设备基于随机算法随机生成的,或者随机信息可以是基于随机算法对第一对象通过跨链服务界面输入的随机数进行随机计算后得到的,本申请实施例对此不进行限定。第一资源锁定合约可以是部署于第一区块链中用于对第一区块链中的虚拟资源进行锁定的智能合约,随机哈希是第一资源锁定合约进行资源锁定时所需的参数。需要说明的是,智能合约可以理解为是一种计算机化的协议,可以执行某个合约的条款,通过部署在区块链上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易。

在确定随机信息对应的随机哈希后,可以将随机哈希发送至第二节点设备,使得第二节点设备可以基于随机哈希对第二区块链中的第二虚拟资源进行锁定。随机哈希可以是由第一节点设备直接发送至第二节点设备的;或者,随机哈希可以通过提交锁定合约的方式提交至第二节点设备,具体来说,第二区块链中可以包含第二资源锁定合约,第二资源锁定合约可以是部署于第二区块链中用于第二区块链中的虚拟资源进行锁定的智能合约,第一节点设备可以调用第二区块链中的第二资源锁定合约,并将随机哈希提交至第二资源锁定合约,将随机哈希提交至第二资源锁定合约可以理解为,将随机哈希作为第二资源锁定合约的参数传入资源锁定合约中,通过这种方式,可以有效避免随机哈希泄漏。

S702,向第二节点设备发送资源锁定通知消息。

在第一节点设备对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间之后,可以向第二节点设备发送资源锁定通知消息;资源锁定通知消息用于可以指示第二节点设备对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间,其中,第一锁定时间大于第二锁定时间。

其中,第一节点设备可以将资源锁定通知消息直接发送至第二节点设备。或者,第一节点设备可以根据资源锁定通知消息生成区块,并将生成的区块上传至第一区块链中,在此情况下,第二节点设备可以通过检测工具(例如可以是具备消息显示功能的SDK(Software Development Kit,软件开发工具包))检测第一区块链中的消息,在第一节点设备将资源锁定通知消息上传至第一区块链后,当第二节点设备通过检测工具检测到第一区块链中的资源锁定通知消息后,第二节点设备可以确定接收到第一节点设备发送的资源锁定通知消息,通过这种方式,上传至区块链中的资源锁定通知消息不可被篡改,可以保证第二节点设备顺利地接收到资源锁定通知消息,从而使得跨链资源交换顺利进行。

S703,当接收到第二节点设备返回的资源锁定确认消息时,向第二节点设备提交第一解锁信息。

当第一节点设备接受到第二节点设备返回的资源锁定确认消息时,可以向第二节点设备提交第一解锁信息,使得第二节点设备可以采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后由第二节点设备将第二虚拟资源转移至第二区块链中的第一账户,其中,第一解锁信息可以是前述提及的随机信息s。

需要说明的是,资源锁定确认消息可以是第二节点设备对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间后发送的;与资源锁定通知消息类似,资源锁定确认消息可以是第二节点设备直接发送至第一节点设备的,或者,资源锁定确认消息可以是第二节点设备上传至第二区块链中的,在此情况下,第一节点设备通过检测工具(例如可以是具备消息显示功能的SDK)检测第二区块链中的消息,当第一节点设备通过检测工具检测到第二区块链中的资源锁定确认消息时,可以确定接收到第二节点设备返回的资源锁定确认消息。

此外,第一解锁信息的提交方式与随机哈希的提交方式类似,第一解锁信息可以是由第一节点设备直接发送至第二节点设备的;或者,第一解锁信息可以通过提交锁定合约的方式提交至第二节点设备,具体来说,第一节点设备可以调用第二区块链中的第二资源锁定合约,并将第一解锁信息提交至第二资源锁定合约,将第一解锁信息提交至第二资源锁定合约可以理解为,将第一解锁信息作为第二资源锁定合约的参数传入资源锁定合约中,通过这种方式,可以有效避免第一解锁信息泄漏。

S704,接收第二节点设备提交的第二解锁信息,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后,将第一虚拟资源转移至第一区块链中的第二账户。

在第二节点设备对第二虚拟资源解锁成功后,第二节点设备可以向第一节点设备提交第二解锁信息;第一节点设备可以接收第二节点设备提交的第二解锁信息,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后,将第一虚拟资源转移至第一区块链中的第二账户。

其中,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁的过程,具体可以参见如下描述:与第一解锁信息类似,第二解锁信息可以是第二节点设备直接发送至第一节点设备的,或者,第二解锁信息可以被第二节点设备提交至第一区块链的第一资源锁定合约中;第一节点设备可以调用第一资源锁定合约确定第二节点设备的解锁时间,第二节点设备的解锁时间是指第一虚拟资源的锁定时间点与第二解锁信息的提交时间点之间的时间段;若解锁时间小于或等于第一锁定时间,则可以确定第二解锁信息对应的待校验哈希,若待校验哈希与随机哈希相同,则可以确定第一虚拟资源解锁成功,若待校验哈希与随机哈希不相同,则可以确定第一虚拟资源在第一锁定时间内解锁失败,待校验哈希是基于哈希算法对第二解锁信息进行哈希计算得到的;若解锁时间大于第一锁定时间,则可以确定第一虚拟资源在第一锁定时间外解锁失败,即超出第一锁定时间第一虚拟资源任未被解锁。

若第一虚拟资源解锁成功,则第一节点设备可以将第一虚拟资源转移至第一区块链中的第二账户;若第一虚拟资源在第一锁定时间内解锁失败,则第一节点设备可以继续对第一虚拟资源进行锁定;若第一虚拟资源在第一锁定时间外解锁失败,则第一节点设备可以对第一区块链中的第一虚拟资源解除锁定。

需要补充说明的是,将第一虚拟资源转移至第一区块链中的第二账户之前,第一节点设备可以与第二节点设备进行资源转移协商,以确定第一虚拟资源和第二虚拟资源的转移量。第一节点设备与第二节点设备之间的资源转移协商过程,具体可以参见如下描述:第一节点设备可以将第一虚拟资源的第一转移量发送至第二节点设备,第一虚拟资源的第一转移量可以是第一对象通过第一节点设备的跨链服务界面输入的,同样地,第二节点设备可以将第二虚拟资源的第一转移量发送至第二节点设备,第二虚拟资源的第一转移量可以是第二对象通过第二节点设备的跨链服务界面输入的;若双方均同意对方的第一转移量,则可以将第一虚拟资源的第一转移量确定为第一虚拟资源的资源转移量,将第二虚拟资源的第一转移量确定为第二虚拟资源的资源转移量;若双方均不同意对方的第一转移量,或者双方中存在一方不同意对方的第一转移量,则双方需要输入第二转移量继续进行协商,直至双方均同意对方的转移量为止。在协商出第一虚拟资源的资源转移量之后,将第一虚拟资源转移至第一区块链中的第二账户具体可以是指,按照第一虚拟资源的资源转移量,将第一虚拟资源转移至第一区区块链中的第二账户。

本申请实施例中,通过将第一虚拟资源和第二虚拟资源进行双重锁定,可以提高第一区块链与第二区块链之间的跨链资源交换过程的安全性。另外,可以设置第一虚拟资源的第一锁定时间大于第二虚拟资源的第二锁定时间,在跨链资源交换过程中,跨链资源交换发起方(即本申请实施例中的第一节点设备)往往具备更大的优势,这是因为对第一虚拟资源和第二虚拟资源进行解锁的解锁信息是由跨链资源交换发起方生成的,通过设置第一虚拟资源的第一锁定时间大于第二虚拟资源的第二锁定时间,这样可以很好地保证跨链资源交换响应方(即本申请实施例中的第二节点设备)的权益。

本申请实施例提供一种基于区块链的跨链处理方法,该基于区块链的跨链处理方法主要介绍跨链资源交换响应方进行资源锁定、资源解锁的过程等内容,该基于区块链的跨链处理方法可以由计算机设备执行,计算机设备可以是上述提及的第二节点设备411。如图8所示,该基于区块链的跨链处理方法可以包括以下步骤S801-步骤S804:

S801,接收第一节点设备发送的资源锁定通知消息,对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间。

本申请实施例从跨链资源交换响应方的角度描述第一区块链和第二区块链之间的跨链资源交换过程,其中,第一区块链中存储有第一对象的第一虚拟资源,第二区块链中存储有第二对象的第二虚拟资源;第一对象与第二区块链中的第一账户相关联,也就是说,第二区块链中设置有第一对象的关联账户,第二对象与第一区块链中的第二账户相关联,也就是说,第一区块链中设置有第二对象的关联账户。在本申请实施例中,跨链资源交换发起方需要先锁定跨链资源交换发起方对应区块链中的虚拟资源,跨链资源交换响应方在跨链资源交换发起方锁定对应区块链中的虚拟资源后,锁定跨链资源交换响应方对应的区块链中的虚拟资源,本申请以第二节点设备是跨链资源交换响应方为例。

资源锁定通知消息是第一节点设备对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间后发送的;资源锁定通知消息可以是第一节点设备直接发送至第二节点设备的,或者,资源锁定通知消息可以是第一节点设备上传至第一区块链中的,在此情况下,第二节点设备通过检测工具(例如可以是具备消息显示功能的SDK)检测第一区块链中的消息,当第一节点设备通过检测工具检测到第一区块链中的资源锁定确认消息时,可以确定接收到第一节点设备发送的资源锁定确认消息。

当第二节点设备接收第一节点设备发送的资源锁定通知消息后,可以对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间,并且第一锁定时间大于第二锁定时间。第二虚拟资源可以是基于随机哈希进行锁定的,随机哈希可以是第一节点设备直接发送至第二节点设备的,或者,随机哈希可以是第一节点设备提交至第二区块链中的第二资源锁定合约的;对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间的过程,具体可以包括如下内容:第二节点设备可以调用第二资源锁定合约基于随机哈希对第二虚拟资源进行锁定,并调用第二资源锁定合约设置第二虚拟资源的第二锁定时间,也就是说,在第二锁定时间内,第二虚拟资源处于锁定状态,第二虚拟资源不能被执行任何转移操作。第二资源锁定合约可以是部署于第二区块链中用于对第二区块链中的虚拟资源进行锁定的智能合约,随机哈希是第二资源锁定合约进行资源锁定时所需的参数。

S802,向第一节点设备发送资源锁定确认消息。

在第二节点设备对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间之后,第二节点设备可以向第一节点设备发送资源锁定确认消息。第二节点设备可以直接将资源锁定确认消息发送至第一节点设备。或者,第二节点设备可以根据资源锁定确认消息生成区块,并将生成的区块上传至第二区块链中,在此情况下,第一节点设备可以通过检测工具(例如可以是具备消息显示功能的SDK)检测第二区块链中的消息,在第二节点设备将资源锁定确认消息上传至第二区块链后,当第一节点设备通过检测工具检测到第二区块链中的资源锁定确认消息后,第一节点设备可以确定接收到第二节点设备发送的资源锁定确认消息,通过这种方式,上传至区块链中的资源锁定确认消息不可被篡改,可以保证第一节点设备顺利地接收到资源锁定确认消息,从而使得跨链资源交换顺利进行。

S803,接收第一节点设备提交的第一解锁信息,采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后,将第二虚拟资源转移至第二区块链中的第一账户。

第一解锁信息可以是第一节点设备接收到资源锁定确认消息后提交的,第一解锁信息可以是第一节点设备直接发送至第二节点设备的,或者,第一解锁信息可以被第一节点设备提交至第二区块链的第二资源锁定合约中。在接收到第一节点设备提交的第一解锁信息后,第二节点设备可以采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后,将第二虚拟资源转移至第二区块链中的第一账户。

其中,第二节点设备采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁的过程,具体可参见如下描述:第二节点设备可以调用第二资源锁定合约确定第一节点设备的解锁时间,第一节点设备的解锁时间是指第二虚拟资源的锁定时间点与第一解锁信息的提交时间点之间的时间段;若解锁时间小于或等于第二锁定时间,则可以确定第一解锁信息对应的待校验哈希,若待校验哈希与随机哈希相同,则可以确定第二虚拟资源解锁成功,若待校验哈希与随机哈希不相同,则可以确定第二虚拟资源在第二锁定时间内解锁失败,待校验哈希可以是基于哈希算法对第一解锁信息进行哈希计算得到的;若解锁时间大于第二锁定时间,则可以确定第二虚拟资源在第二锁定时间外解锁失败,即超出第二锁定时间第二虚拟资源任未被解锁。

若第二虚拟资源解锁成功,则第二节点设备可以将第二虚拟资源转移至第二区块链中的第一账户;若第二虚拟资源在第二锁定时间内解锁失败,则第二节点设备可以继续对第二虚拟资源进行锁定;若第二虚拟资源在第二锁定时间外解锁失败,则第二节点设备可以对第二区块链中的第一虚拟资源解除锁定。

需要补充说明的是,将第二虚拟资源转移至第二区块链中的第一账户之前,第一节点设备可以与第二节点设备进行资源转移协商,以确定第一虚拟资源和第二虚拟资源的转移量,第一节点设备与第二节点设备之间的资源转移协商过程具体可参见上述图7所示实施例中的描述,在此不再赘述。在协商出第二虚拟资源的资源转移量之后,将第二虚拟资源转移至第二区块链中的第一账户具体可以是指,按照第二虚拟资源的资源转移量,将第二虚拟资源转移至第二区块链中的第一账户。

S804,向第一节点设备提交第二解锁信息。

在第二节点设备将第二虚拟资源转移至第二区块链中的第一账户之后,可以向第一节点设备提交第二解锁信息,使得第一节点设备采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后由第一节点设备将第二虚拟资源转移至第一区块链中的第二账户。

其中,第二解锁信息可以是根据第一解锁信息确定的,第二解锁信息与第一解锁信息可以是相同的,即第二解锁信息也可以是前述提及的随机信息s。第二节点设备向第一节点设备提交的第二解锁信息的过程,与第一节点设备向第二节点设备提交第一解锁信息的过程类似,第二解锁信息可以是由第二节点设备直接发送至第一节点设备的;或者,第二解锁信息可以通过提交锁定合约的方式提交至第一节点设备,具体来说,第二节点设备可以调用第一区块链中的第一资源锁定合约,并将第二解锁信息提交至第一资源锁定合约,将第二解锁信息提交至第一资源锁定合约可以理解为,将第二解锁信息作为第一资源锁定合约的参数传入资源锁定合约中,通过这种方式,可以有效避免第二解锁信息泄漏。

本申请实施例中,通过将第一虚拟资源和第二虚拟资源进行双重锁定,可以提高第一区块链与第二区块链之间的跨链资源交换过程的安全性。另外,在跨链资源交换过程中,跨链资源交换发起方(即本申请实施例中的第一节点设备)往往具备更大的优势,这是因为对第一虚拟资源和第二虚拟资源进行解锁的解锁信息是由跨链资源交换发起方生成的,设置第一虚拟资源的第一锁定时间大于第二虚拟资源的第二锁定时间,这样可以很好地保证跨链资源交换响应方(即本申请实施例中的第二节点设备)的权益。

本申请实施例提供一种基于区块链的跨链处理方法,该基于区块链的跨链处理方法主要介绍跨链资源交换响应方和跨链资源交换发起方之间交互进行资源锁定、资源解锁的过程等内容,该基于区块链的跨链处理方法可以由上述提及的第一节点设备401和第二节点设备411交互执行。如图9所示,该基于区块链的跨链处理方法可以包括以下步骤S901-步骤S910:

S901,第一节点设备生成随机信息,并确定随机信息对应的随机哈希。

S902,第一节点设备将随机哈希发送至第二节点设备。

S903,第一节点设备调用第一区块链中的第一资源锁定合约基于随机哈希对第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间。

S904,第一节点设备向第二节点设备发送资源锁定通知消息。

S905,当接收到第一节点设备发送的资源锁定通知消息,第二节点设备调用第二区块链中的第二资源锁定合约基于随机哈希对第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间。

S906,第二节点设备向第一节点设备发送资源锁定确认消息。

S907,当接收到第二节点设备发送的资源锁定确认消息,向第二节点设备提交第一解锁信息。

S908,第二节点设备接收第一节点设备提交的第一解锁信息,采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后,将第二虚拟资源转移至第二区块链中的第一账户。

S909,第二节点设备根据第一解锁信息确定第二解锁信息,并向第一节点设备提交第二解锁信息。

S910,第一节点设备接收第二节点设备提交的第二解锁信息,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后,将第一虚拟资源转移至第一区块链中的第二账户。

本申请实施例中各步骤的执行过程具体可参见上述图7和图8所示实施例的具体描述,在此不再赘述。

本申请实施例中,通过将第一虚拟资源和第二虚拟资源进行双重锁定,可以提高第一区块链与第二区块链之间的跨链资源交换过程的安全性。另外,本申请实施例能够支持同构区块链和异构区块链之间的跨链资源交换过程,并保证跨链资源交换过程的原子性,原子性可以理解为跨链资源交换过程是全有或全无的,全有即第一区块链中的第二账户被成功转移第一区块链中的虚拟资源,且第二区块链中的第一账户被成功转移第二区块链中的第二虚拟资源,全无即第一区块链中的第二账户未被转移第一区块链中的虚拟资源,且第二区块链中的第一账户未被转移第二区块链中的第二虚拟资源。并且,当本申请实施例应用于联盟区块链时,基于联盟区块链的高性能和准入机制,能够在保证跨链资源交换过程的安全性的同时,提升跨链资源交换过程的效率和性能。

上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。

请参见图10,图10是本申请实施例提供的一种基于区块链的跨链处理装置的结构示意图,该跨链处理装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的第一节点设备。图10所示的跨链处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该跨链处理装置可以用于执行图7或图9所示的方法实施例中的部分或全部步骤。请参见图10,该跨链处理装置可以包括如下单元:

处理单元1001,用于对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间;

通信单元1002,用于向第二节点设备发送资源锁定通知消息,资源锁定通知消息用于指示第二节点设备对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;

通信单元1002,还用于当接收到第二节点设备返回的资源锁定确认消息时,向第二节点设备提交第一解锁信息,使第二节点设备采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后由第二节点设备将第二虚拟资源转移至第二区块链中的第一账户;

处理单元1001,用于接收第二节点设备提交的第二解锁信息,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后,将第一虚拟资源转移至第一区块链中的第二账户。

在一种实现方式中,第一区块链中包含第一资源锁定合约;处理单元1001,用于对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间时,具体用于执行如下步骤:

生成随机信息,并确定随机信息对应的随机哈希;

调用第一区块链中的第一资源锁定合约基于随机哈希,对第一虚拟资源进行锁定;

调用第一资源锁定合约设置第一虚拟资源的第一锁定时间。

在一种实现方式中,第一虚拟资源是基于随机信息对应的随机哈希进行锁定的;通信单元1002,还用于执行如下步骤:

将随机哈希发送至第二节点设备,使第二节点设备基于随机哈希对第二区块链中的第二虚拟资源进行锁定。

在一种实现方式中,第二区块链中包含第二资源锁定合约,第二资源锁定合约用于对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;通信单元1002,用于向第二节点设备提交第一解锁信息时,具体用于执行如下步骤:

调用第二区块链中的第二资源锁定合约;

将第一解锁信息发送至所述第二资源锁定合约。

在一种实现方式中,第一节点设备通过检测工具检测第二区块链中的消息;资源锁定确认消息被所述第二节点设备上传至所述第二区块链中;处理单元1001,还用于执行如下步骤:

当第一节点设备通过检测工具检测到第二区块链中的资源锁定确认消息时,确定接收到第二节点设备返回的资源锁定确认消息。

在一种实现方式中,第一区块链中包含第一资源锁定合约,第二解锁信息被提交至第一资源锁定合约中;第一虚拟资源是基于随机信息对应的随机哈希进行锁定的;处理单元1001,用于采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁时,具体用于执行如下步骤:

调用第一资源锁定合约确定第二节点设备的解锁时间,解锁时间是指第一虚拟资源的锁定时间点与第二解锁信息的提交时间点之间的时间段;

若解锁时间小于或等于第一锁定时间,则确定第二解锁信息对应的待校验哈希;

若待校验哈希与随机哈希相同,则确定第一虚拟资源解锁成功。

在一种实现方式中,处理单元1001,还用于执行如下步骤:

若第一虚拟资源在第一锁定时间内解锁失败,则继续对第一区块链中的第一虚拟资源进行锁定;

若第一虚拟资源在第一锁定时间外解锁失败,则对第一区块链中的第一虚拟资源解除锁定。

在一种实现方式中,处理单元1001,还用于执行如下步骤:

与第二节点设备进行资源转移协商,确定第一虚拟资源的资源转移量;

处理单元1001,用于将第一虚拟资源转移至第一区块链中的第二账户时,具体用于执行如下步骤:

按照第一虚拟资源的资源转移量,将第一虚拟资源转移至第一区块链中的第二账户。

在一种实现方式中,第一虚拟资源的资源类型与第二虚拟资源的资源类型不同;或者,第一区块链与第一业务相关,第二区块链与第二业务相关,第一虚拟资源是第一业务下的虚拟资源,第二虚拟资源是第二业务下的虚拟资源,第一业务与第二业务不相同。

根据本申请的另一个实施例,图10所示的跨链处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于跨链处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图7或图9中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的跨链处理装置,以及来实现本申请实施例的基于区块链的跨链处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。

本申请实施例中,第一区块链中存储有第一对象的第一虚拟资源,第一区块链中的第一虚拟资源被锁定,并设置第一锁定时间,第二区块链中存储有第二对象的第二虚拟资源,第二区块链中的第二虚拟资源被锁定,并设置第二锁定时间;当第二虚拟资源在第二锁定时间内被成功解锁,则第二虚拟资源被转移至第二区块链中与第一对象相关联的第一账户;当第一虚拟资源在第一锁定时间内被成功解锁,则第一虚拟资源被转移至第一区块链中与第二对象相关联的第二账户;可见,第一区块链与第二区块链之间实现了跨链资源交换,并且在第一区块链与第二区块链的跨链资源交换过程中,第一区块链和第二区块链中的虚拟资源均被锁定并设置锁定时间,也就是说,第一区块链和第二区块链中的虚拟资源均被双重锁定,这样可以提升第一区块链与第二区块链之间跨链资源交换的安全性。

请参见图10,图10是本申请实施例提供的一种基于区块链的跨链处理装置的结构示意图,该跨链处理装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的第二节点设备。图10所示的跨链处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该跨链处理装置可以用于执行图8或图9所示的方法实施例中的部分或全部步骤。请参见图10,该跨链处理装置可以包括如下单元:

处理单元1001,用于接收第一节点设备发送的资源锁定通知消息,对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;资源锁定通知消息是第一节点设备对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间后发送的;

通信单元1002,用于向第一节点设备发送资源锁定确认消息;

处理单元1001,还用于接收第一节点设备提交的第一解锁信息,采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后,将第二虚拟资源转移至第二区块链中的第一账户;第一解锁信息是第一节点设备接收到资源锁定确认消息后发送的;

通信单元1002,还用于向第一节点设备提交第二解锁信息,使第一节点设备采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后由第一节点设备将第二虚拟资源转移至第一区块链中的第二账户。

根据本申请的另一个实施例,图10所示的跨链处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于跨链处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图7或图9中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的跨链处理装置,以及来实现本申请实施例的基于区块链的跨链处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。

本申请实施例中,第一区块链中存储有第一对象的第一虚拟资源,第一区块链中的第一虚拟资源被锁定,并设置第一锁定时间,第二区块链中存储有第二对象的第二虚拟资源,第二区块链中的第二虚拟资源被锁定,并设置第二锁定时间;当第二虚拟资源在第二锁定时间内被成功解锁,则第二虚拟资源被转移至第二区块链中与第一对象相关联的第一账户;当第一虚拟资源在第一锁定时间内被成功解锁,则第一虚拟资源被转移至第一区块链中与第二对象相关联的第二账户;可见,第一区块链与第二区块链之间实现了跨链资源交换,并且在第一区块链与第二区块链的跨链资源交换过程中,第一区块链和第二区块链中的虚拟资源均被锁定并设置锁定时间,也就是说,第一区块链和第二区块链中的虚拟资源均被双重锁定,这样可以提升第一区块链与第二区块链之间跨链资源交换的安全性。

基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备,该计算机设备可以是前述所提及的第一节点设备。请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。图11所示的计算机设备至少包括处理器1101、输入接口1102、输出接口1103以及计算机可读存储介质1104。其中,处理器1101、输入接口1102、输出接口1103以及计算机可读存储介质1104可通过总线或其他方式连接。

输入接口1102可以接收第二节点设备提交的第二解锁信息,接收第二节点设备发送的资源锁定确认消息,等等;输出接口1103可以用于向第二节点设备发送随机哈希,向第二节点设备提交第一解锁信息,等等。

计算机可读存储介质1104可以存储在计算机设备的存储器中,计算机可读存储介质1104用于存储计算机程序,计算机程序包括计算机指令,处理器1101用于执行计算机可读存储介质1104存储的程序指令。处理器1101(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。

本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。

在一些实施例中,可由处理器1101加载并执行计算机可读存储介质1104中存放的一条或多条计算机指令,以实现上述有关图7或图9所示的基于区块链的跨链处理方法的相应步骤。具体实现中,计算机可读存储介质1104中的计算机指令由处理器1101加载并执行如下步骤:

对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间;

向第二节点设备发送资源锁定通知消息,资源锁定通知消息用于指示第二节点设备对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;

当接收到第二节点设备返回的资源锁定确认消息时,向第二节点设备提交第一解锁信息,使第二节点设备采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后由第二节点设备将第二虚拟资源转移至第二区块链中的第一账户;

接收第二节点设备提交的第二解锁信息,采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后,将第一虚拟资源转移至第一区块链中的第二账户。

在一种实现方式中,第一区块链中包含第一资源锁定合约;计算机可读存储介质1104中的计算机指令由处理器1101加载并执行对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间时,具体用于执行如下步骤:

生成随机信息,并确定随机信息对应的随机哈希;

调用第一区块链中的第一资源锁定合约基于随机哈希,对第一虚拟资源进行锁定;

调用第一资源锁定合约设置第一虚拟资源的第一锁定时间。

在一种实现方式中,第一虚拟资源是基于随机信息对应的随机哈希进行锁定的;计算机可读存储介质1104中的计算机指令由处理器1101加载并还用于执行如下步骤:

将随机哈希发送至第二节点设备,使第二节点设备基于随机哈希对第二区块链中的第二虚拟资源进行锁定。

在一种实现方式中,第二区块链中包含第二资源锁定合约,第二资源锁定合约用于对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;计算机可读存储介质1104中的计算机指令由处理器1101加载并执行向第二节点设备提交第一解锁信息时,具体用于执行如下步骤:

调用第二区块链中的第二资源锁定合约;

将第一解锁信息发送至所述第二资源锁定合约。

在一种实现方式中,第一节点设备通过检测工具检测第二区块链中的消息;资源锁定确认消息被所述第二节点设备上传至所述第二区块链中;计算机可读存储介质1104中的计算机指令由处理器1101加载并还用于执行如下步骤:

当第一节点设备通过检测工具检测到第二区块链中的资源锁定确认消息时,确定接收到第二节点设备返回的资源锁定确认消息。

在一种实现方式中,第一区块链中包含第一资源锁定合约,第二解锁信息被提交至第一资源锁定合约中;第一虚拟资源是基于随机信息对应的随机哈希进行锁定的;计算机可读存储介质1104中的计算机指令由处理器1101加载并执行采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁时,具体用于执行如下步骤:

调用第一资源锁定合约确定第二节点设备的解锁时间,解锁时间是指第一虚拟资源的锁定时间点与第二解锁信息的提交时间点之间的时间段;

若解锁时间小于或等于第一锁定时间,则确定第二解锁信息对应的待校验哈希;

若待校验哈希与随机哈希相同,则确定第一虚拟资源解锁成功。

在一种实现方式中,计算机可读存储介质1104中的计算机指令由处理器1101加载并还用于执行如下步骤:

若第一虚拟资源在第一锁定时间内解锁失败,则继续对第一区块链中的第一虚拟资源进行锁定;

若第一虚拟资源在第一锁定时间外解锁失败,则对第一区块链中的第一虚拟资源解除锁定。

在一种实现方式中,计算机可读存储介质1104中的计算机指令由处理器1101加载并还用于执行如下步骤:

与第二节点设备进行资源转移协商,确定第一虚拟资源的资源转移量;

计算机可读存储介质1104中的计算机指令由处理器1101加载并执行将第一虚拟资源转移至第一区块链中的第二账户时,具体用于执行如下步骤:

按照第一虚拟资源的资源转移量,将第一虚拟资源转移至第一区块链中的第二账户。

在一种实现方式中,第一虚拟资源的资源类型与第二虚拟资源的资源类型不同;或者,第一区块链与第一业务相关,第二区块链与第二业务相关,第一虚拟资源是第一业务下的虚拟资源,第二虚拟资源是第二业务下的虚拟资源,第一业务与第二业务不相同。

本申请实施例中,第一区块链中存储有第一对象的第一虚拟资源,第一区块链中的第一虚拟资源被锁定,并设置第一锁定时间,第二区块链中存储有第二对象的第二虚拟资源,第二区块链中的第二虚拟资源被锁定,并设置第二锁定时间;当第二虚拟资源在第二锁定时间内被成功解锁,则第二虚拟资源被转移至第二区块链中与第一对象相关联的第一账户;当第一虚拟资源在第一锁定时间内被成功解锁,则第一虚拟资源被转移至第一区块链中与第二对象相关联的第二账户;可见,第一区块链与第二区块链之间实现了跨链资源交换,并且在第一区块链与第二区块链的跨链资源交换过程中,第一区块链和第二区块链中的虚拟资源均被锁定并设置锁定时间,也就是说,第一区块链和第二区块链中的虚拟资源均被双重锁定,这样可以提升第一区块链与第二区块链之间跨链资源交换的安全性。

本申请实施例提供了一种计算机设备,该计算机设备可以是前述所提及的第一节点设备。请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。图11所示的计算机设备至少包括处理器1101、输入接口1102、输出接口1103以及计算机可读存储介质1104。其中,处理器1101、输入接口1102、输出接口1103以及计算机可读存储介质1104可通过总线或其他方式连接。

输入接口1102可以接收第一节点设备提交的第一解锁信息,接收第一节点设备发送的随机哈希,等等;输出接口1103可以用于向第一节点设备提交第二解锁信息,等等。

计算机可读存储介质1104可以存储在计算机设备的存储器中,计算机可读存储介质1104用于存储计算机程序,计算机程序包括计算机指令,处理器1101用于执行计算机可读存储介质1104存储的程序指令。处理器1101(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。

本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。

在一些实施例中,可由处理器1101加载并执行计算机可读存储介质1104中存放的一条或多条计算机指令,以实现上述有关图8或图9所示的基于区块链的跨链处理方法的相应步骤。具体实现中,计算机可读存储介质1104中的计算机指令由处理器1101加载并执行如下步骤:

接收第一节点设备发送的资源锁定通知消息,对第二区块链中的第二虚拟资源进行锁定,并设置第二虚拟资源的第二锁定时间;资源锁定通知消息是第一节点设备对第一区块链中的第一虚拟资源进行锁定,并设置第一虚拟资源的第一锁定时间后发送的;

向第一节点设备发送资源锁定确认消息;

接收第一节点设备提交的第一解锁信息,采用第一解锁信息在第二锁定时间内对第二虚拟资源进行解锁,并在第二虚拟资源解锁成功后,将第二虚拟资源转移至第二区块链中的第一账户;第一解锁信息是第一节点设备接收到资源锁定确认消息后发送的;

向第一节点设备提交第二解锁信息,使第一节点设备采用第二解锁信息在第一锁定时间内对第一虚拟资源进行解锁,并在第一虚拟资源解锁成功后由第一节点设备将第二虚拟资源转移至第一区块链中的第二账户。

本申请实施例中,第一区块链中存储有第一对象的第一虚拟资源,第一区块链中的第一虚拟资源被锁定,并设置第一锁定时间,第二区块链中存储有第二对象的第二虚拟资源,第二区块链中的第二虚拟资源被锁定,并设置第二锁定时间;当第二虚拟资源在第二锁定时间内被成功解锁,则第二虚拟资源被转移至第二区块链中与第一对象相关联的第一账户;当第一虚拟资源在第一锁定时间内被成功解锁,则第一虚拟资源被转移至第一区块链中与第二对象相关联的第二账户;可见,第一区块链与第二区块链之间实现了跨链资源交换,并且在第一区块链与第二区块链的跨链资源交换过程中,第一区块链和第二区块链中的虚拟资源均被锁定并设置锁定时间,也就是说,第一区块链和第二区块链中的虚拟资源均被双重锁定,这样可以提升第一区块链与第二区块链之间跨链资源交换的安全性。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的基于区块链的跨链处理方法。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术对象在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种低温多效海水淡化清洗污泥在线脱除系统
  • 低温多效海水淡化清洗除垢系统及清洗除垢方法
技术分类

06120116559816