基于区块链侧链的遍历方法、装置和计算机可读存储介质制造方法及图纸

技术编号:29400907 阅读:19 留言:0更新日期:2021-07-23 22:38
本申请公开了一种基于区块链侧链的遍历方法、装置和计算机可读存储介质,该方法包括:链外客户端从源区块链获取交互数据包,交互数据包包括源区块链中的源区块头,中继服务端从链外客户端获取交互数据包,中继服务端将源区块头存入引用链,向源区块头中存入分支标识和区段标识,分支标识用于标识引用链的分支,区段标识用于标识引用链的区段,引用链为用于存放源区块头的集合,中继服务端根据分支标识和区段标识确认目标区块头是否在引用链主链上,目标区块头为需要确认的源区块头。由此可见,本申请可以根据分支标识和区段标识遍历快速确认目标区块头是否在引用链主链上,不必对主链上的区块头进行逐一遍历,提高了确认效率,降低了计算成本。

【技术实现步骤摘要】
基于区块链侧链的遍历方法、装置和计算机可读存储介质
本申请涉及数据处理的
,尤其涉及一种基于区块链侧链的遍历方法、装置和计算机可读存储介质。
技术介绍
区块链技术是分布式数据存储、点对点传输、分布式共识算法、加密算法等计算机技术的集成应用,具有数据不可篡改和不可伪造的特性。随着人们对区块链技术研究的逐步深入,越来越多的区块链项目开始落地实施,尤其在金融、流程管理、数据追溯、供应链管理及医疗保险等领域,区块链技术可以产生颠覆性的影响,然而,由于数据存储的封闭性,这些区块链项目之间的交互能力极其有限,不可避免地造成了区块链的价值孤岛。目前,跨链技术主要包括:公证人机制(notaryscheme)、侧链/中继(sidechain/relay)和哈希锁定(Hash-locking),其中中继技术因其不依赖可信任第三方背书而成为研究的重点领域。但中继技术在独立验证交易数据的过程中需要确认目标区块头位于侧链主链上,而这个过程往往需要对侧链进行逐一遍历,效率低下且计算成本高。因此,亟需探究一种快速、高效且计算成本低的侧链遍历方式。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种基于区块链侧链的遍历方法、装置和计算机可读存储介质,可快速确认目标区块头是否在主链上实现对侧链高效且计算成本低的遍历。本申请一方面提供了一种基于区块链侧链的遍历方法,该方法由中继服务端执行,该方法包括:获取链外客户端发送的交互数据包;所述交互数据包是由所述链外客户端从源区块链获取的;所述交互数据包包括所述源区块链中的源区块头;将所述源区块头存入引用链,向所述源区块头中存入分支标识和区段标识;所述分支标识用于标识所述引用链的分支;所述区段标识用于标识所述引用链的区段;所述引用链为用于存放所述源区块头的集合;根据所述分支标识和所述区段标识确认目标区块头是否在所述引用链主链上;所述目标区块头为需要确认的所述源区块头。优选地,所述分支标识的增量为大于零的整数;所述分支标识存储哈希地址值;所述向所述源区块头中存入分支标识和区段标识,包括:当所述引用链未出现分叉时,所述源区块头中存入的所述分支标识和所述区段标识的值与所述源区块头的父区块的所述分枝标识和所述区段标识的的值相同;当所述引用链出现分叉时,所述源区块头中存入的所述分支标识的值为所述分支标识的下一个值;所述源区块头中存入的所述区段标识为所述父区块的哈希值;同时更新所述源区块头的兄弟区块的所述区段标识为所述父区块的哈希值。优选地,所述根据所述分支标识和所述区段标识确认目标区块头是否在所述引用链主链上,包括:获取所述引用链主链的主链分支头;当所述目标区块头的所述分支标识大于所述主链分支头的所述分支标识时,确认所述目标区块头不在所述引用链主链上;当所述目标区块头的所述分支标识等于所述主链分支头的所述分支标识时,确认所述目标区块头在所述引用链主链上;当所述目标区块头的所述分支标识小于所述主链分支头的所述分支标识时,根据所述区段标识确认目标区块头是否在所述引用链主链上。优选地,所述根据所述区段标识确认目标区块头是否在所述引用链主链上,包括:获取所述引用链的目标区段头;所述目标区段头是根据所述主链分支头中的所述区段标识遍历所述引用链中的区段头获得的;所述目标区段头的所述分支标识小于等于所述目标区块头的所述分支标识;当所述目标区段头的所述分支标识小于所述目标区块头的所述分支标识时,确认所述目标区块头不在所述引用链主链上;当所述目标区段头的所述分支标识等于所述主链分支头的所述分支标识时,获取所述目标区段头和所述目标区块头的区块高度;当所述目标区块头的所述区块高度大于所述目标区段头的所述区块高度时,确认所述目标区块头不在所述引用链主链上;当所述目标区块头的所述区块高度小于等于所述目标区段头的所述区块高度时,确认所述目标区块头在所述引用链主链上。本申请一方面提供了一种基于区块链侧链的遍历方法,该方法包括:链外客户端从源区块链获取交互数据包;所述交互数据包包括所述源区块链中的源区块头;链外客户端从源区块链获取交互数据包;所述交互数据包包括所述源区块链中的源区块头;中继服务端从所述链外客户端获取所述交互数据包;所述中继服务端将所述源区块头存入引用链,向所述源区块头中存入分支标识和区段标识;所述分支标识用于标识所述引用链的分支;所述区段标识用于标识所述引用链的区段;所述引用链为用于存放所述源区块头的集合;所述中继服务端根据所述分支标识和所述区段标识确认目标区块头是否在所述引用链主链上;所述目标区块头为需要确认的所述源区块头。本申请一方面提供了一种基于区块链的跨链交易装置,该装置应用于中继服务端,该装置包括:获取模块、存储模块和确认模块;获取模块,用于获取链外客户端发送的交互数据包;所述交互数据包是由所述链外客户端从源区块链获取的;所述交互数据包包括所述源区块链中的源区块头;存储模块,用于将所述源区块头存入引用链,向所述源区块头中存入分支标识和区段标识;所述分支标识用于标识所述引用链的分支;所述区段标识用于标识所述引用链的区段;所述引用链为用于存放所述源区块头的集合;确认模块,用于根据所述分支标识和所述区段标识确认目标区块头是否在所述引用链主链上;所述目标区块头为需要确认的所述源区块头。本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。本申请中链外客户端从源区块链获取交互数据包,交互数据包包括源区块链中的源区块头,中继服务端从链外客户端获取交互数据包,中继服务端将源区块头存入引用链,向源区块头中存入分支标识和区段标识,分支标识用于标识引用链的分支,区段标识用于标识引用链的区段,引用链为用于存放源区块头的集合,中继服务端根据分支标识和区段标识确认目标区块头是否在引用链主链上,目标区块头为需要确认的源区块头。由此可见,本申请可以根据分支标识和区段标识遍历快速确认目标区块头是否在引用链主链上,不必对主链上的区块头进行逐一遍历,提高了确认效率,降低了计算成本。附图说明为了更清楚地说明本专利技术实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一本文档来自技高网...

