一种区块链的信息跨链交互方法和交互装置转让专利

申请号 : CN202211232061.1

文献号 : CN115378942B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵华耀孙福辉成雨蓉王晓燕张志威袁野王国仁

申请人 : 北京理工大学人民法院信息技术服务中心

摘要 :

本文提供了一种区块链的信息跨链交互方法和交互装置,其中方法包括:第一区块链上的第一节点生成认证标识和认证信息,通过私钥加密;第一区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证;第一区块链向第二区块链发送第一节点的公钥以及认证密文;第二区块链上的验证节点通过第一节点的公钥对认证密文进行解密认证;第二区块链通过第一节点的公钥对应答信息加密;第二区块链向第一区块链发送应答标识和应答密文;第一区块链根据所述应答标识,确定第二区块链认证成功;第一节点通过私钥解密所述应答密文,得到应答信息,根据应答信息将请求信息发送至第二区块链,以满足实际工作过程中的多样化需求。

权利要求 :

1.一种区块链的信息跨链交互方法,其特征在于,包括:

第一区块链上的第一节点生成认证标识和认证信息,通过私钥对认证标识和认证信息加密,得到认证密文;

第一区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第一认证结果;

当第一认证结果为认证成功时,第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文;

第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果;

当第二认证结果为认证成功时,第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文;

第二区块链通过中继链向第一区块链发送应答标识和应答密文;

第一区块链根据所述应答标识,确定所述第二区块链认证成功;

第一节点通过私钥解密所述应答密文,得到应答信息,根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链。

2.根据权利要求1所述的区块链的信息跨链交互方法,其特征在于,所述第一区块链上的第一节点生成认证标识和认证信息进一步包括:若所述第一节点需向第二区块链发起单向请求,则第一节点生成认证标识和认证信息,所述认证标识为单向请求标识,所述认证信息中包括认证数据;

若所述第一节点需与第二区块链上的第二节点进行交互请求,则第一节点生成认证标识和认证信息,所述认证标识为交互请求标识,所述认证信息中包括认证数据和第二节点的标识。

3.根据权利要求2所述的区块链的信息跨链交互方法,其特征在于,所述第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果进一步包括:所述第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密,得到第一节点的认证标识和认证信息;

所述第二区块链上的验证节点对所述第一节点的认证标识和认证信息进行验证;

当超过设定数目个验证节点的验证结果为成功时,第二认证结果为认证成功。

4.根据权利要求3所述的区块链的信息跨链交互方法,其特征在于,所述第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文进一步包括:当所述第一区块链的认证标识为单向请求标识时,所述第二区块链生成加密密钥,将所述加密密钥和第一节点的公钥作为应答信息;

第二区块链通过第一节点的公钥对应答信息加密,得到应答密文。

5.根据权利要求3所述的区块链的信息跨链交互方法,其特征在于,所述第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文进一步包括:当所述第一区块链的认证标识为交互请求标识时,所述第二区块链根据所述认证信息得到第二节点的标识,将第一节点的公钥以及认证密文发送至第二节点;

第二节点通过第一节点的公钥对所述认证密文进行解密,得到第一节点的认证标识和认证信息;

第二节点根据所述认证信息中的认证数据生成应答数据,将所述应答数据、第二节点的公钥和第一节点的公钥作为应答信息;

第二节点通过第一节点的公钥对应答信息加密,得到应答密文。

6.根据权利要求4或5所述的区块链的信息跨链交互方法,其特征在于,所述根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链进一步包括:第一节点根据所述应答信息对请求信息进行加密,得到请求密文,将请求标识和请求密文在第一区块链上广播;

第一区块链将所述请求标识以及所述请求密文通过中继链发送至第二区块链;

第二区块链对所述请求密文进行解密,得到请求信息。

7.根据权利要求6所述的区块链的信息跨链交互方法,其特征在于,所述第一节点根据所述应答信息对请求信息进行加密,得到请求密文进一步包括:当所述第一区块链的认证标识为单向请求标识时,所述第一节点通过私钥解密所述应答密文,得到加密密钥和解密后第一节点的公钥;

当第一节点确认解密后第一节点的公钥与自身的公钥一致后,通过所述加密密钥对请求信息进行加密,得到请求密文。

