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

一种多联盟链网络的跨链数据可信迁移方法及系统

文献发布时间:2024-04-18 19:59:31


一种多联盟链网络的跨链数据可信迁移方法及系统

技术领域

本发明属于多联盟链网络中互联互通与跨链数据迁移领域,尤其涉及一种多联盟链网络的跨链数据可信迁移方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

在区块链的起步和发展过程中,出现了多种不同的区块链架构和协议,逐步形成了多链网络的新格局;多链网络迫切地需要实现不同区块链之间的互联的跨链互通技术,以打破孤立的多个异构区块链孤岛,推动区块链技术多样化发展和大规模应用。多链区块链网络跨链互通技术主要包括桥接和中继两类,桥接是指在两条或多条区块链之间建立连接,使它们能够相互传输数据和价值;中继是指在多条区块链之间建立一个中继层,使它们能够通过一个统一的协议进行交互。跨链数据迁移是指在不同的区块链之间传输数据的过程,其目的是实现区块链之间的互操作。

跨链技术是一种实现不同区块链之间资产流通和数据转移的技术手段,能够实现两条或多条区块链之间的安全可信地数据交换和价值传递,包括公证人、哈希锁定、侧链和中继链以及分布式私钥控制等跨链机制。基于跨链技术实现多链网络下的可信数据迁移将会打破“链孤岛”,提升多链网络的互操作性和可用性,推动异构区块链系统的融合应用。

当前多链网络中的跨链数据迁移还存在一些不足之处:第一,现有跨链协议的标准化程度不高,由于不同的跨链方案采用了不同的跨链协议,且这些协议之间缺乏统一的标准和规范,跨链数据迁移的复杂度和成本增加,跨链互操作性和兼容性较低;第二,跨链验证的安全性和效率不足,跨链验证是指对数据提供链上的数据进行可信认证,确保跨链迁移数据的一致性;目前,跨链验证主要依赖于预言机等第三方机构,这些机构可能存在信任风险、攻击风险或性能瓶颈等问题,影响跨链数据验证的安全性和效率;第三,跨链数据迁移事务透明性不足,在跨链数据迁移过程中,如果不实时监测事务状态,各参与方将无法及时了解跨链数据迁移的进展,导致错误或恶意行为被无法检测出来;因此,现有多链网络中的跨链数据迁移方案存在安全和性能问题。

发明内容

为克服上述现有技术的不足,本发明提供了一种多联盟链网络的跨链数据可信迁移方法及系统,基于中继跨链机制,引入跨链互信合约来保证应用链的信任度,引入面向消息的验证机制保证数据的可信,设置共享状态树节点追踪数据迁移事务状态,引入多版本并发控制机制来解决跨链数据迁移事务冲突,实现多链场景下不同区块链之间的数据迁移和协作,提高跨链数据迁移的安全性和效率,降低跨链数据迁移成本和多链系统的复杂度。

为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:

本发明第一方面提供了一种多联盟链网络的跨链数据可信迁移方法。

一种多联盟链网络的跨链数据可信迁移方法,包括:

基于中继跨链机制,数据请求链请求每条相邻应用链的跨链数据,并利用跨链互信合约,验证跨链数据迁移事务中两个链的可信性,接收验证通过的相邻应用链发送的跨链数据;

数据请求链为接收到的新数据构建新区块,将新区块广播给所有相邻区块链,实现多链数据同步;

其中,在中继跨链机制的中继链上设置共享状态树节点追踪所述跨链数据迁移事务的状态,引入多版本并发控制机制来解决跨链数据迁移事务并发控制问题。

进一步的,所述基于中继跨链机制,数据请求链请求每条相邻应用链的跨链数据,是遍历与之相邻的应用链集合中的每条相邻应用链,具体为:

多联盟链网络中所有应用链在中继链注册链信息,中继链为每条应用链分配访问密钥和共识节点;

数据请求链,基于跨链数据迁移事务发起请求,并将通过共识验证的请求消息发送给数据提供链,所述请求消息包括数据请求链的最新缓存数据以及该数据的消息身份验证码;

数据提供链生成响应消息,发送给数据请求链;

数据请求链利用跨链互信合约,通过比较信任向量,验证跨链数据迁移事务中两个链的可信性;

数据请求链接收并验证跨链数据。

进一步的,所述数据请求链,基于跨链数据迁移事务发起请求,并将通过共识验证的请求消息发送给数据提供链,具体为:

