跨链消息可靠传递方法、装置以及电子设备制造方法及图纸

技术编号:31157366 阅读:52 留言:0更新日期:2021-12-04 09:54
本申请实施例中提供了一种跨链消息可靠传递方法、装置以及电子设备,旨在降低跨链交互期间主链的消息处理压力,并提升跨链消息的传递可靠性。其中,跨链消息可靠传递方法包括:目标链接收主链发送的跨链消息哈希值,该哈希值是源链发送给主链的;目标链根据该哈希值,从源链处获取对应的跨链消息和跨链消息对应的第一默克尔证明;目标链根据跨链消息和第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,并查询主链中是否保存有与第一根哈希值相同的根哈希值;在主链中保存有与第一根哈希值相同的根哈希值的情况下,目标链处理该跨链消息。链消息。链消息。

【技术实现步骤摘要】
跨链消息可靠传递方法、装置以及电子设备


[0001]本申请涉及区块链
,具体地,涉及一种跨链消息可靠传递方法、装置以及电子设备。

技术介绍

[0002]区块链技术作为一种分布式账本技术,其技术优势主要体现于数据信息不可篡改、数据信息可溯源、分布式去中心化、无须信任系统等方面,区块链技术目前已经在金融、健康医疗、供应链、资产管理、互联网电商等诸多领域得以应用。
[0003]相关技术中,为了使异构区块链/同构区块链之间实现数据流转,跨链技术应运而生。在跨链技术中,为了避免参与跨链的两个区块链中的某个区块链作恶,篡改跨链交易消息,可以在两个区块链之间设置主链,并利用主链对两个区块链之间的跨链消息进行存证。在两个区块链日后对跨链消息产生争议时,主链存证的跨链消息可以作为解决争议的依据。然而随着接入主链的区块链数量的增加,多个区块链中两两之间随时可能产生跨链交互,导致主链的跨链消息处理压力增大,主链性能受到影响。

技术实现思路