8.根据权利要求6所述的区块链的信息跨链交互方法,其特征在于,所述第一节点根据所述应答信息对请求信息进行加密,得到请求密文进一步包括:当所述第一区块链的认证标识为交互请求标识时,所述第一节点通过私钥解密所述应答密文,得到应答数据、第二节点的公钥和第一节点的公钥;

当第一节点确认解密后第一节点的公钥与自身的公钥一致后,所述第一节点根据所述应答数据生成包含请求数据的请求信息,第一节点通过所述第二节点的公钥对请求信息进行加密,得到请求密文。

9.根据权利要求1所述的区块链的信息跨链交互方法,其特征在于,所述第二区块链的数目至少为一个。

10.一种区块链的信息跨链交互装置,其特征在于,所述装置包括:认证密文确定模块,用于第一区块链上的第一节点生成认证标识和认证信息,通过私钥对认证标识和认证信息加密,得到认证密文;

第一认证结果确定模块,用于第一区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第一认证结果;

第一转发模块,用于当第一认证结果为认证成功时,第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文;

第二认证结果确定模块,用于第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果;

应答密文确定模块,用于当第二认证结果为认证成功时,第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文;

第二转发模块,用于第二区块链通过中继链向第一区块链发送应答标识和应答密文;

认证成功确定模块,用于第一区块链根据所述应答标识,确定所述第二区块链认证成功;

第三转发模块,用于第一节点通过私钥解密所述应答密文,得到应答信息,根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链。

说明书 :

一种区块链的信息跨链交互方法和交互装置

技术领域

[0001] 本发明涉及区块链领域,特别地,涉及一种区块链的信息跨链交互方法和交互装置。

背景技术

[0002] 现有的区块链在应用过程中技术只能够在单链进行认证和请求,即只能对区块链上的节点发送的请求进行认证应答。而如今面临的情况是某一节点发布的信息不仅需要该节点所在的区块链进行认证应答,还需要其他区块链进行认证应答。但现有技术不能有效的支撑跨链需求,无法进行信息的跨链交互。
[0003] 因此,现在亟需一种区块链的信息跨链交互方法,能够支持信息跨链交互,更好的满足实际工作过程中的多样化需求。

发明内容