数据请求链从与之相邻的应用链集合中选择一条邻居区块链,作为数据提供链;

数据请求链的交互节点生成预定义格式的请求消息;

通过已注册的通信链路将请求消息发送到中继链分配的共识节点;

收到请求消息后,共识节点使用点对点协议向中继链上所有的共识节点广播这条请求消息;

调用异步共识协议进行共识;

共识完成后,中继链的共享状态树节点创建跨链数据迁移事务,数据提供链的共识节点把请求消息发送给数据提供链的交互节点。

进一步的,所述异步共识协议的具体步骤为:

每个共识节点设置一个本地缓冲区和一个计时器;

数据请求链的共识节点接收交互节点的请求消息,随后广播给中继链上所有的共识节点;

每个共识节点基于请求信息,构建一个提案并广播给其他共识节点,从一组提案中选择一个最优提案作为当前轮次的共识对象;

共识节点对最优提案进行投票,并将投票结果广播给其他共识节点;

判断投票结果是否满足预设的共识条件,满足则达成共识,创建跨链数据迁移事务,向数据请求链发送确认消息。

进一步的,所述数据提供链生成的响应消息,包括本地缓存中的所有跨链数据和该数据的消息身份验证码,共享状态树节点执行跨链数据迁移事务,数据提供链的交互节点将响应消息发送给数据请求链的交互节点。

进一步的,所述比较信任向量,具体为:

利用跨链互信合约的信任向量比较器,将数据提供链的交互节点的信任向量与数据请求链的交互节点的信任向量进行比较,如果比较结果满足数据请求链预设的信任标准,则接收来自该交互节点的响应消息,否则拒绝接收来自该交互节点的响应消息。

进一步的,所述数据请求链接收并验证跨链数据,具体为:

数据请求链的交互节点接收到数据提供链的交互节点发送的响应消息,重新计算响应消息中跨链数据的消息身份验证码,与响应消息的消息身份验证码进行比较,匹配则进行增量缓存,否则拒绝缓存;

共享状态树节点将跨链数据迁移事务标记为已完成,并更新共享状态树。

本发明第二方面提供了一种多联盟链网络的跨链数据可信迁移系统。

一种多联盟链网络的跨链数据可信迁移系统,包括数据迁移模块和数据同步模块:

数据迁移模块,被配置为:基于中继跨链机制,数据请求链请求每条相邻应用链的跨链数据,并利用跨链互信合约,验证跨链数据迁移事务中两个链的可信性,接收验证通过的相邻应用链发送的跨链数据;

数据同步模块,被配置为:数据请求链为接收到的新数据构建新区块,将新区块广播给所有相邻区块链,实现多链数据同步;

其中,在中继跨链机制的中继链上设置共享状态树节点追踪所述跨链数据迁移事务的状态,引入多版本并发控制机制来解决跨链数据迁移事务冲突。

本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的一种多联盟链网络的跨链数据可信迁移方法中的步骤。

本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的一种多联盟链网络的跨链数据可信迁移方法中的步骤。

以上一个或多个技术方案存在以下有益效果:

本发明引入了跨链互信合约和面向多链网络的异步共识协议,跨链互信合约保障了区块链之间的信任转移,能够防止恶意攻击并确保多链网络完整性;异步共识协议可以保证在一些节点不可用的情况下仍能就事务达成共识,降低了单点故障的风险,并提高了多链网络的弹性,能够降低消息处理和验证的开销,提高了系统的可扩展性。

本发明支持一条联盟链与多条联盟链之间的跨链数据迁移,具有较好的适用性。同时,减少了重复性工作,降低了开发和维护成本,通过提供标准框架简化通信以及通过减少消息处理和验证的开销来增强跨链数据迁移系统的可扩展性。

本发明引入了面向消息的验证机制,只有授权方可以访问或修改数据,提高了系统的安全性,减少了数据重复,有助于提高跨链交易的可信性和透明度,从而在网络中的不同节点之间实现更高效、更可靠的数据传输,使得开发和部署基于区块链的应用程序更为便捷。

本发明在多链网络下的跨链数据迁移中引入多版本并发控制,通过创建相同数据的多个版本来提高数据一致性,通过允许多个事务同时访问同一数据来提高性能减少事务等待时间。利用事务访问和更新同一数据的多个版本,提高了容错性,即使一个或多个节点发生故障或变得不可用,迁移过程也能够继续进行。

