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

一种跨链场景下的高并发中继事务协调方法及系统

文献发布时间:2023-06-29 06:30:04


一种跨链场景下的高并发中继事务协调方法及系统

技术领域

本发明涉及一种跨链场景下的高并发中继事务协调方法及系统,属于区块链跨链技术领域。

背景技术

随着区块链网络的迅猛发展,各种区块链之间的融合需求日益增长,例如多种公有链、私有链和联盟链,单区块链在交易处理能力和可扩展性方面始终限制着区块链大范围的落地应用,因此对跨链交互的诉求越来越突出,产生一个问题,即不同区块链之间如何进行通信甚至价值交换,因此跨链技术应运而生。跨链技术经历了从单链扩张时期到中继等跨链平台的多链协同时期,目前主要有三种常用的跨链机制:第一种是哈希锁定,第二种是公证人机制,第三种是利用中继链的机制。

然而在目前大规模跨链互操作的应用场景下,跨链事务逐渐具有复杂度高、多样化、高并发的特点,跨链交互特频率随之升高,对于以上三种常用的跨链机制而言,哈希锁定通过锁定一条链上的数字资产,并在对应另一条链上生成对应的代币,一般适用于两条链之间的资产交互,通用性较差。公证人机制通过公证人来进行跨链操作,需要公证人的公正性作为保证,因此容易产生中心化风险,而中继链的机制由于缺少一些事务处理、高效路由的措施,跨链事务处理效率低,同时无法满足高并发需求。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种跨链场景下的高并发中继事务协调方法及系统,解决现有跨链事务处理效率低,无法满足高并发需求的问题。

为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种跨链场景下的高并发中继事务协调方法,所述方法包括:

接收交易请求,拆分并分级管理跨链全局事务,记录跨链交互信息的状态,实现局部事务责任定位;

进行跨链交互信息的自适应动态转发与跨链流量管理,将跨链交互信息转发至区块链;

进行中继链的链上数据拓展以及计算下放,以实现中继链的链下数据的安全与可信。

进一步的,所述接收交易请求,拆分并分级管理跨链全局事务,记录跨链交互信息的状态,实现局部事务责任定位,包括:

采用多维消息队列将跨链全局事务拆分成跨链子事务,对跨链子事务进行分类,并根据跨链子事务的优先级对跨链子事务进行排序。

进一步的,所述跨链全局事务设有跨链全局事务ID,所述跨链子事务设有跨链子事务ID,所述跨链全局事务ID绑定有对应的跨链子事务ID。

进一步的,所述接收交易请求,拆分并分级管理跨链全局事务,记录跨链交互信息的状态,实现局部事务责任定位,还包括:

初始化跨链子事务的状态,执行跨链子事务,根据执行结果反馈跨链子事务状态,利用分层有限状态机对跨链子事务状态进行记录,决定其是否需要回滚;

其中,所述分层有限状态机包括外层状态机和子状态机,所述跨链全局事务对应外层状态机,所述跨链子事务对应子状态机;

若所有跨链子事务执行成功,则外层状态机将该跨链全局事务状态设置为执行成功,否则根据失败跨链子事务的ID进行责任定位,将其状态标记为需要回滚。

进一步的,所述跨链子事务之间若存在依赖关系,则通过中继事务模块中的跨链事务依赖图进行管理。

进一步的,所述进行跨链交互信息的自适应动态转发与跨链流量管理,将跨链交互信息转发至区块链,包括:

根据不同跨链子事务消息队列,通过查询分布式哈希表进行路由寻址,将跨链子事务及其状态发送至中间网关,所述中间网关根据现有链路流量情况动态选择跨链路径,将跨链子事务及其状态发送至中继链,所述中间网关监听该跨链子事务执行状态。

进一步的,所述进行中继链的链上数据拓展以及计算下放,以实现中继链的链下数据的安全与可信,包括:

搭建去中心化预言机网络,将跨链消息的证明通过链上智能合约选择相应的预言机进行计算,并将数据传输至链上智能合约;所述链上智能合约聚合所选预言机传输的数据并返回具有结果签名的链下数据报告。

进一步的,所述预言机网络的节点之间采用共识验证技术;在发生故障时,采用自动故障切换机切换故障的预言机网络的节点。