[0004] 本文实施例的目的在于提供一种区块链的信息跨链交互方法和交互装置,以支持信息跨链交互,更好的满足实际工作过程中的多样化需求。
[0005] 为达到上述目的,一方面,本文实施例提供了一种区块链的信息跨链交互方法,包括:
[0006] 第一区块链上的第一节点生成认证标识和认证信息,通过私钥对认证标识和认证信息加密,得到认证密文;
[0007] 第一区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第一认证结果;
[0008] 当第一认证结果为认证成功时,第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文;
[0009] 第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果;
[0010] 当第二认证结果为认证成功时,第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文;
[0011] 第二区块链通过中继链向第一区块链发送应答标识和应答密文;
[0012] 第一区块链根据所述应答标识,确定所述第二区块链认证成功;
[0013] 第一节点通过私钥解密所述应答密文,得到应答信息,根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链。
[0014] 优选的,所述第一区块链上的第一节点生成认证标识和认证信息进一步包括:
[0015] 若所述第一节点需向第二区块链发起单向请求,则第一节点生成认证标识和认证信息,所述认证标识为单向请求标识,所述认证信息中包括认证数据;
[0016] 若所述第一节点需与第二区块链上的第二节点进行交互请求,则第一节点生成认证标识和认证信息,所述认证标识为交互请求标识,所述认证信息中包括认证数据和第二节点的标识。
[0017] 优选的,所述第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果进一步包括:
[0018] 所述第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密,得到第一节点的认证标识和认证信息;
[0019] 所述第二区块链上的验证节点对所述第一节点的认证标识和认证信息进行验证;
[0020] 当超过设定数目个验证节点的验证结果为成功时,第二认证结果为认证成功。
[0021] 优选的,所述第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文进一步包括:
[0022] 当所述第一区块链的认证标识为单向请求标识时,所述第二区块链生成加密密钥,将所述加密密钥和第一节点的公钥作为应答信息;
[0023] 第二区块链通过第一节点的公钥对应答信息加密,得到应答密文。
[0024] 优选的,所述第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文进一步包括:
[0025] 当所述第一区块链的认证标识为交互请求标识时,所述第二区块链根据所述认证信息得到第二节点的标识,将第一节点的公钥以及认证密文发送至第二节点;
[0026] 第二节点通过第一节点的公钥对所述认证密文进行解密,得到第一节点的认证标识和认证信息;
[0027] 第二节点根据所述认证信息中的认证数据生成应答数据,将所述应答数据、第二节点的公钥和第一节点的公钥作为应答信息;
[0028] 第二节点通过第一节点的公钥对应答信息加密,得到应答密文。
[0029] 优选的,所述根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链进一步包括:
[0030] 第一节点根据所述应答信息对请求信息进行加密,得到请求密文,将请求标识和请求密文在第一区块链上广播;
[0031] 第一区块链将所述请求标识以及所述请求密文通过中继链发送至第二区块链;
[0032] 第二区块链对所述请求密文进行解密,得到请求信息。
[0033] 优选的,所述第一节点根据所述应答信息对请求信息进行加密,得到请求密文进一步包括:
[0034] 当所述第一区块链的认证标识为单向请求标识时,所述第一节点通过私钥解密所述应答密文,得到加密密钥和解密后第一节点的公钥;
[0035] 当第一节点确认解密后第一节点的公钥与自身的公钥一致后,通过所述加密密钥对请求信息进行加密,得到请求密文。
[0036] 优选的,所述第一节点根据所述应答信息对请求信息进行加密,得到请求密文进一步包括:
[0037] 当所述第一区块链的认证标识为交互请求标识时,所述第一节点通过私钥解密所述应答密文,得到应答数据、第二节点的公钥和第一节点的公钥;
[0038] 当第一节点确认解密后第一节点的公钥与自身的公钥一致后,所述第一节点根据所述应答数据生成包含请求数据的请求信息,第一节点通过所述第二节点的公钥对请求信息进行加密,得到请求密文。
[0039] 优选的,所述第二区块链的数目至少为一个。
[0040] 另一方面,本文实施例提供了一种区块链的信息跨链交互装置,所述装置包括:
[0041] 认证密文确定模块,用于第一区块链上的第一节点生成认证标识和认证信息,通过私钥对认证标识和认证信息加密,得到认证密文;
[0042] 第一认证结果确定模块,用于第一区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第一认证结果;
[0043] 第一转发模块,用于当第一认证结果为认证成功时,第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文;
[0044] 第二认证结果确定模块,用于第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果;
[0045] 应答密文确定模块,用于当第二认证结果为认证成功时,第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文;
[0046] 第二转发模块,用于第二区块链通过中继链向第一区块链发送应答标识和应答密文;
[0047] 认证成功确定模块,用于第一区块链根据所述应答标识,确定所述第二区块链认证成功;
[0048] 第三转发模块,用于第一节点通过私钥解密所述应答密文,得到应答信息,根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链。
[0049] 由以上本文实施例提供的技术方案可见,通过本文实施例可以将第一区块链上的第一节点在第一区块链上认证成功后,通过中继链发送至第二区块链,第二区块链生成应答标识和应答密文表征认证成功,第一区块链将应答密文发送至第一节点,第一节点解密后得到应答信息,根据应答信息将请求信息通过第一区块链和中继链发送至第二区块链,进而实现第一节点与第二区块链上的节点进行信息交互,更好的满足实际工作过程中的多样化需求。
[0050] 为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

[0051] 为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0052] 图1示出了本文实施例提供的一种区块链的信息跨链交互方法的流程示意图;
[0053] 图2示出了本文实施例提供的第一区块链上的第一节点生成认证标识和认证信息的流程示意图;
[0054] 图3示出了本文实施例提供的第二区块链上的验证节点通过第一节点的公钥对认证密文进行解密认证,得到第二认证结果的流程示意图;
[0055] 图4示出了本文实施例提供的当第一节点发起单向请求时进行跨链交互的示意图;
[0056] 图5示出了本文实施例提供的当第一节点发起交互请求时进行跨链交互的示意图;
[0057] 图6示出了本文实施例提供的第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文的流程示意图;
[0058] 图7示出了本文实施例提供的应答信息将请求信息通过第一区块链和中继链发送至第二区块链的流程示意图;
[0059] 图8示出了本文实施例提供的第一节点根据应答信息对请求信息进行加密,得到请求密文的流程示意图;
[0060] 图9示出了本文实施例提供的第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文的流程示意图;
[0061] 图10示出了本文实施例提供的第一节点根据应答信息对请求信息进行加密,得到请求密文的流程示意图;
[0062] 图11示出了本文实施例提供的一种区块链的信息跨链交互装置的模块结构示意图;
[0063] 图12示出了本文实施例提供的计算机设备的结构示意图。
[0064] 附图符号说明:
[0065] 100、认证密文确定模块;
[0066] 200、第一认证结果确定模块;
[0067] 300、第一转发模块;
[0068] 400、第二认证结果确定模块;
[0069] 500、应答密文确定模块;
[0070] 600、第二转发模块;
[0071] 700、认证成功确定模块;
[0072] 800、第三转发模块;
[0073] 1202、计算机设备;
[0074] 1204、处理器;
[0075] 1206、存储器;
[0076] 1208、驱动机构;
[0077] 1210、输入/输出模块;
[0078] 1212、输入设备;
[0079] 1214、输出设备;
[0080] 1216、呈现设备;
[0081] 1218、图形用户接口;
[0082] 1220、网络接口;
[0083] 1222、通信链路;
[0084] 1224、通信总线。