本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为第一个实施例的方法流程图。

图2为第一个实施例数据迁移与数据同步的关系图。

图3为第一个实施例数据迁移的具体流程图。

图4为第一个实施例异步共识协议流程图。

图5为第一个实施例数据同步的具体流程图。

图6为第一个实施例多版本并发控制的具体流程图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

名词解释

跨链互信合约:跨链互信合约是一个包含了从一条链到另一条链转移信任函数的智能合约,能够根据两条链上信任因素的相似性来计算一个多元信任向量,并保留两个链上的信任信息;跨链互信合约包括两个函数:信任向量生成器TVG和信任向量比较器TVC。

共享状态树节点:共享状态树节点部署在中继链上,用于存储跨不同链的状态信息,以便实现跨链数据迁移、合约调用等跨链操作;共享状态树节点充当了不同链之间状态共享和验证的桥梁,提升了多链网络中跨链互操作性,确保了数据迁移事务的安全性和透明性。

邻居区块链:邻居区块链是指在多链网络中,与某条区块链直接连接或间接连接的其他区块链;邻居区块链能够通过跨链协议来实现数据和价值的交换,从而提高整个网络的可用性。

针对背景技术中提及的问题,为安全高效地实现多链网络中异构区块链系统之间的跨链数据迁移事务,本发明基于异步共识协议、多版本并发控制机制、跨链互信合约和面向消息的验证机制设计了一种多链场景下跨链数据迁移的系统及方法:

设计了适用于多链网络的异步共识协议,它不要求所有节点同时达成一致,而是允许存在一定程度的分歧和延迟,提高了多链网络的容错性和扩展性。

多版本并发控制机制在跨链中继上维护一个全局版本号,在每个应用链上维护一个本地版本号,来保证跨链数据迁移事务的一致性和串行化执行,以实现多链网络中多链高并发可信数据迁移。

本发明对跨链数据迁移事务进行多版本并发控制,跨链数据迁移参与者通过部署在中继链上的共享状态树节点查看和追踪跨链数据迁移事务的状态,增加了对跨链操作的透明性和可信性,以确保跨链数据迁移事务的有效性和一致性。

本发明设计的跨链互信合约包含了从一条链到另一条链转移信任的函数,能够根据两个链上的信任因素的相似性来计算一个多元信任向量,并保留两个链上的信任信息,提高跨链数据迁移事务中数据源的可信性。

面向消息的验证机制的基本思想是每个跨链数据包都需要包含由数据提供链上的一个可信任的实体生成的签名,并附加到数据包上;当请求链收到数据包后,首先验证签名是否有效;验证通过后,根据签名中的信息执行相应的操作;这种面向消息的验证机制能够提高跨链数据迁移的效率和安全性,同时也降低开发和维护成本。

总之,本发明基于中继跨链机制,引入跨链互信合约来保证应用链的信任度,引入面向消息的验证机制保证数据的可信,设置共享状态树节点追踪数据迁移事务状态,引入多版本并发控制机制来解决跨链数据迁移事务冲突;能够确保多链场景下跨链数据迁移的数据安全性、迁移事务的可信性、并发处理的高效执行,实现了多链场景下不同区块链之间的数据迁移和协作,提高跨链数据迁移的安全性和效率,降低跨链数据迁移成本和多链系统的复杂度,可用于建立更加安全和高效的多链网络。

实施例一

在一个或多个实施方式中,公开了一种多联盟链网络的跨链数据可信迁移方法,如图1所示,包括如下步骤:

步骤S1:基于中继跨链机制,数据请求链请求每条相邻应用链的跨链数据,并利用跨链互信合约,验证跨链数据迁移事务中两个链的可信性,接收验证通过的相邻应用链发送的跨链数据;

步骤S2:数据请求链为接收到的新数据构建新区块,将新区块广播给所有相邻区块链,实现多链数据同步;

其中,在中继跨链机制的中继链上设置共享状态树节点追踪所述跨链数据迁移事务的状态,引入多版本并发控制机制来解决跨链数据迁移事务冲突。

下面对本实施例一种多联盟链网络的跨链数据可信迁移方法的实现过程进行详细说明。