第二方面,本发明提供了一种跨链场景下的高并发中继事务协调系统,包括:

中继事务处理模块,用于接收交易请求,拆分并分级管理跨链全局事务,记录跨链交互信息的状态,实现局部事务责任定位;

高效路由模块,用于进行跨链交互信息的自适应动态转发与跨链流量管理,将跨链交互信息转发至区块链;

链上数据扩容模块,用于进行中继链的链上数据拓展以及计算下放,以实现中继链的链下数据的安全与可信。

进一步的,所述高效路由模块包括中间网关,所述中间网关连接区块链,所述区块链包括应用链和中继链;所述中间网关包括控制层和数据层;所述控制层用于区块链网络的拓扑控制,并根据现有链路流量情况,动态选择跨链路径;所述数据层用于根据跨链协议适配区块链并将跨链交互信息转发至区块链,查询相应区块链上的跨链全局事务状态。

与现有技术相比,本发明所达到的有益效果:

本发明基于有限状态机的无锁异步中继事务处理技术,通过事务拆分与利用多维消息队列对于不同优先级跨链子事务进行分类,实现了对跨链全局事务处理流量的削峰,提高了处理效率;采用的有限状态机记录跨链全局事务状态,可以实现快速地查询及修改跨链全局事务状态;通过无锁异步中继事务处理技术,解决了高并发场景下同步技术需要等待、锁定时间过长的问题;引入依赖事务的有向无环图,最终实现细粒度的局部跨链事务回滚与责任定位,实现跨链全局事务的最终一致性与操作原子性。

通过将中继链链上的计算下放至去中心化的预言机网络的节点中,实现了中继链的链上数据以及计算的拓展,通过具有结果签名的中继链链下数据报告,追溯问题节点,保证节点问责性,并通过自动故障切换机提升数据获取效率。同时,预言机网络的节点之间采用权威的共识验证技术,保障数据的安全与可信。

通过中间网关数据层与控制层的分离,结合消息队列中跨链子事务的优先级,实现跨链流量管理与跨链交互信息的自适应动态转发。

附图说明

图1是本发明实施例提供的基于知识图谱的区块链跨链信息交互验证方法的步骤流程图;

图2是本发明实施例提供的基于知识图谱的区块链跨链信息交互验证方法中的多维消息队列及事务拆分图;

图3是本发明实施例提供的基于知识图谱的区块链跨链信息交互验证方法中的分层有限状态机示意图;

图4是本发明实施例提供的基于知识图谱的区块链跨链信息交互验证方法中的跨链事务依赖有向无环图;

图5是本发明实施例提供的基于知识图谱的区块链跨链信息交互验证方法中的跨链架构及其流程图;

图6是本发明实施例提供的基于知识图谱的区块链跨链信息交互验证系统的模块示意图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符"/",一般表示前后关联对象是一种“或”的关系。

实施例一:

如图1~图5所示,本发明实施例提供了一种跨链场景下的高并发中继事务协调方法,包括:

接收交易请求,拆分并分级管理跨链全局事务,记录跨链交互信息的状态,实现局部事务责任定位;

进行跨链交互信息的自适应动态转发与跨链流量管理,将跨链交互信息转发至区块链;

进行中继链的链上数据拓展以及计算下放,以实现中继链的链下数据的安全与可信。

需要说明的是,在本发明实施例中,所述接收交易请求,拆分并分级管理跨链全局事务,记录跨链交互信息的状态,实现局部事务责任定位,包括:

采用多维消息队列将跨链全局事务拆分成跨链子事务,对跨链子事务进行分类,并根据跨链子事务的优先级对跨链子事务进行排序。

初始化跨链子事务的状态,执行跨链子事务,根据执行结果反馈跨链子事务状态,利用分层有限状态机对跨链子事务状态进行记录,决定其是否需要回滚;

其中,所述分层有限状态机包括外层状态机和子状态机,所述跨链全局事务对应外层状态机,所述跨链子事务对应子状态机;所述跨链全局事务设有跨链全局事务ID,所述跨链子事务设有跨链子事务ID,所述跨链全局事务ID绑定有对应的跨链子事务ID。