[0004]本申请实施例中提供了一种跨链消息可靠传递方法、装置以及电子设备,旨在降低跨链交互期间主链的消息处理压力,并提升跨链消息的传递可靠性。
[0005]根据本申请实施例的第一个方面,提供了一种跨链消息可靠传递方法,应用于跨链系统,所述跨链系统包括主链和多个子链,所述方法包括:所述主链接收源链发送的跨链消息哈希值、所述源链的第一子链标识以及目标链的第二子链标识,并根据所述第二子链标识,将所述哈希值和所述第一子链标识发送给所述第二子链标识对应的所述目标链;其中,所述源链和所述目标链是所述多个子链中的两个子链;所述目标链根据所述第一子链标识和所述哈希值,从所述第一子链标识对应的所述源链处,获取所述跨链消息和所述跨链消息对应的第一默克尔证明;所述目标链根据所述跨链消息和所述第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,并查询所述主链中是否保存有与所述第一根哈希值相同的根哈希值;在所述主链中保存有与所述第一根哈希值相同的根哈希值的情况下,所述目标链处理所述跨链消息。
[0006]根据本申请实施例的第二个方面,提供了一种跨链消息可靠传递方法,应用于跨链系统的多个子链中的任意一个子链,所述跨链系统还包括主链,所述方法包括:接收所述主链发送的跨链消息哈希值和第一子链标识,所述跨链消息哈希值是所述第一子链标识对应的子链发送给所述主链的;根据所述第一子链标识和所述哈希值,从所述第一子链标识对应的子链处,获取所述跨链消息和所述跨链消息对应的第一默克尔证明;
根据所述跨链消息和所述第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,并查询所述主链中是否保存有与所述第一根哈希值相同的根哈希值;在所述主链中保存有与所述第一根哈希值相同的根哈希值的情况下,处理所述跨链消息。
[0007]根据本申请实施例的第三个方面,提供了一种跨链消息可靠传递装置,应用于跨链系统的多个子链中的任意一个子链,所述跨链系统还包括主链,所述装置包括:哈希值接收模块,用于接收所述主链发送的跨链消息哈希值和第一子链标识,所述跨链消息哈希值是所述第一子链标识对应的子链发送给所述主链的;跨链消息获取模块,用于根据所述第一子链标识和所述哈希值,从所述第一子链标识对应的子链处,获取所述跨链消息和所述跨链消息对应的第一默克尔证明;第一根哈希值查询模块,用于根据所述跨链消息和所述第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,并查询所述主链中是否保存有与所述第一根哈希值相同的根哈希值;跨链消息处理模块,用于在所述主链中保存有与所述第一根哈希值相同的根哈希值的情况下,处理所述跨链消息。
[0008]根据本申请实施例的第三个方面,提供了一种电子设备,所述电子设备包括:处理器、存储器以及总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行上述跨链消息可靠传递方法。
[0009]采用本申请实施例中提供的跨链消息可靠传递方法、装置以及电子设备,源链将跨链消息的哈希值发送给主链,再由主链将哈希值路由给目标链。相比于跨链消息本身,跨链消息的哈希值通常具有更小的数据量,因此可以降低跨链交互期间主链的消息处理压力。此外,目标链从源链处获取跨链消息和跨链消息对应的第一默克尔证明,并根据跨链消息和第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,然后查询主链中是否保存有相同的根哈希值。如果保存有,则说明主链记录有跨链消息对应的默克尔树的根哈希值,而该根哈希值可以作为日后处理争议的依据,同时也说明目标链在直接从源链获取跨链消息的过程中,跨链消息没有被篡改。在此情况下,目标链才对跨链消息进行处理。可见本申请可以降低跨链交互期间主链的消息处理压力,并提升跨链消息的传递可靠性。
附图说明
[0010]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是本申请一实施例提出的跨链消息可靠传递方法的流程示意图;图2是本申请一实施例提出的子链生成第一默克尔树的示意图;图3是本申请一实施例提出的第二默克尔树的示意图;图4是本申请一实施例提出的跨链消息可靠传递方法的流程示意图;图5是本申请一实施例提出的跨链消息可靠传递装置的结构示意图;图6是本申请一实施例提供的电子设备的结构框图。
具体实施方式
[0011]在实现本申请的过程中,专利技术人发现,在跨链技术中,为了避免参与跨链的两个区块链中的某个区块链作恶,篡改跨链交易消息,可以在两个区块链之间设置主链,并利用主链对两个区块链之间的跨链消息进行存证。在两个区块链日后对跨链消息产生争议时,主链存证的跨链消息可以作为解决争议的依据。然而随着接入主链的区块链数量的增加,多个区块链中两两之间随时可能产生跨链交互,导致主链的跨链消息处理压力增大,主链性能受到影响。
[0012]针对上述问题,本申请实施例中提供了一种跨链消息可靠传递方法、装置以及电子设备,源链将跨链消息的哈希值发送给主链,再由主链将哈希值路由给目标链。相比于跨链消息本身,跨链消息的哈希值通常具有更小的数据量,因此可以降低跨链交互期间主链的消息处理压力。此外,目标链从源链处获取跨链消息和跨链消息对应的第一默克尔证明,并根据跨链消息和第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,然后查询主链中是否保存有相同的根哈希值。如果保存有,则说明主链记录有跨链消息对应的默克尔树的根哈希值,而该根哈希值可以作为日后处理争议的依据,同时也说明目标链在直接从源链获取跨链消息的过程中,跨链消息没有被篡改。在此情况下,目标链才对跨链消息进行处理。可见本申请可以降低跨链交互期间主链的消息处理压力,并提升跨链消息的传递可靠性。
[0013]本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
[0014]为了使本申请实施例中的技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨链消息可靠传递方法,其特征在于,应用于跨链系统,所述跨链系统包括主链和多个子链,所述方法包括:所述主链接收源链发送的跨链消息哈希值、所述源链的第一子链标识以及目标链的第二子链标识,并根据所述第二子链标识,将所述哈希值和所述第一子链标识发送给所述第二子链标识对应的所述目标链;其中,所述源链和所述目标链是所述多个子链中的两个子链;所述目标链根据所述第一子链标识和所述哈希值,从所述第一子链标识对应的所述源链处,获取所述跨链消息和所述跨链消息对应的第一默克尔证明;所述目标链根据所述跨链消息和所述第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,并查询所述主链中是否保存有与所述第一根哈希值相同的根哈希值;在所述主链中保存有与所述第一根哈希值相同的根哈希值的情况下,所述目标链处理所述跨链消息。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述多个子链中的每个子链每生成一个区块后,根据该区块中记录的跨链消息,生成第一默克尔树,并将该第一默克尔树的根哈希值发送给所述主链的主链节点进行保存。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述主链的每个主链节点在获得每个子链发送的根哈希值后,保存所述根哈希值;所述主链的主链节点在接收到所述目标链的查询请求后,以所述查询请求携带的所述第一根哈希值为索引,查询自身是否保存有与所述第一根哈希值相同的根哈希值,并将查询结果反馈给所述目标链。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述主链的每个主链节点在获得每个子链发送的根哈希值后,根据每个子链发送的根哈希值和每个子链的历史根哈希值,构建第二默克尔树,并将该第二默克尔树的根哈希值保存至所述主链新生成的区块中;如果所述主链的主链节点查询到与所述第一根哈希值相同的根哈希值,则该主链节点在向所述目标链反馈所述查询结果时,还将该根哈希值对应的第二默克尔证明反馈给所述目标链;所述目标链根据所述根哈希值和所述第二默克尔证明,计算相应的第二默克尔树的第二根哈希值,并查询所述主链的区块中是否保存有与所述第二根哈希值相同的根哈希值;所述在所述主链中保存有与所述第一根哈希值相同的根哈希值的情况下,所述目标链处理所述跨链消息,包括:在主链的主链节点中保存有与所述第一根哈希值相同的根哈希值,且所述主链的区块中保存有与所述第二根哈希值相同的根哈希值的情况下,所述目标链处理所述跨链消息。5.一种跨链消息可靠传递方法,其特征在于,应用于跨链系统的多个子链中的任意一个子链,所述跨链系统还包括主链,所述方法包括:接收所述主链发送的跨链消息哈希值和第一子链标识,所述跨链消息哈希值是所述第一子链标识对应的子链发送给所述主链的;根据所述第一子链标识和所述哈希值,从所述第一子链标识对应的子链处,获取所述跨链消息和所述跨链消息对应的第一默克尔证明;
根据所述跨链消息和所述第一默克尔证明,计算相应的第一默克尔树的第一根哈希值,并查询所述主链中是否保存有与所述第一根哈希值相同的...

【专利技术属性】
技术研发人员:李志平谢家贵郭健张波刘远超朱斯语
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

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

1