本实施例的技术方案包括三个部分:数据迁移、数据同步、多版本并发控制,三者的关系,特别是数据迁移与数据同步的关系,如图2所示:数据迁移用于将多联盟链网络中所有应用链上的数据都迁移到一个应用链LA上,即数据整合到一个应用链LA上,数据同步用于将应用链LA上整合后的数据同步到多联盟链网络中的其他应用链,多版本并发控制用于对数据迁移中跨链数据迁移事务涉及的数据进行一致性控制。

在数据迁移阶段,应用链提前在中继链上对链信息进行注册;LA生成请求消息msg并发送给中继链上的共识节点C

在多链数据同步阶段,LA选择本地数据放入新区块并计算其MAC,将新区块与MAC广播给所有的邻居区块链。邻居区块链验证MAC选择是否接收,若接受,LA则将新区块添加到账本;

多版本并发控制,具体为:当跨链数据迁移事务Tx_change要修改LA中的数据时,首先创建快照,Tx_change修改快照反应对数据的期望,并检查是否与其他事务有冲突,若没有冲突则提交修改,否则Tx_change将中止并回滚。

基于上面三个部分,给出一种多联盟链网络的跨链数据可信迁移过程更为详尽的例子,步骤1-6是数据迁移部分,数据迁移的具体流程如图3所示,步骤7是数据同步部分,具体为:

1.应用链注册

在数据迁移之前,为确保数据源是可信的,需要多联盟链网络中每条应用链在中继链中注册链信息。

具体的,注册信息包括:用户定义的应用链名称name、通信链路Link、应用链类型type、配置文件路径Config-addr(配置文件包含有关应用链的配置信息,例如节点地址、端口、共识算法等)和证书文件路径CA-addr。

应用链信息被中继链接受并验证之后,中继链为每条应用链分配一个访问密钥ACCESS-key和一个共识节点,用于在数据迁移中与中继链进行通信。。

中继链上部署有共识节点、共享状态树节点、共享状态树合约,具体为:

共识节点:共识节点通过执行异步共识协议来验证和打包多链网络上的交易和区块,从而确保了整个网络的安全性;它们通过异步共识机制确保链上交易的合法性和一致性,防止双重花费、欺诈和其他恶意行为;共识节点在中继链上协调和验证跨链交易,使得不同链之间的数字资产迁移、合约调用和状态共享等跨链操作能够顺畅进行,确保了跨链交互的可信性和有效性。

共享状态树节点:用于记录跨链交易的信息和数据所有权信息;充当多链网络的桥梁,允许不同链之间查询和验证其他链上的状态,从而支持跨链交易、合约调用和数据迁移等功能,确保整个多链网络的安全性和一致性。

共享状态树节点部署有共享状态树合约,用于管理共享状态树的读取和更新操作,确保跨链事务的有效性和一致性;共享状态树合约包括三个方法:createMigrationTask()用于创建跨链数据迁移事务,指定要执行数据迁移事务的数据请求链和数据提供链;executeMigrationTask()用于验证和执行跨链数据迁移事务,确保事务的有效性和安全性;验证事务的状态、数据请求链和数据提供链等信息,执行数据传输操作,更新事务状态以记录事务的执行情况;completeMigrationTask()用于标记跨链数据迁移事务为已完成,维护事务的历史记录。它验证事务的状态和相关信息,记录事务的完成时间和状态,用于更新共享状态树以反映最终状态。

2.数据请求LA发起请求并通过共识验证

LA从与之相邻的应用链集合Z中,选择一条邻居区块链LB作为数据提供链;LA的交互节点I

2.1初始化

每个共识节点设置一个本地缓冲区和一个计时器t

2.2验证交易请求

应用链所属共识节点从应用链接收请求消息,随后广播给中继链上所有的共识节点,并将其放入本地缓冲区;每个共识节点检查本地缓冲区中的请求消息是否有效,如果无效则删除。

2.3提案

当计时器到达预设时间间隔t

2.4投票

共识节点对最优提案进行投票,并将投票结果广播给其他共识节点;每个共识节点接收其他共识节点广播的投票结果,并更新自己的投票记录表。

2.5判断共识条件

每个共识节点根据投票记录表判断是否满足共识条件,本实施例采用的共识条件为:是否有超过共识节点总数三分之二的有效支持某一提案。如果满足共识条件,则达成共识,否则进行下一轮共识。如果达成共识,则将共识结果添加到中继链上,并向应用链发送确认消息。

2.6完成共识