在这一过程中,若所有跨链子事务执行成功,则外层状态机将该跨链全局事务状态设置为执行成功,否则根据失败跨链子事务的ID进行责任定位,将其状态标记为需要回滚。所述跨链子事务之间若存在依赖关系,则通过中继事务模块中的跨链事务依赖图进行管理。

所述进行跨链交互信息的自适应动态转发与跨链流量管理,将跨链交互信息转发至区块链,包括:

根据不同跨链子事务消息队列,通过查询分布式哈希表进行路由寻址,将跨链子事务及其状态发送至中间网关,所述中间网关根据现有链路流量情况动态选择跨链路径,将跨链子事务及其状态发送至中继链,所述中间网关监听该跨链子事务执行状态。

所述进行中继链的链上数据拓展以及计算下放,以实现中继链的链下数据的安全与可信,包括:

搭建去中心化预言机网络,将跨链消息的证明通过链上智能合约选择相应的预言机进行计算,并将数据传输至链上智能合约;所述链上智能合约聚合所选预言机传输的数据并返回具有结果签名的链下数据报告。

其中,所述预言机网络的节点之间采用共识验证技术;在发生故障时,采用自动故障切换机切换故障的预言机网络的节点。

本发明实施例提供的一种跨链场景下的高并发中继事务协调方法,具体步骤如下:

步骤一:中继链将跨链全局事务拆分成仅含有单目的链的单账户跨链子事务,并使用多维消息队列针对不同应用链的跨链子事务进行分类,对于每一个特定应用链的跨链子事务消息队列,根据跨链子事务的优先级对其进行排序,同时,每个跨链子事务具有相应的跨链子事务ID,跨链子事务ID与对应的跨链全局事务ID绑定。

步骤二:中继链采用分层有限状态机,其中,跨链全局事务对应外层状态机,其不同的跨链子事务对应不同的跨链子事务状态机,将状态机中跨链事务的状态置为“执行中”,若后续执行失败,则将其状态标记为“需要回滚”,若跨链全局事务的所有跨链子事务均执行成功,则将跨链全局事务状态标记为“执行成功”。

步骤三:若拆分成的跨链子事务之间存在依赖关系,则通过跨链事务依赖有向无环图进行管理。例如:在子事务1完成之后才可以执行子事务2,此时记录存在依赖关系的跨链子事务,综合跨链子事务的优先级以及依赖关系进行处理。

步骤四:中继链根据不同应用链的跨链子事务消息队列,利用高效路由模块通过查询分布式哈希表进行路由寻址,将跨链子事务及其状态发送至中间网关,中间网关通过自适应路由选择策略,根据现有链路流量情况,动态选择跨链路径,最后将跨链子事务及其状态传送至目的中继链,并通知发送中继链跨链子事务的执行状态,同时,中间网关会监听该跨链子事务的执行状态。

步骤五:对传输给中继链的跨链消息进行证明及验证,通过去中心化预言机网络将这些证明传递给智能合约,通过智能合约选择合适的预言机进行计算。计算完毕后,数据传输回该智能合约,链上智能合约通过聚合所选择预言机提供的证明数据,从而加速共识过程。在预言机网络的节点出现问题时,由于预言机网络的节点会返回具有结果签名的中继链链下数据报告,该数据报告使得中继链链上智能合约可以在发生问题时,追溯问题预言机网络的节点,同时预言机网络的节点之间采用基于权威的共识验证技术保障数据的安全,在发生故障时采用自动故障切换机来切换故障的预言机网络节点。

本发明实施例公开了一种跨链场景下的高并发中继事务协调方法,基于有限状态机的无锁异步中继事务处理技术,通过事务拆分与利用多维消息队列对于不同优先级跨链子事务进行分类,实现了对跨链全局事务处理流量的削峰,提高了处理效率;采用的有限状态机记录跨链全局事务状态,可以实现快速地查询及修改跨链全局事务状态;通过无锁异步中继事务处理技术,解决了高并发场景下同步技术需要等待、锁定时间过长的问题;引入依赖事务的有向无环图,最终实现细粒度的局部跨链事务回滚与责任定位,实现跨链全局事务的最终一致性与操作原子性。