具体实施方式

[0085] 下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
[0086] 现有的区块链在应用过程中技术只能够在单链进行认证和请求,即只能对区块链上的节点发送的请求进行认证应答。而如今面临的情况是某一节点发布的信息不仅需要该节点所在的区块链进行认证应答,还需要其他区块链进行认证应答。但现有技术不能有效的支撑跨链需求,无法进行信息的跨链交互。
[0087] 为了解决上述问题,本文实施例提供了一种区块链的信息跨链交互方法。图1是本文实施例提供的一种区块链的信息跨链交互方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
[0088] 需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0089] 参照图1,本文提供一种区块链的信息跨链交互方法,包括:
[0090] S101:第一区块链上的第一节点生成认证标识和认证信息,通过私钥对认证标识和认证信息加密,得到认证密文;
[0091] S102:第一区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第一认证结果;
[0092] S103:当第一认证结果为认证成功时,第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文;
[0093] S104:第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果;
[0094] S105:当第二认证结果为认证成功时,第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文;
[0095] S106:第二区块链通过中继链向第一区块链发送应答标识和应答密文;
[0096] S107:第一区块链根据所述应答标识,确定所述第二区块链认证成功;
[0097] S108:第一节点通过私钥解密所述应答密文,得到应答信息,根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链。
[0098] 本文实施例中跨链交互方法执行的前提是其中第一区块链需要与第二区块链进行信息的跨链交互,具体可以是第一区块链上的第一节点需要与第二区块链上的节点进行信息交互,第一区块链上的第一节点作为请求方,其中第二区块链的数目至少为一个。
[0099] 在进行信息交互时,需要先进行身份认证。第一节点生成认证标识和认证信息,认证标识为身份认证标识,认证信息为用于进行身份认证的信息,通过私钥对认证标识和认证信息加密后可以得到认证密文,第一节点可以将认证密文在链上广播。
[0100] 第一节点的公钥仅被第一区块链上的节点公知,其他区块链上的节点无法获知第一节点的公钥。第一区块链存在用于进行验证的验证节点,验证节点的验证机制可以采用共识验证机制,当超过半数的验证节点在对认证密文进行解密认证成功时,第一认证结果即为认证成功,验证节点可以将第一认证结果在链上广播。
[0101] 第一认证结果为认证成功时,第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文。同样的,第二区块链存在用于进行验证的验证节点,同样可以采用共识验证机制,得到第二认证结果,验证节点可以将第二认证结果在链上广播。第二认证结果为认证成功时,第二区块链需要生成应答标识和应答信息,应答标识用于表征对第一节点的身份认证成功,应答信息为第二区块链的应答内容。第二区块链通过第一节点的公钥仅对应答信息进行加密,得到应答密文。
[0102] 第二区块链通过中继链向第一区块链发送应答标识和应答密文,第一区块链根据应答标识即可确定第二区块链认证成功,将应答标识和应答密文在第一区块链上广播,仅第一节点可以通过私钥解密应答密文,得到应答信息,第一节点根据应答信息将请求信息通过第一区块链和中继链发送至第二区块链。
[0103] 通过本文实施例可以将第一区块链上的第一节点在第一区块链上认证成功后,通过中继链发送至第二区块链,第二区块链生成应答标识和应答密文表征认证成功,第一区块链将应答密文发送至第一节点,第一节点解密后得到应答信息,根据应答信息将请求信息通过第一区块链和中继链发送至第二区块链,进而实现第一节点与第二区块链上的节点进行信息交互,更好的满足实际工作过程中的多样化需求。
[0104] 在本文实施例中,参照图2,所述第一区块链上的第一节点生成认证标识和认证信息进一步包括:
[0105] S201:若所述第一节点需向第二区块链发起单向请求,则第一节点生成认证标识和认证信息,所述认证标识为单向请求标识,所述认证信息中包括认证数据;
[0106] S202:若所述第一节点需与第二区块链上的第二节点进行交互请求,则第一节点生成认证标识和认证信息,所述认证标识为交互请求标识,所述认证信息中包括认证数据和第二节点的标识。
[0107] 第一节点在与第二区块链上的节点进行信息交互时,分为单向请求和交互请求,单向请求即为第一节点向第二区块链发送请求信息,第二区块链无需向第一节点回传任何信息,例如第一节点将数据存储至第二区块链中,此过程无需第二区块链回传任何信息。交互请求即为第一节点向第二区块链发送请求信息,第二区块链需要向第一区块链回传相关信息,例如第一节点在访问完第二区块链的第二节点中的A数据后,再将B数据存储至第二节点,此过程第二节点需要向第一节点回传A数据。
[0108] 对于单向请求和交互请求来说,对应的认证标识不同。第一节点发起单向请求时,认证信息中包括认证数据,认证数据一般包括第一节点的名称、编号等等基本信息。第一节点发起交互请求时,认证数据与单向请求的不同之处在于,交互请求的认证数据还包括需要认证的内容,例如需要访问第二节点中的A数据。除了包括认证数据外,交互请求还包括第二节点的标识,用于定位第二节点。
[0109] 一般来说,第二区块链中设置专门的接收节点,用于接收其他区块链发送的信息,接收到信息后将信息在链上广播。当第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文时,第二区块链上的接收节点接收第一节点的公钥以及认证密文,并将第一节点的公钥以及认证密文在链上广播。
[0110] 在本文实施例中,参照图3,所述第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果进一步包括:
[0111] S301:所述第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密,得到第一节点的认证标识和认证信息;
[0112] S302:所述第二区块链上的验证节点对所述第一节点的认证标识和认证信息进行验证;
[0113] S303:当超过设定数目个验证节点的验证结果为成功时,第二认证结果为认证成功。
[0114] 其中,第二区块链上的验证节点的验证机制可以采用共识验证机制,当超过半数的验证节点验证成功时,第二认证结果为认证成功;当然,也可以是当存在验证节点验证成功时,第二认证结果为认证成功,认证成功后可以将第二认证结果在链上广播。
[0115] S301步骤中,验证节点在通过第一节点的公钥对认证密文进行解密,得到第一节点的认证标识和认证信息时,可以进行认证标识的识别,识别第一节点的认证标识为单向请求标识或交互请求标识。
[0116] 在本文的一实施例中,参照图4在该实施例中第一节点发起单向请求,具体的,参照图6,所述第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文进一步包括:
[0117] S401:当所述第一区块链的认证标识为单向请求标识时,所述第二区块链生成加密密钥,将所述加密密钥和第一节点的公钥作为应答信息;
[0118] S402:第二区块链通过第一节点的公钥对应答信息加密,得到应答密文。
[0119] 当认证标识为单向请求标识时,第二区块链上的验证节点除了可以进行解密认证,还可以生成应答标识和应答信息。当第二认证结果为认证成功时,验证节点可以生成加密密钥和与之对应的解密密钥,将加密密钥和第一节点的公钥作为应答信息,并通过第一节点的公钥对应答信息进行加密,得到应答密文,并生成应答标识,验证节点将应答密文和应答标识在链上广播,第二区块链上的其他验证节点根据应答标识确定应答密文是应答相关内容,通过中继链向第一区块链发送应答标识和应答密文。当然,还可以通过在第二区块链上设置专门用于应答的应答节点,应答节点执行上述步骤生成应答标识和应答信息。
[0120] 第一区块链上同样可以设置专门的接收节点,用于接收其他区块链发送的信息,接收到信息后将信息在链上广播。第一区块链上的接收节点在接收到应答标识和应答密文后,可以通过应答标识确定第二区块链认证成功,将应答密文在链上广播。
[0121] 进一步的,只有第一区块链上的第一节点可以通过私钥解密所述应答密文,得到应答信息,根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链。
[0122] 参照图7,具体为:
[0123] S501:第一节点根据所述应答信息对请求信息进行加密,得到请求密文,将请求标识和请求密文在第一区块链上广播;
[0124] S502:第一区块链将所述请求标识以及所述请求密文通过中继链发送至第二区块链;
[0125] S503:第二区块链对所述请求密文进行解密,得到请求信息。
[0126] 其中请求标识用于表征发送的信息为请求信息。
[0127] S501步骤中,参照图8,所述第一节点根据所述应答信息对请求信息进行加密,得到请求密文进一步包括:
[0128] S601:当所述第一区块链的认证标识为单向请求标识时,所述第一节点通过私钥解密所述应答密文,得到加密密钥和解密后第一节点的公钥;
[0129] S602:当第一节点确认解密后第一节点的公钥与自身的公钥一致后,通过所述加密密钥对请求信息进行加密,得到请求密文。
[0130] 该处S601解密得到的解密后的第一节点的公钥即为S401中加密时的第一节点的公钥,第一节点的公钥用于防止信息篡改而非用于解密,因为在应答密文传递过程中可能存在恶意第三方截获应答密文,然后对其中的信息进行篡改,此时第一节点通过私钥解密应答密文后得到的信息并不是原本正确的信息,而是经过篡改的信息。为了防止这种情况的发生,在应答密文中除了包含加密密钥还包含第一节点的公钥,如此第一节点通过私钥解密应答密文后得到的第一节点的公钥若非自身公钥,则说明信息被篡改。第一节点的公钥用于防篡改,而不通过其他的标识实现防篡改的原因在于,第一节点本就已知自身的公钥,这样能够节省存储空间,并且提高解密验证的效率和准确率。
[0131] 当所述第一区块链的认证标识为单向请求标识时,在S501步骤中的请求标识为单向请求标识,将请求密文和请求标识在链上广播,第一区块链上的验证节点根据单向请求标识确定请求密文是第一节点发起的单向请求相关内容,于是通过中继链将单向请求标识和请求密文发送至第二区块链。第二区块链的接收节点接收到单向请求标识和请求密文后,接收节点通过单向请求标识确定请求密文是第一节点发起的单向请求相关内容,于是将请求密文在链上广播,验证节点可以通过与加密密钥对应的解密密钥对请求密文进行解密,得到第一节点的请求信息。
[0132] 在本文另一实施例中,参照图5在该实施例中第一节点发起交互请求,具体的,参照图9,所述第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文进一步包括:
[0133] S701:当所述第一区块链的认证标识为交互请求标识时,所述第二区块链根据所述认证信息得到第二节点的标识,将第一节点的公钥以及认证密文发送至第二节点;
[0134] S702:第二节点通过第一节点的公钥对所述认证密文进行解密,得到第一节点的认证标识和认证信息;
[0135] S703:第二节点根据所述认证信息中的认证数据生成应答数据,将所述应答数据、第二节点的公钥和第一节点的公钥作为应答信息;
[0136] S704:第二节点通过第一节点的公钥对应答信息加密,得到应答密文。
[0137] 当所述第一区块链的认证标识为交互请求标识时,认证信息中包括认证数据和第二节点的标识,因此当认证标识为交互请求标识时,验证节点在第二认证结果为认证成功后,可以根据第二节点的标识将第一节点的公钥以及认证密文发送至第二节点。
[0138] 第二节点通过第一节点的公钥对认证密文解密,得到第一节点的认证标识和认证信息。由于认证信息的认证数据中包括需要认证的内容,例如需要访问第二节点中的A数据,则第二节点将A数据作为应答数据,将应答数据、第二节点的公钥和第一节点的公钥作为应答信息,通过第一节点的公钥对应答信息加密得到应答密文,同时第二节点生成应答标识,第二节点将应答密文和应答标识在链上广播,第二区块链上的验证节点根据应答标识确定应答密文是第二节点发起的应答相关内容,于是通过中继链向第一区块链发送应答标识和应答密文。
[0139] S501步骤中,参照图10,所述第一节点根据所述应答信息对请求信息进行加密,得到请求密文进一步包括:
[0140] S801:当所述第一区块链的认证标识为交互请求标识时,所述第一节点通过私钥解密所述应答密文,得到应答数据、第二节点的公钥和第一节点的公钥;
[0141] S802:当第一节点确认解密后第一节点的公钥与自身的公钥一致后,所述第一节点根据所述应答数据生成包含请求数据的请求信息,第一节点通过所述第二节点的公钥对请求信息进行加密,得到请求密文。
[0142] 其中第一节点的公钥用于防止信息篡改而非用于解密,与上一实施例中的作用相同,本实施例中不再赘述。
[0143] 当所述第一区块链的认证标识为交互请求标识时,在S501步骤中的请求标识为交互请求标识,将请求密文和交互请求标识在链上广播,第一区块链上的验证节点根据交互请求标识确定请求密文是第一节点发起的交互请求相关内容,于是通过中继链将交互请求标识和请求密文发送至第二区块链。第二区块链的接收节点接收交互请求标识和请求密文后,接收节点通过交互请求标识确定请求密文是第一节点发起的交互请求相关内容,于是将请求密文在链上广播,只有第二区块链上的第二节点可以通过私钥对请求密文进行解密,得到第一节点的请求信息。
[0144] 需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。且本申请实施例描述的技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
[0145] 基于上述所述的一种区块链的信息跨链交互方法,本文实施例还提供一种区块链的信息跨链交互装置。所述的装置可以包括使用了本文实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本文实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本文实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0146] 具体地,图11是本文实施例提供的一种区块链的信息跨链交互装置一个实施例的模块结构示意图,参照图11所示,本文实施例提供的一种区块链的信息跨链交互装置包括:认证密文确定模块100、第一认证结果确定模块200、第一转发模块300、第二认证结果确定模块400、应答密文确定模块500、第二转发模块600、认证成功确定模块700、第三转发模块
800。
[0147] 认证密文确定模块100,用于第一区块链上的第一节点生成认证标识和认证信息,通过私钥对认证标识和认证信息加密,得到认证密文;
[0148] 第一认证结果确定模块200,用于第一区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第一认证结果;
[0149] 第一转发模块300,用于当第一认证结果为认证成功时,第一区块链通过中继链向第二区块链发送第一节点的公钥以及认证密文;
[0150] 第二认证结果确定模块400,用于第二区块链上的验证节点通过第一节点的公钥对所述认证密文进行解密认证,得到第二认证结果;
[0151] 应答密文确定模块500,用于当第二认证结果为认证成功时,第二区块链生成应答标识和应答信息,通过第一节点的公钥对应答信息加密,得到应答密文;
[0152] 第二转发模块600,用于第二区块链通过中继链向第一区块链发送应答标识和应答密文;
[0153] 认证成功确定模块700,用于第一区块链根据所述应答标识,确定所述第二区块链认证成功;
[0154] 第三转发模块800,用于第一节点通过私钥解密所述应答密文,得到应答信息,根据所述应答信息将请求信息通过第一区块链和中继链发送至第二区块链。
[0155] 参照图12所示,基于上述所述的一种区块链的信息跨链交互方法,本文一实施例中还提供一种计算机设备1202,其中上述方法运行在计算机设备1202上。计算机设备1202可以包括一个或多个处理器1204,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1202还可以包括任何存储器1206,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施方式中,存储器1206上并可在处理器1204上运行的计算机程序,所述计算机程序被所述处理器1204运行时,可以执行根据上述方法的指令。非限制性的,比如,存储器1206可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1202的固定或可移除部件。在一种情况下,当处理器1204执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1202可以执行相关联指令的任一操作。计算机设备1202还包括用于与任何存储器交互的一个或多个驱动机构1208,诸如硬盘驱动机构、光盘驱动机构等。
[0156] 计算机设备1202还可以包括输入/输出模块1210(I/O),其用于接收各种输入(经由输入设备1212)和用于提供各种输出(经由输出设备1214)。一个具体输出机构可以包括呈现设备1216和相关联的图形用户接口1218(GUI)。在其他实施例中,还可以不包括输入/输出模块1210(I/O)、输入设备1212以及输出设备1214,仅作为网络中的一台计算机设备。计算机设备1202还可以包括一个或多个网络接口1220,其用于经由一个或多个通信链路
1222与其他设备交换数据。一个或多个通信总线1224将上文所描述的部件耦合在一起。
[0157] 通信链路1222可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1222可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
[0158] 对应于图1‑图3和图6‑图10中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
[0159] 本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1‑图3和图6‑图10所示的方法。
[0160] 应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
[0161] 还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0162] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
[0163] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0164] 在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0165] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
[0166] 另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0167] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0168] 本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。