一旦共识完成,共享状态树节点SN调用createMigrationTask方法创建跨域数据迁移事务Tx_migrate,并指定事务中要执行数据迁移的数据请求链和数据提供链;共享状态树节点SN将记录Tx_migrate详细信息;共识节点C

3.LB的交互节点I

收到请求消息msg后,首先,I

4.LA的交互节点I

I

5.LA的交互节点I

I

随后I

一旦数据迁移事务成功完成,共享状态树节点调用completeMigrationTask方法,将跨链数据迁移事务Tx_migrate标记为已完成并更新共享状态树,以表明跨链数据迁移的成功。

6.重复步骤2到5,直到数据请求链LA从相邻应用链集合Z中选择了所有邻居区块链,即遍历所有邻居区块链,并接收了他们发送的所有跨链数据,即整合了多联盟链网络上的数据。

7.数据同步

数据同步是将整合后的数据同步到所有相邻区块链上,以便于进行跨链交互和业务逻辑处理,如图5所示,具体步骤如下:

7.1封装交易

整合后数据所在的应用链LA,为接收到的新数据构建新区块,应用链LA的交互节点I

7.2生成并广播MAC

应用链LA计算新区块的MAC,将新区块连同MAC一起广播到多联盟链网络中的所有相邻区块链。

7.3验证MAC

当相邻区块链收到新区块和MAC时,它会计算新区块的MAC以确保新区块的真实性;如果MAC有效,相邻的区块链会向LA回复确认消息;如果LA收到超过来自相邻区块链总数一半的确认消息,则认为新区块被接受;否则,新区块被认为是被拒绝的。

7.4完成数据同步

如果新区块被接受,应用链LA将其添加到账本中,并从本地缓存中删除新区块中已经封装的跨链数据;如果新区块被拒绝,则放弃它,并重新生成新块。

在上述过程中,涉及到跨链数据迁移事务,可能发生在同一时间点对同一份数据进行更新或修改的场景,在这种场景下每条区块链上的数据可能存在多个版本,为了保证数据的一致性,本实施例采用多版本并发控制机制,在跨链中继上维护一个全局版本号,在每个应用链上维护一个本地版本号,来保证跨链事务的一致性和串行化执行,以实现多链网络中多链高并发可信数据迁移,如图6所示,具体步骤为:

(1)生成快照

当其他应用链发起的跨链数据迁移事务Tx_change要修改LA中的一段数据时,它首先创建一个新版本的数据,称为快照,快照包含在Tx_change进行任何更改之前数据的状态。

(2)多版本数据创建

事务Tx_change修改快照以反映对目标数据的期望更改;同时,其他跨链数据迁移事务也可能正在修改它们自己的同一数据快照,从而创建数据的多个版本。

(3)新版本数据生成

当Tx_change准备提交对数据的修改时,它会检查是否与其他事务对同一数据的快照有冲突。如果没有冲突,Tx_change通过创建新版本的数据并将其添加到LA中来提交其修改。如果存在冲突,Tx_change将中止并回滚它所做的修改。然后它会使用新的数据快照重试事务,并在没有冲突的情况下提交其修改。

实施例二

在一个或多个实施例中,公开了一种多联盟链网络的跨链数据可信迁移系统,包括数据迁移模块和数据同步模块:

数据迁移模块,被配置为:基于中继跨链机制,数据请求链请求每条相邻应用链的跨链数据,并利用跨链互信合约,验证跨链数据迁移事务中两个链的可信性,接收验证通过的相邻应用链发送的跨链数据;

数据同步模块,被配置为:数据请求链为接收到的新数据构建新区块,将新区块广播给所有相邻区块链,实现多链数据同步;

其中,所述跨链数据迁移事务,采用多版本并发控制创建相同数据的多个版本,通过多个版本的冲突检查保证数据一致性。

实施例三

本实施例的目的是提供计算机可读存储介质。

计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例一所述的一种多联盟链网络的跨链数据可信迁移方法中的步骤。

实施例四

本实施例的目的是提供电子设备。

电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的一种多联盟链网络的跨链数据可信迁移方法中的步骤。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种高精度、简易便捷的钢管对接装置及钢管对接方法
  • 一种钢管热镀锌装置
  • 一种同轴套筒型缩径钢管同轴度检测装置
  • 一种同轴板型缩径钢管同轴度检测装置
  • 一种镀锌钢管高精度缩管成型装置
  • 一种镀锌钢管高精度缩管成型机构
技术分类

06120116520364