通过将中继链链上的计算下放至去中心化的预言机网络的节点中,实现了中继链的链上数据以及计算的拓展,通过具有结果签名的中继链链下数据报告,追溯问题节点,保证节点问责性,并通过自动故障切换机提升数据获取效率。同时,预言机网络的节点之间采用权威的共识验证技术,保障数据的安全与可信。

通过中间网关数据层与控制层的分离,结合消息队列中跨链子事务的优先级,实现跨链流量管理与跨链交互信息的自适应动态转发。

实施例二:

基于实施例一所述的一种跨链场景下的高并发中继事务协调方法,本实施例提供了一种跨链场景下的高并发中继事务协调系统,如图2~图6所示,包括:

中继事务处理模块,用于接收交易请求,拆分并分级管理跨链全局事务,记录跨链交互信息的状态,实现局部事务责任定位;

高效路由模块,用于进行跨链交互信息的自适应动态转发与跨链流量管理,将跨链交互信息转发至区块链;

链上数据扩容模块,用于进行中继链的链上数据拓展以及计算下放,以实现中继链的链下数据的安全与可信。

需要说明的是,在本发明实施例中,中继事务处理模块针对需要多条区块链协作的复杂跨链事务,将来源链提出的分布式跨链事务拆分为仅含有单目的链单账户的跨链子事务,采用多维消息队列技术实现针对不同目的链的跨链子事务的分类以及优先级管理,如图2所示。同时采用分布式事务ID技术,生成跨链全局事务ID与其对应各个不同目的链的跨链子事务ID,方便对于子事务进行统一管理。

同时,中继事务处理模块初始化跨链子事务的状态,利用分层有限状态机对跨链全局事务状态进行记录,其中跨链全局事务对应外层状态机,其不同的跨链子事务拥有不同的跨链子事务状态机,如图3所示。状态机中事务的状态可分为“执行成功”、“执行失败”、“需要回滚”和“执行中”四种状态。在目的链执行完跨链子事务后,根据执行结果向中继链反馈跨链子事务状态,跨链子事务对应的跨链子事务状态机修改当前子事务状态。若所有跨链子事务执行成功,则外层状态机将该跨链全局事务状态设置为“执行成功”,否则根据失败跨链子事务的ID进行责任定位,将其状态标记为“需要回滚”。

在跨链事务执行需要跨链资源准备时,中继事务处理模块采用无锁异步事务处理方法,减少因等待资源就绪时的链上锁定时间,提升跨链事务处理效率及并发能力。对于在处理时存在依赖关系的跨链子事务,例如前后依赖关系,采用有向无环图的跨链事务依赖图来进行管理,如图4所示,从而实现细粒度的局部事务回滚与责任定位。

如图5所示,在本发明实施例中,高效路由模块包括中间网关,所述中间网关连接着不同区块链,区块链包括应用链和中继链,中间网关可以连接应用链和中继链,也可连接不同的应用链。所述中间网关包括控制层和数据层;中间网关实施控制平面与数据平面分离的策略。所述控制层用于区块链网络的拓扑控制,并根据现有链路流量情况,动态选择跨链路径;所述数据层用于根据跨链协议适配异构区块链并将跨链交互信息并行转发至区块链,查询相应区块链上的跨链全局事务状态,实现跨链交互的高效性,同时也保证了事务处理的最终一致性。

高效路由模块对于不同跨链路由采用分布式架构,引入基于经济平衡的奖惩机制防止联合作恶,同时自动同步中继链上的跨链交易状态进行合法性证明,保证了跨链交易的可信性。

在本发明实施例中,链上数据扩容模块通过搭建去中心化预言机网络实现链上数据拓展的功能,通过将中继链上的一些复杂的计算通过智能合约选择合适的预言机进行计算,计算完毕之后将数据传输至中继链的链上智能合约,中继链的链上智能合约聚合所选择预言机提供的数据并返回具有结果签名的链下数据报告,该链下数据报告使得中继链的链上智能合约在发生问题时,可以追溯问题预言机网络的节点,保证预言机网络节点的问责性。预言机网络的节点之间采用基于权威的共识验证技术保障数据的安全,采用自动故障切换机提升数据获取效率。

实施例三:

本实施例提供了一种跨链场景下的高并发中继事务协调方法的具体实施案例,以跨链资产交换为例,具体步骤如下:

步骤一:用户通过应用链A客户端发起跨链资产交易请求R,应用链A在接收请求后生成对应的跨链全局事务,通过智能合约锁定应用链A上的资产,并初始化该跨链全局事务ID和跨链全局事务状态。

步骤二:应用链A对应中间网关routerA接收该跨链资产交易请求R并记录该跨链全局事务的状态,接着将该跨链全局事务路由至中继链relayerA,同时中间网关routerA查询中继链中的跨链全局事务状态。

步骤三:中继链relayerA首先验证该跨链资产交易请求R,通过去中心化预言机网络将这些证明传递给智能合约,通过智能合约选择相应的预言机进行计算,计算完毕之后,数据传输回该智能合约,链上智能合约通过聚合所选择预言机提供的证明数据完成验证。接着将该跨链全局事务拆分成仅含有单目的链单账户的跨链子事务Ri。其中,1<=i<=N,N为拆分成的跨链子事务数量。使用多维消息队列Q针对不同目的链的跨链子事务进行分类,根据跨链子事务的优先级,对每一个特定目的链的跨链子事务消息队列Qj进行排序。其中,1<=j<=M,M为不同的目的链数量。跨链子事务具有跨链子事务ID,与相应的跨链全局事务ID绑定。同时,中继链relayerA采用分层有限状态机,其中,跨链全局事务对应外层状态机S,其不同的跨链子事务对应不同的跨链子事务状态机Si,将跨链全局事务状态设置为“执行中”,若拆分成的跨链子事务之间存在依赖关系,例如在子事务Ri完成之后才可以执行子事务Rj,此时通过有向无环图记录存在依赖关系的跨链子事务,综合跨链子事务优先级以及依赖关系进行处理。

步骤四:中继链relayerA根据不同目的链的跨链子事务消息队列,通过查询分布式哈希表进行路由寻址,将跨链子事务Ri及其状态发送至中间网关routerA,中间网关routerA通过自适应路由选择策略,根据现有链路流量情况,动态选择跨链路径,最后将跨链子事务Ri及其状态传送至中继链relayerB,同时中间网关会监听该跨链子事务Ri的执行状态。

步骤五:以跨链子事务Ri为例,其对应跨链子事务状态机为Si,在中继链relayerB接收到该跨链子事务并通过跨链路由routerB传递至应用链B之后,应用链B执行该跨链子事务,即执行铸币条约,生成对应资产,并冻结中继链relayerA需要的资产,若执行失败,则将跨链子事务Ri的状态标记为“需要回滚”,并将执行的结果反馈至跨链路由routerB。

步骤六:跨链路由routerB在接收到应用链B反馈的执行结果之后,修改路由内存中对应的跨链子事务Ri的状态,并继续通知中继链relayerB修改跨链子事务Ri的状态。

步骤七:中继链relayerB在该跨链子事务Ri对应的跨链子事务状态机Si中修改其状态,若跨链子事务状态机Si的状态为“需要回滚”,则按照步骤四至六重新执行该事务,直到其成功,否则标记为“执行失败”,并通知中继链relayerA进行回滚操作。

步骤八:中间网关通过查询中继链relayerB得知该跨链子事务Ri已完成后,通知中继链relayerA,relayerA修改对应子事务状态Si。在所有跨链子事务均执行成功后,标记该对应的跨链全局事务状态为“执行成功”。

步骤九:对于步骤三,在验证阶段预言机网络的节点出现问题时,由于预言机网络的节点会返回具有结果签名的链下数据报告,该数据报告使得中继链的链上智能合约在发生问题时,可以追溯问题预言机网络的节点,同时预言机网络的节点之间采用基于权威的共识验证技术保障数据的安全,在发生故障时采用自动故障切换机来切换故障的预言机网络节点。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种在单个边缘计算服务器场景下基于线性搜索的移动区块链优化算力分配方法
  • 一种在多个边缘计算服务器场景下基于模拟退火的移动区块链优化算力分配方法
  • 一种硬件损伤条件下满足双向SWIPT中继系统的资源分配方法
  • 一种基于区块链网络下的区块实现方法及系统
  • 一种面向许可链的分布式跨链事务中继系统及其通信方法
  • 事务处理方法、中继网络、跨链网关、系统、介质和设备
技术分类

06120116023073