内外网跨链通信方法、装置、计算机设备和存储介质与流程

文档序号:25091490发布日期:2021-05-18 20:30阅读:118来源:国知局
内外网跨链通信方法、装置、计算机设备和存储介质与流程

1.本申请涉及数据安全技术领域,特别是涉及一种内外网跨链通信方法、装置、计算机设备和存储介质。


背景技术:

2.随着大数据时代的到来,公有链、私有链与联盟链的界限将越来越模糊,各行各业的联盟链彼此之间进行信息共享及信息流转也势在必行。
3.多链并存乃至多链协作是单链落地后的必然趋势。然而由于各个区块链底层系统异构使得链上数据互不相通,对于区块链来说,跨链技术是为区块链间通信提供服务的重要一环,是实现价值网络的关键,是区块链向外扩展和彼此连接的桥梁。
4.然而,由于目前的安全技术有所欠缺,出于对数据安全保护的考虑,部分区块链部署在内网中,基于网络的物理隔离,面向网络层的跨链通信方案并不适用于内、外网络区块链之间的交互。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种安全且有效的内外网跨链通信方法、装置、计算机设备和存储介质。
6.一种内外网跨链通信方法,方法包括:
7.监听源区块链上的跨链请求;
8.当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性;
9.当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据;
10.断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链;
11.其中,源区块链与目的区块链分别为不同隔离网络中的区块链,不同隔离网络包括内网网络和外网网络。
12.在其中一个实施例中,断开与源区块链的连接,建立与目的区块链的连接,并将跨链数据传输至目的区块链包括:
13.断开与源区块链的连接,建立与目的区块链的连接;
14.将跨链数据进行与目的区块链对应的格式转换,得到格式转换后的跨链数据;
15.传输格式转换后的跨链数据至目的区块链。
16.在其中一个实施例中,监听源区块链上的跨链请求包括:
17.实时监听源区块链上的传输请求;
18.提取传输请求中携带的接收地址;
19.若接收地址表征异构链地址,则判定传输请求为跨链请求。
20.在其中一个实施例中,验证跨链请求的真实性包括:
21.提取跨链请求携带的执行顺序数据;
22.根据执行顺序数据同步更新源区块链以及目的区块链对应的区块头信息;
23.根据更新的区块头信息对跨链请求进行spv(simplified payment verification,简单支付)验证。
24.在其中一个实施例中,监听源区块链上的跨链请求之前,还包括:
25.对源区块链以及目的区块链进行相互认知操作,以在源区块链上存储目的区块链的验证者信息、以及使目的区块链上存储源区块链的验证者信息;
26.内外网跨链通信方法还包括:
27.提取跨链请求中携带的验证者信息以及跨链请求在源链上的存在性证明;
28.通过验证者信息以及存在性证明对跨链请求携带的跨链数据进行检查操作;
29.若检查操作通过,则添加预设签名至跨链数据;
30.解析跨链数据中有效载荷字段,得到目的区块链地址;
31.根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链。
32.在其中一个实施例中,根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链包括:
33.将添加预设签名的跨链数据排入传输队列;
34.利用梅克尔树结构转发传输队列中数据至目的区块链。
35.在其中一个实施例中,通过验证者信息以及存在性证明对跨链请求携带的跨链数据进行检查操作之后,还包括:
36.将存在性证明存储至预设分布式存储系统;
37.根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链之后,还包括:
38.接收目的区块链反馈的验证通过信号;
39.转发验证通过信号至源区块链;
40.获取源区块链侧梅克尔树上生成的跨链证明,跨链证明由源区块链响应验证通过信号同步生成;
41.将跨链证明存储至预设分布式存储系统。
42.一种内外网跨链通信装置,装置包括:
43.监听模块,用于监听源区块链上的跨链请求;
44.验证模块,用于当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性;
45.缓存模块,用于当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据;
46.传输模块,用于断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链;
47.其中,源区块链与目的区块链分别为不同隔离网络中的区块链,不同隔离网络包括内网网络和外网网络。
48.一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
49.监听源区块链上的跨链请求;
50.当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性;
51.当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据;
52.断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链;
53.其中,源区块链与目的区块链分别为不同隔离网络中的区块链,不同隔离网络包括内网网络和外网网络。
54.一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
55.监听源区块链上的跨链请求;
56.当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性;
57.当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据;
58.断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链;
59.其中,源区块链与目的区块链分别为不同隔离网络中的区块链,不同隔离网络包括内网网络和外网网络。
60.上述内外网跨链通信方法、装置、计算机设备和存储介质,监听源区块链上的跨链请求,当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性,通过时,缓存跨链请求中携带的跨链数据,断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链。整个过程中,针对内外网之间跨链通信进行处理,采用异步的方式分别与内外网中源区块链以及目的区块链连接接收/传输数据,有效隔离内外网络,实现有效且安全的内外网跨链通信。
附图说明
61.图1为一个实施例中内外网跨链通信方法的应用环境图;
62.图2为一个实施例中内外网跨链通信方法的流程示意图;
63.图3为另一个实施例中内外网跨链通信方法的流程示意图;
64.图4为应用实例中内外网跨链通信方法的流程示意图;
65.图5为另一个应用实例中内外网跨链通信方法的流程示意图;
66.图6为一个实施例中内外网跨链通信装置的结构示意图;
67.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
68.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
69.本申请提供的内外网跨链通信方法,可以应用于如图1所示的应用环境中。其中,跨网中继分别与内网网络以及外网网络连接,内网网络与外网网络为物理隔离的两个网
络,在内网网络和外网网络中都存在区块链,以从内网网络中区块链需要发送数据至外网网络中区块链为例,即内网网络中的区块链为源区块链,外网网络中区块链为目的区块链,跨网中继监听源区块链上的跨链请求,当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性,通过时,缓存跨链请求中携带的跨链数据,断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链。非必要的,目的区块链还会反馈回执至跨网中继,跨网中继缓存反馈回执,断开与外网网络之间的连接,再建立与内网网络的连接,将反馈回执发送至内网网络,完成一轮的内外网跨网通信。
70.如图2所示,本申请提供一种内外网跨链通信方法,以该方法应用于图1中的跨网中继为例进行说明,包括以下步骤:
71.s200:监听源区块链上的跨链请求。
72.源区块链是指发起跨链请求的区块链。无论是内网中的区块链还是外网中的区块链只要监听到发起跨链请求,即该区块链为源区块链。可以通过创建监听线程来完成对内外网中区块链的监听,监听内外网中区块链发起的传输请求,若传输请求是的目的地为另一侧网络中的区块链,则判定该传输请求是一个跨链请求。
73.s400:当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性。
74.跨链中继在监听到源区块链上的跨链请求时,会断开与目的区块链的连接,开始接收来自源区块链的跨链请求,这样可以有效避免源区块链上的数据进入到目的区块链中,实现了源区块链与目的区块链直接的网络隔离,确保了数据的安全。以源区块链为a公司内部网络区块链(简称a区块链),目的区块链为天平区块链为例,跨网中继在监听到a区块链发出的跨链请求时,直接断开与天平区块链之间的连接,接收a区块链发出的跨链请求。跨网中继在接收到跨链请求之后,会验证跨链请求的真实性,其具体可以采用基于spv(security protocol verifier,安全协议验证工具)的真实性验证,确保跨链请求的真实性与有效性。
75.s600:当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据。
76.当跨链请求真实性验证通过时,表明这是一次真实的跨链请求任务,跨链中继缓存跨链请求中携带的跨链数据。具体可以将该跨链数据存放至跨链中继的临时缓存空间内,在该跨链数据中会携带有目的区块链的地址、需要发送至目的区块链的数据等内容。
77.s800:断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链。
78.跨链中继准备传输跨链数据至目的区块链,此时断开与源区块链之间的连接,确保源区块链以及目的区块链直接的网络隔离,建立起与目的区块链的连接,将跨链数据传输至目的区块链。简单来说,在跨链中继中可以设置于有源区块链连接的“入口”以及与目的区块链连接的“出口”,在“入口”和“出口”之间设置有“网闸接口”,“网闸接口”确保“出口”和“入口”之间在同一时间只有一个连通的,即确保“出口”和“入口”连通是异步的。
79.上述内外网跨链通信方法,监听源区块链上的跨链请求,当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性,通过时,缓存跨链请求中携带的跨链数据,断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链。整个过程中,针对内外网之间跨链通信进行处理,采用异步的方式分别与内
外网中源区块链以及目的区块链连接接收/传输数据,有效隔离内外网络,实现有效且安全的内外网跨链通信。
80.如图3所示,在其中一个实施例中,s800包括:
81.s820:断开与源区块链的连接,建立与目的区块链的连接;
82.s840:将跨链数据进行与目的区块链对应的格式转换,得到格式转换后的跨链数据;
83.s860:传输格式转换后的跨链数据至目的区块链。
84.源区块链与目的区块链中针对数据的格式可能不同,例如上述的a区块链和天平区块链,其内部数据格式不同,为了使数据能够准备被目的区块链接收、识别和处理,跨链中继对跨链数据进行与目的区块链对应的格式转换,将格式转换后的跨链数据传输至目的区块链。进一步的,在跨链中继中可以存储有源区块链和目的区块链对应数据格式协议,基于该两个数据格式协议完成对跨链数据的格式转换。
85.在其中一个实施例中,监听源区块链上的跨链请求包括:
86.实时监听源区块链上的传输请求;提取传输请求中携带的接收地址;若接收地址表征异构链地址,则判定传输请求为跨链请求。
87.在空闲状态下,跨链中继实时监听区块链上的传输请求,而发出传输请求的区块链即为源区块链,这些传输请求中可能是无需跨链的,针对无需跨链的请求,跨链中继无需处理,继续保持监听状态。具体来说,跨链中继可以提取传输请求中携带的接收地址,若该接收地址表征是异构链时,则表明该传输请求是一个跨链请求。
88.在其中一个实施例中,验证跨链请求的真实性包括:
89.提取跨链请求携带的执行顺序数据;根据执行顺序数据同步更新源区块链以及目的区块链对应的区块头信息;根据更新的区块头信息对跨链请求进行spv验证。
90.根据跨链请求中携带的执行顺序数据,不断同步更新源区块链以及目的区块链中区块头信息,根据不断更新的区块头信息对跨链请求进行spv验证,确保本次跨链请求的有效性。
91.在实际应用,如图4所示,以跨链交易为例,本申请内外网跨链通信方法可以包括以下几个阶段:
92.1、监听阶段
93.监听来自源区块链上的跨链请求,读取跨链请求并传递给验证模块。通过检查接收地址等附加信息来确定的,如果检测到交易输出中包含指定的接收地址,并且在附加信息中解码得到异构链地址,这样便可以确定是一笔跨链请求交易。
94.2、验证阶段
95.验证跨链请求的真实性和执行顺序,根据执行顺序进一步传递真实的跨链请求。需要跨链中继不断同步更新区块头信息,还需要对跨链交易进行spv验证,确保跨链交易的有效性。
96.3、执行阶段
97.根据目的链的数据结构将跨链数据进行相应的格式转换,切换内、外网网络连接并转发给天平链。通过检查模块的检查后,在调用跨链合约之前,需要检查序号以防止重放攻击。提交交易之后,执行模块需要等待链上执行的结果,并将结果通过跨链回执的方式返
回给跨链中继,跨链回执的传递流程和跨链交易类似。
98.在其中一个实施例中,监听源区块链上的跨链请求之前,还包括:
99.对源区块链以及目的区块链进行相互认知操作,以在源区块链上存储目的区块链的验证者信息、以及使目的区块链上存储源区块链的验证者信息;
100.内外网跨链通信方法还包括:提取跨链请求中携带的验证者信息以及跨链请求在源链上的存在性证明;通过验证者信息以及存在性证明对跨链请求携带的跨链数据进行检查操作;若检查操作通过,则添加预设签名至跨链数据;解析跨链数据中有效载荷字段,得到目的区块链地址;根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链。
101.在开始时刻,源区块链以及目的区块链之间需要执行相互认知操作,这个相互认知操作可以理解为使两个区块链在彼此区块链上完成注册,即在源区块链上存储目的区块链的验证者信息以及在目的区块链上存储源区块链的验证者信息。需要强调的是,这里的源区块链和目的区块链仅用于区分两个不同、且存在跨链通信的两个区块链,其并不特定指代哪一个区块链。具体来说,两个链相互发送各自的创世块和chainid(用于表示不同的链),完成在彼此链上的注册。由于创世块包含验证者信息,因此在注册后,源区块链与目的区块链将具有另一条链的验证者信息,进一步的还可以携带有另外一条链的区块头信息。在跨链交互的过程中,跨链中继接收到跨链请求时,提取跨链请求中携带的验证者信息,利用验证者信息完成对跨链请求事务的检查操作,通过检查的跨链交易会得到跨链中继的预设签名,证明跨链中继验证该跨链请求事务是合法的事务,解析跨链数据中有效载荷字段(payload),得到目的区块链地址,根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链
102.在其中一个实施例中,根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链包括:将添加预设签名的跨链数据排入传输队列;利用梅克尔树结构转发传输队列中数据至目的区块链。
103.梅克尔树(merkle trees)是区块链的基本组成部分。正是因为有了梅克尔树,以太坊节点才可以建立运行在所有的计算机、笔记本、智能手机。在本实施例中,采用传输队列的方式将添加预设签名的跨链数据传输至目的区块链,另外为了使数据能够安全、高效的传输至目的区块链,还利用梅克尔树结构转发。
104.在其中一个实施例中,通过验证者信息以及存在性证明对跨链请求携带的跨链数据进行检查操作之后,还包括:
105.将存在性证明存储至预设分布式存储系统;根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链之后,还包括:
106.接收目的区块链反馈的验证通过信号;转发验证通过信号至源区块链;获取源区块链侧梅克尔树上生成的跨链证明,跨链证明由源区块链响应验证通过信号同步生成;将跨链证明存储至预设分布式存储系统。
107.在本实施例中,针对源区块链在发出跨链请求时的存在性证明以及在接收到目的区块链回执之后的跨链证明均保存在预设分布式存储系统中,将其作为跨链通信的证据。在实际应用中,在将添加预设签名的跨链数据传输至目的区块链之后,目的区块链基于梅克尔树获取到跨链数据对应的pmessage,并首先通过自身链中的验证器检查pmessage中的区块头是否为源区块链的一部分,然后验证跨链事务的merkle证明是否等于该区块的头哈
希。当所有验证都通过时,目的区块链开始执行相关操作,同时,跨链中继向源区块链返回信号,源区块链同步生成跨链证明并存储在自身的出口梅克尔树上,跨链证明还会备份存储至预设分布式存储系统中。
108.为了详细说明上述实施例中本申请内外网跨链通信的技术方案及其效果,下面将采用a网的区块链(简称a网链)与天平链之间跨链交易请求为实例详细说明整个过程。
109.整个通信过程具体可以参见图5,其主要包括以下两个阶段:
110.一、注册阶段
111.首先,a网链与天平链需要相互认知。两个链相互发送各自的创世块和chainid(用于表示不同的链),完成在彼此链上的注册。由于创世块包含验证者信息,因此在注册后,a网链与天平链将具有另一条链的验证者信息以及区块头信息。
112.二、跨链交互阶段
113.假设a网链上的用户需要向天平链的用户发送数据,首先用户可以通过调用链上合约抛出跨链交易请求事件,跨链中继监听\收集到跨链请求后,将跨链事件与验证者信息打包一块,基于a网链侧的梅克尔树给出跨链交易请求在源链上的存在性证明,利用验证者信息完成对跨链请求事务的检查操作,通过检查的跨链交易会得到跨链中继的签名并进入跨链中继的跨链交易请求入口。跨链中继收到提交的跨链交易后,将数据缓存到数据交换区并断开与内网的连接,通过解析跨链交易信息的payload字段得到目标地址,利用外网接口与目标网络连接并将来自a网链的交易转发给目的链——天平链。跨链交易的实现是通过跨链中继将接收到的跨链请求排入交易队列并利用梅克尔树结构转发给天平链。天平链通过自身入口的梅克尔树获取pmessage,并首先通过自身链中的验证器检查pmessage中的区块头是否为a网链的一部分,然后验证跨链事务的merkle证明是否等于该区块的头哈希。当所有验证都通过时,天平链开始执行相关操作,同时,跨链中继向a网链返回信号,a网链同步生成跨链证明并存储在自身的出口梅克尔树上。
114.在上述应用实例中,本申请内外网跨链通信方法针对异构区块链的数据跨链更新提供了一种可行的方式,设计一种适配源区块链平台和天平链电子证据平台及支持网络隔离环境下异构链通信交互的跨链中继,异构链可以与跨链中继适配并依靠跨链中继实现信息流转。由于区块链上的每个区块都拥有包含前一个区块哈希及默克尔树等证明信息的区块头和包含当前区块信息的区块体,只有通过相互注册的链之间才能获知对方的区块信息。当跨链中继收到跨链请求时,通过请求数据中的调用目标字段确认跨链目的链,选用对应的跨链适配器与跨链参与方完成请求转发,最终实现跨链交互。面向内、外网隔离环境的异构链跨链数据流转技术打破了区块链平台之间的“数据孤岛”现象,在链上数据共享方面提供了便捷的方式,尤其在存证数据共享方面,利用数据跨链更新技术可以实现私有链向司法链同步存证数据的需求,进而为数据增强法律效力。
115.应该理解的是,虽然上述各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地
执行。
116.如图6所示,本申请还提供一种内外网跨链通信装置,装置包括:
117.监听模块200,用于监听源区块链上的跨链请求;
118.验证模块400,用于当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性;
119.缓存模块600,用于当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据;
120.传输模块800,用于断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链;
121.其中,源区块链与目的区块链分别为不同隔离网络中的区块链,不同隔离网络包括内网网络和外网网络。
122.上述内外网跨链通信装置,监听源区块链上的跨链请求,当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性,通过时,缓存跨链请求中携带的跨链数据,断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链。整个过程中,针对内外网之间跨链通信进行处理,采用异步的方式分别与内外网中源区块链以及目的区块链连接接收/传输数据,有效隔离内外网络,实现有效且安全的内外网跨链通信。
123.在其中一个实施例中,传输模块800还用于断开与源区块链的连接,建立与目的区块链的连接;将跨链数据进行与目的区块链对应的格式转换,得到格式转换后的跨链数据;传输格式转换后的跨链数据至目的区块链。
124.在其中一个实施例中,监听模块200还用于实时监听源区块链上的传输请求;提取传输请求中携带的接收地址;若接收地址表征异构链地址,则判定传输请求为跨链请求。
125.在其中一个实施例中,验证模块400还用于提取跨链请求携带的执行顺序数据;根据执行顺序数据同步更新源区块链以及目的区块链对应的区块头信息;根据更新的区块头信息对跨链请求进行spv验证。
126.在其中一个实施例中,上述内外网跨链通信装置还包括注册模块,用于对源区块链以及目的区块链进行相互认知操作,以在源区块链上存储目的区块链的验证者信息、以及使目的区块链上存储源区块链的验证者信息;
127.验证模块400还用于提取跨链请求中携带的验证者信息以及跨链请求在源链上的存在性证明;通过验证者信息以及存在性证明对跨链请求携带的跨链数据进行检查操作;若检查操作通过,则添加预设签名至跨链数据;解析跨链数据中有效载荷字段,得到目的区块链地址;
128.传输模块800还用于根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链。
129.在其中一个实施例中,传输模块800还用于将添加预设签名的跨链数据排入传输队列;利用梅克尔树结构转发传输队列中数据至目的区块链。
130.在其中一个实施例中,上述内外网跨链通信装置还包括证明存储模块,用于将存在性证明存储至预设分布式存储系统;接收目的区块链反馈的验证通过信号;转发验证通过信号至源区块链;获取源区块链侧梅克尔树上生成的跨链证明,跨链证明由源区块链响
应验证通过信号同步生成;将跨链证明存储至预设分布式存储系统。
131.关于内外网跨链通信装置的具体限定可以参见上文中对于内外网跨链通信方法的限定,在此不再赘述。上述内外网跨链通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
132.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设源区块链以及目的区块链通信协议、格式等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种内外网跨链通信方法。
133.本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
134.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
135.监听源区块链上的跨链请求;
136.当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性;
137.当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据;
138.断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链;
139.其中,源区块链与目的区块链分别为不同隔离网络中的区块链,不同隔离网络包括内网网络和外网网络。
140.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
141.断开与源区块链的连接,建立与目的区块链的连接;将跨链数据进行与目的区块链对应的格式转换,得到格式转换后的跨链数据;传输格式转换后的跨链数据至目的区块链。
142.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
143.实时监听源区块链上的传输请求;提取传输请求中携带的接收地址;若接收地址表征异构链地址,则判定传输请求为跨链请求。
144.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
145.提取跨链请求携带的执行顺序数据;根据执行顺序数据同步更新源区块链以及目的区块链对应的区块头信息;根据更新的区块头信息对跨链请求进行spv验证。
146.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
147.对源区块链以及目的区块链进行相互认知操作,以在源区块链上存储目的区块链
的验证者信息、以及使目的区块链上存储源区块链的验证者信息;提取跨链请求中携带的验证者信息以及跨链请求在源链上的存在性证明;通过验证者信息以及存在性证明对跨链请求携带的跨链数据进行检查操作;若检查操作通过,则添加预设签名至跨链数据;解析跨链数据中有效载荷字段,得到目的区块链地址;根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链。
148.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
149.将添加预设签名的跨链数据排入传输队列;利用梅克尔树结构转发传输队列中数据至目的区块链。
150.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
151.将存在性证明存储至预设分布式存储系统;接收目的区块链反馈的验证通过信号;转发验证通过信号至源区块链;获取源区块链侧梅克尔树上生成的跨链证明,跨链证明由源区块链响应验证通过信号同步生成;将跨链证明存储至预设分布式存储系统。
152.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
153.监听源区块链上的跨链请求;
154.当监听到源区块链上的跨链请求时,断开与目的区块链的连接,并验证跨链请求的真实性;
155.当跨链请求真实性验证通过时,缓存跨链请求中携带的跨链数据;
156.断开与源区块链的连接,并建立与目的区块链的连接,将跨链数据传输至目的区块链;
157.其中,源区块链与目的区块链分别为不同隔离网络中的区块链,不同隔离网络包括内网网络和外网网络。
158.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
159.断开与源区块链的连接,建立与目的区块链的连接;将跨链数据进行与目的区块链对应的格式转换,得到格式转换后的跨链数据;传输格式转换后的跨链数据至目的区块链。
160.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
161.实时监听源区块链上的传输请求;提取传输请求中携带的接收地址;若接收地址表征异构链地址,则判定传输请求为跨链请求。
162.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
163.提取跨链请求携带的执行顺序数据;根据执行顺序数据同步更新源区块链以及目的区块链对应的区块头信息;根据更新的区块头信息对跨链请求进行spv验证。
164.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
165.对源区块链以及目的区块链进行相互认知操作,以在源区块链上存储目的区块链的验证者信息、以及使目的区块链上存储源区块链的验证者信息;提取跨链请求中携带的验证者信息以及跨链请求在源链上的存在性证明;通过验证者信息以及存在性证明对跨链请求携带的跨链数据进行检查操作;若检查操作通过,则添加预设签名至跨链数据;解析跨链数据中有效载荷字段,得到目的区块链地址;根据目的区块链地址,将添加预设签名的跨链数据传输至目的区块链。
166.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
167.将添加预设签名的跨链数据排入传输队列;利用梅克尔树结构转发传输队列中数据至目的区块链。
168.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
169.将存在性证明存储至预设分布式存储系统;接收目的区块链反馈的验证通过信号;转发验证通过信号至源区块链;获取源区块链侧梅克尔树上生成的跨链证明,跨链证明由源区块链响应验证通过信号同步生成;将跨链证明存储至预设分布式存储系统。
170.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
171.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
172.以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1