【技术保护点】
1.一种基于区块链侧链的遍历方法,其特征在于,由中继服务端执行所述方法,所述方法包括:/n获取链外客户端发送的交互数据包;所述交互数据包是由所述链外客户端从源区块链获取的;所述交互数据包包括所述源区块链中的源区块头;/n将所述源区块头存入引用链,向所述源区块头中存入分支标识和区段标识;所述分支标识用于标识所述引用链的分支;所述区段标识用于标识所述引用链的区段;所述引用链为用于存放所述源区块头的集合;/n根据所述分支标识和所述区段标识确认目标区块头是否在所述引用链主链上;所述目标区块头为需要确认的所述源区块头。/n

【技术特征摘要】
1.一种基于区块链侧链的遍历方法,其特征在于,由中继服务端执行所述方法,所述方法包括:
获取链外客户端发送的交互数据包;所述交互数据包是由所述链外客户端从源区块链获取的;所述交互数据包包括所述源区块链中的源区块头;
将所述源区块头存入引用链,向所述源区块头中存入分支标识和区段标识;所述分支标识用于标识所述引用链的分支;所述区段标识用于标识所述引用链的区段;所述引用链为用于存放所述源区块头的集合;
根据所述分支标识和所述区段标识确认目标区块头是否在所述引用链主链上;所述目标区块头为需要确认的所述源区块头。


2.根据权利要求1所述的方法,其特征在于,所述分支标识的增量为大于零的整数;所述分支标识存储哈希地址值;所述向所述源区块头中存入分支标识和区段标识,包括:
当所述引用链未出现分叉时,所述源区块头中存入的所述分支标识和所述区段标识的值与所述源区块头的父区块的所述分枝标识和所述区段标识的的值相同;
当所述引用链出现分叉时,所述源区块头中存入的所述分支标识的值为所述分支标识的下一个值;所述源区块头中存入的所述区段标识为所述父区块的哈希值;同时更新所述源区块头的兄弟区块的所述区段标识为所述父区块的哈希值。


3.根据权利要求2所述的方法,其特征在于,所述根据所述分支标识和所述区段标识确认目标区块头是否在所述引用链主链上,包括:
获取所述引用链主链的主链分支头;
当所述目标区块头的所述分支标识大于所述主链分支头的所述分支标识时,确认所述目标区块头不在所述引用链主链上;
当所述目标区块头的所述分支标识等于所述主链分支头的所述分支标识时,确认所述目标区块头在所述引用链主链上;
当所述目标区块头的所述分支标识小于所述主链分支头的所述分支标识时,根据所述区段标识确认目标区块头是否在所述引用链主链上。


4.根据权利要求2或3所述的方法,其特征...

【专利技术属性】
技术研发人员:汪泽消
申请(专利权)人:杭州丽冠科技有限公司
类型:发明
国别省市:浙江;33

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

1