CN113837760A - 数据处理方法、装置、计算机设备以及存储介质 - Google Patents
数据处理方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN113837760A CN113837760A CN202111410543.7A CN202111410543A CN113837760A CN 113837760 A CN113837760 A CN 113837760A CN 202111410543 A CN202111410543 A CN 202111410543A CN 113837760 A CN113837760 A CN 113837760A
- Authority
- CN
- China
- Prior art keywords
- chain
- block chain
- shared data
- relay
- target shared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、计算机设备以及存储介质。数据处理方法包括:获取第一区块链向第二区块链待共享的目标共享数据;从中继链上读取第二区块链的公钥,采用第二区块链的公钥对目标共享数据进行加密处理,得到加密目标共享数据;将加密目标共享数据存储至中继链,使得第二区块链节点从中继链上获取加密目标共享数据,以及对加密目标共享数据进行解密处理,得到目标共享数据。采用本申请,可以提升跨链数据共享效率,以及保证数据安全。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、计算机设备以及存储介质。
背景技术
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。简单的讲,区块链就是去中心化的分布式账本。
随着区块链技术的被广泛认识及认可,出现了很多不同类型的区块链。然而,现有技术中,区块链是各自独立的,各个区块链之间实现数据共享困难,还需要人工参与,导致跨区块链的数据共享效率较低。同时由人工实现跨区块链的数据共享时,容易出现数据泄露,数据丢失,不能很好的保证数据安全。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备以及存储介质,可以提升跨链数据共享效率,以及保证数据安全。
本申请实施例一方面提供了一种数据处理方法,包括:
获取第一区块链向第二区块链待共享的目标共享数据;
从中继链上读取所述第二区块链的公钥,采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据;其中,所述第一区块链、第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,以及对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
本申请实施例一方面提供了一种数据处理方法,包括:
获取加密目标共享数据;其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
本申请实施例一方面提供了一种数据处理方法,包括:
从中继链上读取加密目标共享数据,其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
本申请实施例一方面提供了一种数据处理方法,包括:
获取第二区块链的子链注册信息;
调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息;
将所述第二区块链的身份信息存储至所述基础链,存储于基础链上的第二区块链的身份信息用于在中继链上注册第二区块链的公钥时,对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥被存储至所述中继链,存储在中继链上的第二区块链的公钥用于在第一区块链向第二区块链共享数据时,对待共享的目标共享数据进行加密得到加密目标共享数据,加密目标共享数据存储于中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
本申请实施例一方面提供了一种数据处理装置,包括:
第一获取模块,用于获取第一区块链向第二区块链待共享的目标共享数据;
第一读取模块,用于从中继链上读取所述第二区块链的公钥,采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据;其中,所述第一区块链、第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
第一存储模块,用于将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,以及对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
其中,所述第一区块链的创世区块、所述第二区块链的创世区块和所述中继链的创世区块均是所述基础链上的一个区块。
其中,所述第一读取模块在用于从中继链上读取所述第二区块链的公钥时,具体用于:
向中继链跨链接口发送第二区块链的公钥获取请求,使得中继链跨链接口根据所述公钥获取请求,从所述中继链上读取所述第二区块链的公钥;
接收所述中继链跨链接口发送的所述第二区块链的公钥;
所述第一存储模块在用于将所述加密目标共享数据存储至所述中继链时,具体用于:
将所述加密目标共享数据发送至所述中继链跨链接口,使得所述中继链跨链接口基于中继链的共识机制将所述加密目标共享数据存储至所述中继链。
本申请实施例一方面提供了一种数据处理装置,包括:
第二获取模块,用于获取加密目标共享数据;其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
第二存储模块,用于将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
其中,所述第二存储模块还用于:
接收第二区块链跨链接口发送的第二区块链的公钥注册请求,所述公钥注册请求包括所述第二区块链的公钥和待验证身份信息;
从所述基础链上读取所述第二区块链的身份信息;
若所述第二区块链的身份信息和所述待验证身份信息一致,则将所述第二区块链的公钥存储至所述中继链。
在一种可能的实施方式中,所述第二区块链的身份信息包括标准标识,标准共识机制类型以及标准描述信息,所述待验证身份信息包括待验证标识,待验证共识机制类型和待验证描述信息;
其中,所述第二存储模块还用于:
若所述标准标识和待验证标识相同,且所述标准共识机制类型和待验证共识机制类型相同,且所述标准描述信息和待验证描述信息相同,则确定所述第二区块链的身份信息和所述第二区块链的待验证身份信息一致。
其中,所述加密目标共享数据是第一区块链跨链接口发送的,所述第二存储模块在用于将所述加密目标共享数据存储至所述中继链时,具体用于:
对所述加密目标共享数据进行字段合法性检测;
若所述加密目标共享数据通过字段合法性检测,且所述第一区块链和所述第二区块链均存在且均未被冻结,则将所述加密目标共享数据存储至所述中继链。
其中,所述第二存储模块还用于:
若所述基础链上存在所述第一区块链的身份信息以及存在所述第二区块链的身份信息,且所述基础链上不存在第一区块链的冻结信息以及不存在所述第二区块链的冻结信息,则确定所述第一区块链和所述第二区块链均存在且均未被冻结。
其中,第二存储模块还用于:
将所述中继链上存储的加密共享数据划分为多个加密共享数据集合,一个加密共享数据集合中的加密共享数据对应一个区块链;
分别统计每个加密共享数据集合的数量,将每个加密共享数据集合的数量以及每个加密共享数据集合对应的区块链的标识进行关联存储。
本申请实施例一方面提供了一种数据处理装置,包括:
第二读取模块,用于从中继链上读取加密目标共享数据,其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
解密模块,用于采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
本申请实施例一方面提供了一种数据处理装置,包括:
第三获取模块,用于获取第二区块链的子链注册信息;
调用模块,用于调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息;
第三存储模块,用于将所述第二区块链的身份信息存储至所述基础链,存储于基础链上的第二区块链的身份信息用于在中继链上注册第二区块链的公钥时,对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥被存储至所述中继链,存储在中继链上的第二区块链的公钥用于在第一区块链向第二区块链共享数据时,对待共享的目标共享数据进行加密得到加密目标共享数据,加密目标共享数据存储于中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
其中,所述第二区块链节点包括第二区块链跨链接口,所述第三获取模块在用于获取第二区块链的子链注册信息时,具体用于:接收第二区块链跨链接口发送的第二区块链的子链注册信息;
所述第三存储模块还用于:
接收中继链跨链接口发送的第二区块链的身份信息获取请求,根据所述身份信息获取请求从所述基础链上读取所述第二区块链的身份信息;
将所述第二区块链的身份信息发送至所述中继链跨链接口,使得所述中继链跨链接口根据所述第二区块链跨链接口的身份信息对所述第二区块链进行身份验证。
本申请实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行上述各实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品,计算机程序产品包括计算机程序/指令,计算机程序/指令存储在计算机可读存储介质中,计算机程序/指令被计算机设备的处理器执行时,执行上述各实施例中的方法。
当需要在两个区块链之间共享数据时,本申请将中继链作为跨链中间媒介,以实现自动跨链共享数据,不需要人工参与不仅可以提升跨链数据共享效率,还可以避免由人工实现跨链数据共享时,出现数据泄露,数据丢失的情况,保证共享数据的安全性;再有,在数据共享过程中,共享数据被加密,可以保证跨链共享数据的私密性;进一步地,基础链上存储子链的身份信息,中继链上存储参与数据共享的子链的公钥,即父链存储子链的基础信息,子链存储与自身业务相关的信息,双层链架构既保证了子链之间的业务隔离也保证了子链和基础链之间的紧密关系,为跨链共享数据提供了夯实的架构基础,可以提升跨链共享数据的准确性和鲁棒性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链数据共享***的结构示意图;
图2是本申请实施例提供的一种数据处理***的架构示意图;
图3是本申请实施例提供的一种子母区块链的示意图;
图4是本申请实施例提供的一种跨链共享数据的架构图;
图5是本申请实施例提供的一种跨链共享数据的交互示意图一;
图6是本申请实施例提供的一种跨链共享数据的交互示意图二;
图7是本申请实施例提供的一种跨链共享数据的示意图;
图8是本申请实施例提供的一种数据处理方法的流程示意图一;
图9是本申请实施例提供的一种数据处理方法的流程示意图二;
图10是本申请实施例提供的一种数据处理方法的流程示意图三;
图11是本申请实施例提供的一种数据处理方法的流程示意图四;
图12是本申请实施例提供的一种数据处理装置的结构示意图一;
图13是本申请实施例提供的一种数据处理装置的结构示意图二;
图14是本申请实施例提供的一种数据处理装置的结构示意图三;
图15是本申请实施例提供的一种数据处理装置的结构示意图四;
图16是本申请实施例提供的一种计算机设备的结构示意图一;
图17是本申请实施例提供的一种计算机设备的结构示意图二;
图18是本申请实施例提供的一种计算机设备的结构示意图三;
图19是本申请实施例提供的一种计算机设备的结构示意图四。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链(Block chain)是分布式数据存储、点对点传输(P2P,Peer To Peer)、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一个或多个交易信息,用于验证其信息的有效性(防伪)和生成下一个区块。
请参见图1,图1是本申请实施例提供的一种区块链数据共享***的结构示意图,数据共享***100是指用于进行节点与节点之间数据共享的***,该数据共享***中可以包括多个节点101和多个节点201,多个节点101可以是指数据共享***中各个客户端,多个节点201可以是指数据共享***中各个服务器。通常来说,节点201的存储空间和计算能力会大于节点101的存储空间和计算能力。为了保证数据共享***内的信息互通,数据共享***中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享***中的任意节点201接收到输入信息时,数据共享***中的全部节点201便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享***中全部节点201上存储的数据均一致。但是,由于节点101和节点201的存储空间不同或者业务需求等因素,对于数据共享***中的任意节点101来说,只会存储与节点自己相关的数据。
本申请实施例提供的区块链数据共享***中每个节点201中可以存储完整的区块链,完整的区块链中包括与每个节点101和每个节点201相关的交易数据,而每个节点101中只会存储与自己相关的交易数据,每个节点101可以向任意节点201请求与自己相关的交易数据。
进一步地,图1所示的区块链***中各节点涉及的功能包括:路由,路由是节点具有的基本功能,用于支持节点之间的通信。
具体的,每个节点101与每个节点201之间可以相互通信,节点101与节点201之间进行通信的方式可以为,通过节点101的路由功能实现通信或者通过节点201的路由功能实现通信。
数据共享***中的节点201可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。节点101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
请参见图2,图2是本申请实施例提供的一种数据处理***的架构示意图。该***架构图包括:轻量节点集群和全量节点集群,其中,轻量节点集群包括轻量节点101、轻量节点102、轻量节点103以及轻量节点104,全量节点集群包括全量节点201、全量节点202、全量节点203以及全量节点204。其中,轻量节点集群处于第一区块链网络中,全量节点集群处于第二区块链网络中,第一区块链网络不同于第二区块链网络,并且,第一区块链网络为第二区块链网络的底层网络。
具体的,第一区块链网络中的节点只存储与自己相关的关联交易,第二区块链网络中的节点存储第一区块链网络中的所有节点的关联交易。例如第一区块链网络为公有网络,第二区块链网络为私有网络,并且第一区块链网络与第二区块链网络共同构成区块链网络。基于以上描述,本申请实施例所涉及的区块链网络为双层区块链网络,可以实现节点与节点之间的数据的隔离性,可以应用于资源数据发行机构等对保密性以及隐私性要求比较高的业务场景中。例如,商户A和商户B可以在区块链上开具电子***,即电子***存储在链上,但只有维护区块链的机构(例如,税务局)服务器会存储所有商户的电子***。当商户A(或者商户B)向机构服务器请求链上的电子***时,机构服务器只会向商户A(或者商户B)返回商户自己开具的***,可以实现商户之间的数据隔离性,从而实现由于节点所处区块链网络的不同,可以同步不同的数据,从而达到隐私保密的需求。
具体实现时,轻量节点集群中的每个轻量节点之间相互建立通信连接,具体的,轻量节点101、轻量节点102以及轻量节点103之间可以通过无线网或者有线网的方式进行通信。同理,全量节点集群中的每个全量节点之间也相互建立通信连接,具体的,全量节点201、全量节点202、全量节点203以及全量节点204之间可以通过无线网或者有线网的方式进行通信。并且,轻量节点集群中的任意轻量节点可以与全量节点集群中的任意全量节点之间通过网络路由的方式进行通信。
需要说明的是,本申请实施例所涉及到的区块链网络中的所有节点均可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、车辆、路边设备、飞行器、可穿戴设备,例如智能手表、智能手环、计步器等具有数据处理功能的智能设备,每个节点对应的设备类型可以相同,也可以不相同。
可以理解的是,本申请实施例描述的数据处理***是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着***架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于前面对双层链体系的描述,下面再对第二区块链网络中的区块链进行详细描述。请参见图3,图3是本申请实施例提供的一种子母区块链的示意图,图2中的第二区块链网络中存储是区块链是子母区块链,即包括一个基础链(如图3中的A链)和至少一个子链(如图3中的B链、C链和D链)。
基础链上只存储第二区块链网络的基础数据和业务配置,基础数据可以包括各个子链的基础信息(例如,ID,名称,业务描述等),业务配置可以是:监管规则,计算法规,重要的区块链节点,链的CA轮换方式等。
B链、C链和D链是根据各种业务需求从A链的某个高度派生出来的子链,如图3所示,B链是从A1区块派生的,C链是从A2区块派生的,D链是从A3区块派生的,B链的创世区块就是A1区块,C链的创世区块是A2区块,D链的创世区块是A3区块。每派生一个子链就要为其生个一个新的链ID,一个子链可以对应一个具体的业务。
例如,在税务领域,***,征信,企业资质,退税等都属于具体的业务。派生新的子链时,每个子链的ID必须在基础链(即A链)中公布和注册,A链中有一个业务子链注册的智能合约,该智能合约的任务就是分配链ID,并将子链的基础信息写入基础链。
创建了新的子链后,各个业务的交易数据就在各自的子链中上链,验证区块时,除了验证子链的区块外,还要从子链的创世区块找到基础链,最后验证到基础链的创世区块。验证区块的应用场景是第一区块链网络中的节点向第二区块链网络中的节点请求自身的区块数据时,第一区块链网络中的节点要验证第二区块链网络中的节点向返回的区块数据的有效性和完整性。
如果第二区块链网络的业务配置(例如,监管规则,计算法规,重要的区块链节点,链的CA轮换方式)发生变化,则这些变化信息不仅要在基础链上公布,还要在所有的子链上公布,只有在基础链和所有的子链上都公布了(即都完成新块出块),整个区块链网络才恢复运行,即基础链和所有的子链都出了包含有变化信息的新区块后,基础链和所有的子链才接收新交易数据。如图3中的区块C4,区块A3和区块B5,上述3个区块就是包含变化信息的区块。
虽然派生了不同的子链,但可以仍然由原来固定的核心共识节点来完成共识,即第二区块链网络中的全量节点又可以细分为核心共识节点和非共识节点,核心共识节点会参与基础链和子链的共识,非共识节点不用参与共识,但非共识节点还是会根据业务需求存储基础链或者子链。核心共识节点在进行共识时,会根据待共识的交易数据携带的链ID来区分究竟是哪一个子链需要共识,不同的子链可以并行地各自共识。
除了采用固定的核心共识节点来完成子链的共识,也可以配置一些全量节点独立为某一条子链共识,即这些配置的全量节点是这一条子链的共识节点。当然,为某一条子链独立共识的全量节点必须要同步基础链,因为只有通过基础链才能确定子链的合法性。其余不用为子链共识的全量节点可以不用存储该子链。
第一区块链网络中的轻量节点可以配置为多个子链的SPV(Simplified PaymentVerification,简单支付验证))节点,即一个轻量节点可以参与多个子链的业务,多个子链可以用同一个SPV节点的节点ID和节点地址来参与。当然,SPV节点的节点ID和节点地址必须先在基础链上注册和公布。每个子链的区块可以被独立同步回子链对应的SPV节点中,并在对应的SPV节点本地独立存储。
在第一区块链网络和第二区块链网络之间还存在代理节点,代理节点可以用于传递两个区块链网络之间的信息,代理节点需要记录第二区块链网络中的基础链的共识节点和各个子链的共识节点,如果接收到向某一个子链发送交易或者同步交易的请求,则将该请求转发到该子链的共识节点。否则,代理节点将请求发送至固定的核心共识节点,核心共识节点再根据请求的子链ID来独立处理。
基于前面对双层链体系,以及子母区块链的介绍,本申请主要涉及第二区块链网络中任意两个子链之间的跨链数据共享,通过一个中继链作为共享媒介,将子链的公钥以及基于公钥加密后的共享数据都存储在中继链上,以完成跨链数据共享。
可以理解的是,在本申请的具体实施方式中,涉及到待共享数据、子链身份信息、区块链的公钥、加密目标共享数据等相关数据,当本申请下述实施例运用到具体产品或技术中时,需要获得对应公司或者用户的许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参见图4,图4是本申请实施例提供的一种跨链共享数据的架构图,基础链是第一区块链、第二区块链和中继链的母链,且第一区块链、第二区块链和中继链的第一个区块均是基础链上的一个区块。当需要第一区块链向第二区块链共享数据时,第一区块链节点首先从中继链上读取第二区块链的公钥,利用公钥对待共享数据进行加密,将加密后的待共享数据存储在中继链上。其中,在中继链上注册第二区块链的公钥过程中,中继链节点会到基础链上验证第二区块链的身份,只有验证通过了,才能在中继链上成功注册公钥。第二区块链节点从中继链上读取加密后的待共享数据,利用第二区块链的私钥即可解密,得到待共享数据。至此,就完成了第一区块链向第二区块链共享数据的整个过程。
请参见图5,图5是本申请实施例提供的一种跨链共享数据的交互示意图一,跨链共享数据涉及基础链、第一区块链、第二区块链和中继链,第一区块链、第二区块链和中继链都是基础链的子链,且第一区块链对应第一业务,第二区块对应第二业务,中继链对应跨链共享业务。下面以用于处理区块链跨链事务的跨链接口(如,基础链跨链接口,第一区块链跨链接口,第二区块链跨链接口和中继链跨链接口)为执行主体进行描述,跨链接口可以是一个APP,或者一个API,也可以是一个服务。也就是说,关于区块链的相关操作(例如,将数据上链,获取从链上读取数据等)只能由该区块链对应的跨链接口来执行。基础链跨链接口,第一区块链跨链接口,第二区块链跨链接口和中继链跨链接口可以安装于同一台服务器,也可以安装于不同的服务器。跨链共享数据包括如下步骤:
步骤S501,第一区块链跨链接口获取第一区块链向第二区块链待共享的目标共享数据,向中继链跨链接口发送第二区块链的公钥获取请求。
具体的,共享数据的区块链称为第一区块链,被共享数据的区块链称为第二区块链,即是第一区块链向第二区块链共享数据。
第一区块链接口获取跨链共享请求,跨链共享请求用于指示第一区块链向第二区块链共享数据。跨链共享请求携带待共享的数据(称为目标共享数据),目标共享数据可以是明文数据,也可以是加密数据,且目标共享数据可以是第一区块链上存储的数据,也可以是第一区块链节点的***数据,或者第一区块链节点存储的业务数据等。
第一区块链跨链节点向中继链跨链接口发送第二区块链的公钥获取请求,第二区块链的公钥获取请求用于指示中继链接口获取第二区块链的公钥,并将获取的公钥返回至第一区块链跨链接口。
步骤S502,中继链跨链接口从所述中继链上读取所述第二区块链的公钥,并向第一区块链跨链接口发送第二区块链的公钥。
具体的,中继链跨链接口根据该公钥获取请求,从中继链上读取第二区块链的公钥。中继链跨链接口向第一区块链跨链接口发送获取到的第二区块链的公钥。
其中,第二区块链的公钥是提前在中继链上进行了注册的,即第二区块链的公钥是提前存储在了中继链上;且在中继链上注册第二区块链的公钥时,先要对第二区块链进行身份验证,只有通过身份验证,第二区块链的公钥才能在中继链上成功注册。对第二区块链进行身份验证是通过第二区块链的身份信息,该身份信息是存储在基础链上的。
通俗来说,基础链上存储有第二区块链的身份信息,当第二区块链的公钥在中继链上注册时,通过读取基础链上存储的第二区块链的身份信息对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥才能在中继链上注册成功。
中继链跨链接口可以包括中继链追踪服务,第一区块链跨链接口可以将第二区块链的公钥获取请求发送至中继链追踪服务,由中继链追踪服务读取第二区块链的公钥后,返回至第一区块链跨链接口,即第一区块链跨链接口通过调用中继链追踪服务获取第二区块链的公钥。
步骤S503,第一区块链跨链接口采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据,第一区块链跨链接口将加密目标共享数据发送至所述中继链跨链接口。
具体的,第一区块链跨链接口采用第二区块链的公钥对目标共享数据进行非对称加密,将加密后的数据称为加密目标共享数据。
非对称加密是指加密密钥和解密密钥不同,在本申请中,采用了第二区块链的公钥进行加密,那么只能采用第二区块链的私钥进行解密。
步骤S504,中继链跨链接口将所述加密目标共享数据存储至所述中继链。
具体的,中继链跨链接口对加密目标共享数据进行字段合法性检测,主要是检测加密目标共享数据的大小,检测加密目标共享数据携带的时间戳是否合法,检测加密目标共享数据携带的第一区块链存储地址和第二区块链存储地址是否合法等。
若加密目标共享数据的字段合法性检测通过,中继链跨链接口检测第一区块链是否存在,检测第二区块链是否存在,检测第一区块链是否被冻结,检测第二区块链是否被冻结,若检测到第一区块链存在,检测第二区块链也存在,且检测第一区块链未被冻结,检测第二区块链未被冻结,则中继链跨链接口基于中继链的共识机制将加密目标共享数据存储至中继链上。
步骤S505,第二区块链跨链接口从中继链上读取加密目标共享数据,采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
具体的,中继链跨链接口将加密目标共享数据存储至中继链上后,可以向第二区块链跨链接口发送通知消息,该通知消息用于通知第二区块跨链接口中继链上存储有与第二区块链相关的共享数据。
可选的,第二区块链跨链接口调用中继链追踪服务查询中继链上是否存在其余区块链向第二区块链共享的数据,其中,第二区块链跨链节点可以定时调用中继链追踪服务。
第二区块链跨链接口接收到通知消息,或者接收到中继链追踪服务反馈的中继链上存在其余区块链向第二区块链共享的数据后,第二区块链跨链接口可以向中继链跨链接口发送数据获取请求,中继链跨链接口将加密目标共享数据发送至第二区块链跨链接口,第二区块链跨链接口采用第二区块链的私钥对加密目标共享数据进行解密,得到目标共享数据。至此,就完成了第一区块链向第二区块链共享数据的整个过程。
上述可知,本申请由中继链成为各个子链的信任中心,跨链共享规则简单透明;且中继链接收到加密目标共享数据后,需要对该数据进行字段检查以及区块链的存在性和冻结性检测,可以保证共享数据的安全性,以及过滤掉非法数据共享。
请参见图6,图6是本申请实施例提供的一种跨链共享数据的交互示意图二,本实施例主要描述第一区块链和第二区块链的创建过程,以及第二区块链的公钥的注册过程,具体包括以下步骤:
步骤S601,基础链跨链接口获取第二区块链的子链注册信息。
具体的,第二区块链的子链注册信息可以包括第二区块链的描述信息,第二区块链的共识机制类型等。
步骤S602,基础链跨链接口调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息。
具体的,基础链跨链可以调用基础链上存储的子链注册智能合约创建第二区块链,将当前基础链上最后一个区块作为新创建的第二区块链的创世区块,以及根据第二区块链的子链注册信息生成第二区块链的身份信息,第二区块链的身份信息可以包括:第二区块链的描述信息,第二区块链的共识机制类型,第二区块链的ID,第二区块链的名称,第二区块链的规定长度,第二区块链的共识节点的节点ID等,其中第二区块链的ID,第二区块链的名称,第二区块链的规定长度,第二区块链的共识节点的节点ID等信息是由子链注册智能合约为第二区块链分配的。
可以知道,第二区块链是从基础链上派生出来的,即新创建的第二区块链是基础链的子链。
步骤S603,基础链跨链接口将所述第二区块链的身份信息存储至所述基础链。
具体的,基础链跨链接口根据基础链的共识机制,将第二区块链的身份信息存储在基础链上。
可选的,步骤S601-步骤S603描述了如何创建第二区块链,以及如何将第二区块链的身份信息存储在基础链上;可以采用同样地方式创建第一区块链,以及将第一区块链的身份信息存储在基础链上。当然,第一区块链的创始区块仍然是基础链上的某一个区块。
步骤S604,第二区块链跨链接口获取第二区块链的公钥注册请求,并发送第二区块链的公钥注册请求至中继链跨链接口,所述公钥注册请求包括所述第二区块链的公钥和待验证身份信息。
具体的,待验证身份信息会包括第二区块链的ID。
步骤S605,中继链跨链接口向基础链跨链接口发送身份信息获取请求。
具体的,中继链跨链接口接收到第二区块链的公钥注册请求后,生成身份信息获取请求,该请求用于指示基础链跨链接口从基础链上读取第二区块链的身份信息,并返回至中继链跨链接口,身份信息获取请求也会包括第二区块链的ID。
步骤S606,基础链跨链接口从基础链上读取所述第二区块链的身份信息,并将第二区块链的身份信息发送至中继链跨链接口。
具体的,基础链跨链接口根据第二区块链的ID从基础链上读取第二区块链的身份信息(可以理解为第二区块链的标准身份信息),基础链跨链接口将第二区块链的身份信息发送至中继链跨链接口。
步骤S607,若所述第二区块链的身份信息和待验证身份信息一致,则中继链跨链接口将所述第二区块链的公钥存储至所述中继链上。
具体的,若基础链跨链接口返回的第二区块链的身份信息和公钥注册请求包含的待验证身份信息一致,则中继链跨链接口基于中继链共识机制将第二区块链的公钥存储至所述中继链上。
可选的,步骤S604-步骤S607描述了如何在中继链上注册第二区块链的公钥,可以采用相同的方式在中继链上注册第一区块链的公钥。
后续,可以基于中继链上的第二区块链的公钥由第一区块链向第二区块链共享数据。
请参见图7,图7是本申请实施例提供的一种跨链共享数据的示意图,图7中的业务1的区块链(即是B链)可以对应本申请的第一区块链,业务2的区块链(即是C链)可以对应本申请的第二区块链,A链可以对应本申请的基础链。假设当前B链要共享数据X给C链,且数据X可以是B链上的数据。B链节点通过调用中继链追踪服务从中继链上获取到C链的公钥,将数据X用C链的公钥加密,加密后的数据发送到中继链上。C链节点通过调用中继链追踪服务发现有发送给自己的数据,C链节点通过调用中继链追踪服务从中继链上获取到加密后的数据。C链节点采用C链的私钥解密,即可得到数据X。
上述可知,基础链上存储子链的身份信息,中继链上存储参与数据共享的子链的公钥,即父链存储子链的基础信息,子链存储与自身业务相关的信息,双层链架构既保证了子链之间的业务隔离也保证了子链和基础链之间的紧密关系,为跨链共享数据提供了夯实的架构基础,可以提升跨链共享数据的准确性和鲁棒性。
请参见图8,图8是本申请实施例提供的一种数据处理方法的流程示意图一,本实施例从第一区块链的角度描述第一区块链如何向第二区块链共享数据,共享过程包括如下步骤:
步骤S801,获取第一区块链向第二区块链待共享的目标共享数据。
步骤S802,从中继链上读取所述第二区块链的公钥,采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据;其中,所述第一区块链、第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链。
具体的,第一区块链跨链接口向中继链跨链接口发送第二区块链的公钥获取请求,中继链跨链接口接收到第二区块链的公钥获取请求后,从中继链上读取第二区块链的公钥,并将读取的第二区块链的公钥返回至第一区块链跨链接口。第一区块链跨链接口采用第二区块链的公钥对目标共享数据进行非对称加密处理,得到加密目标共享数据。
第一区块链的创始区块,第二区块链的创始区块,中继链的创始区块均是基础链上的一个区块,创始区块是指区块链上的第一个区块。
步骤S803,将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,以及对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
具体的,第一区块链跨链接口将加密目标共享数据发送至所述中继链跨链接口,使得所述中继链跨链接口基于中继链的共识机制将加密目标共享数据存储至所述中继链。第二区块链跨链接口定时查询中继链上是否存在与第二区块链相关的共享数据,若查询到存在,那么第二区块链跨链接口可以从中继链上获取加密目标共享数据,并采用第二区块链的私钥对加密目标共享数据进行解密,得到了第一区块链向第二区块链共享的目标共享数据。
请参见图9,图9是本申请实施例提供的一种数据处理方法的流程示意图二,本实施例从中继链的角度描述第一区块链如何向第二区块链共享数据,共享过程包括如下步骤:
步骤S901,获取加密目标共享数据;其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链。
具体的,中继链跨链接口接收第一区块链跨链接口发送的加密目标共享数据,且第二区块链的公钥是中继链跨链接口从中继链上读取并返回至第一区块链跨链接口的。
可选的,第二区块链的公钥是提前在中继链上注册了的,注册过程如下:
中继链跨链接口接收第二区块链跨链接口发送的第二区块链的公钥注册请求,该公钥注册请求包括第二区块链的公钥和待验证身份信息。
中继链跨链接口接收到第二区块链的公钥注册请求后,生成身份信息获取请求,该请求用于指示基础链跨链接口从基础链上读取第二区块链的身份信息,并返回至中继链跨链接口。基础链跨链接口从基础链上读取第二区块链的身份信息(可以理解为第二区块链的标准身份信息)后,基础链跨链接口将第二区块链的身份信息发送至中继链跨链接口。
其中,基础链跨链接口返回的第二区块链的身份信息包括:第二区块链的标识(ID,称为标准标识),共识机制类型(称为标准共识机制类型)和描述信息(称为标准描述信息),公钥注册请求包含的待验证身份信息包括:标识(称为待验证标识),共识机制类型(称为待验证共识机制类型)和描述信息(称为待验证描述信息)。若标准标识和待验证标识相同,且标准描述信息和待验证描述信息相同,且待验证共识机制类型和标准共识机制类型相同,那么中继链跨链接口可以判定第二区块链的身份信息和公钥注册请求包含的待验证身份信息相同,进而中继链跨链接口可以基于中继链的共识机制将第二区块链的公钥存储在中继链上。至此,就完成了第二区块链的公钥在中继链上的注册和公布过程。
步骤S902,将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
具体的,中继链跨链接口对加密目标共享数据进行字段合法性检测,字段合法性检测主要是检测加密目标共享数据的大小,检测加密目标共享数据携带的时间戳是否合法,检测加密目标共享数据携带的第一区块链存储地址和第二区块链存储地址是否合法等。若加密目标共享数据的字段合法性检测通过,中继链跨链接口检测第一区块链是否存在,检测第二区块链是否存在,检测第一区块链是否被冻结,检测第二区块链是否被冻结,若检测到第一区块链存在,检测第二区块链也存在,且检测第一区块链未被冻结,检测第二区块链未被冻结,则中继链跨链接口将加密目标共享数据存储至中继链上。
其中,中继链跨链接口对第一区块链和第二区块链的存在性和冻结性进行检测的具体过程如下:中继链跨链接口检测基础链上是否存在第一区块链的身份信息以及第二区块链的身份信息,且检测第一区块链的存储区域是否存储有第一区块链,第二区块链的存储区域是否存储有第二区块链,且检测基础链上是否存在第一区块链的冻结信息和第二区块链的冻结信息,若存在身份信息,且存储区域存储有区块链,且不存在冻结信息,那么可以认为第一区块链和第二区块链均存在,且第一区块链和第二区块链均未被冻结。
当然,检测存在性和冻结性的过程都是基于区块链的ID来查询相关信息,例如,通过第一区块链的ID在基础链上查询是否存在第一区块链的身份信息以及是否存在第一区块链的冻结信息,通过第一区块链的ID在第一区块链的存储区域查询是否存在第一区块链等。
还需要说明的是,中继链跨链接口判断基础链上是否存在身份信息以及冻结信息等,可以通过基础链跨链接口来实现,具体来说,由中继链跨链接口向基础链跨链接口发送一个验证请求,请求基础链跨链接口验证基础链上是否存储有身份信息、冻结信息,以及验证存储区域是否存储有区块链等,基础链跨链接口可以将验证结果返回至中继链跨链接口。
基于中继链的共识机制将加密目标共享数据存储在中继链上的具体过程为:中继链对应的中继链网络包括中继链共识节点集合,中继链共识节点集合中的中继链共识节点用于中继链上的共识。基于中继链的共识机制从多个中继链共识节点中选择出记账节点,该记账节点将加密目标共享数据打包为区块,记账节点将该区块广播至中继链网络中的所有节点,中继链网络中的所有节点将接收到的区块存储至本地维护的中继链,这样中继链网络中的所有节点达成了共识,且将加密目标共享数据存储到了中继链上。
下面基于PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识机制将加密目标共享数据存储至中继链上进行具体的说明:中继链共识节点集合中的多个中继链共识节点可以分为1个主节点和N个备份节点(N是大于0的整数),即中继链共识节点集合的数量为N+1,其中这N+1个中继链共识节点轮流作为主节点,其余的中继链共识节点都是备份节点,主节点是记账节点。主节点将加密目标共享数据打包为区块,将该区块发送至每个备份节点,每个备份节点对区块中的加密目标共享数据进行验证,验证内容可以具体是验证区块以及加密目标共享数据的格式是否正确,验证第一区块链跨链接口对加密目标共享数据的数字签名是否正确等等,其中加密目标共享数据中就携带了第一区块链跨链接口对加密目标共享数据的数字签名。若备份节点对区块中的加密目标共享数据的验证通过,备份节点会用自己的节点私钥对区块进行签名,得到单位共识签名。备份节点将单位共识签名封装为交易确认消息,并向主节点以及其余备份节点发送该交易确认消息,表明该备份节点认为这个区块中的加密目标共享数据是有效数据;若备份节点对区块中的加密目标共享数据的验证不通过,备份节点不会签名也不会发送任何消息。假设主节点以及每个备份节点都接收到了M个备份节点所发送的交易确认消息(M是不大于N的正整数,而M比N小的原因是M个备份节点中可能存在恶意共识节点,或者可能存在故障共识节点),即是交易确认消息的数量等于M。若M大于预设的数量阈值,则主节点将区块添加至本地所维护的中继链,且每个备份节点也会将区块添加至各自本地所维护的中继链,至此就将加密目标共享数据存储到了中继链上。反之,若M不大于预设的数量阈值,则可以输出加密目标共享数据上链失败的通知消息,并向第一区块链跨链接口发送该通知消息。
除了采用PBFT共识机制,还可以采用POW(Proof of Work,工作量证明)共识机制,POW(Proof of Work,工作量证明)共识机制的共识过程为:中继链共识节点集合包括多个中继链共识节点,所有的中继链共识节点根据自己的工作量竞争打包权限。假设目标中继链共识节点是具有最大工作量的中继链共识节点,即目标中继链共识节点具有打包权限,目标中继链共识节点会将加密目标共享数据打包为区块,向其余的中继链共识节点发送该区块,其余的共识节点对目标中继链共识节点的工作量和加密目标共享数据进行验证,若验证通过,每个中继链共识节点直接将该区块添加至各自维护的中继链。
本申请仅详述了PBFT共识机制以及POW共识机制,还可以采用其余的共识机制(例如,权益证明(Proof of Stake,简称POS),dBFT:delegated BFT 授权拜占庭容错算法等等),使加密目标共享数据可以添加至中继链上。
需要说明的是,将第二区块链的公钥存储在中继链和将加密目标共享数据存储在中继链上的过程相同,只是存储对象不同而已,因此将第二区块链的公钥存储在中继链的详细过程就不再赘述。
可选的,由于中继链是两个区块链共享数据的媒介,因此可以基于中继链对共享次数做数据审计。具体过程如下:
在中继链上存储的加密共享数据会携带来源区块链ID(即共享方)和去向区块链ID(即被共享方)。中继链跨链接口可以根据中继链上存储的加密共享数据所携带来源区块链ID和去向区块链ID,将中继链上存储的加密共享数据划分为多个加密共享数据集合,一个加密共享数据集合对应一个区块链。分别统计每个加密共享数据集合中加密共享数据的数量,将每个加密共享数据集合的数量以及每个加密共享数据集合对应的区块链的标识进行关联存储。通过关联存储的数量和区块链的标识可以获知到某一个区块链参与了多少次共享,还可以详细获知到某一个区块链向其余区块链共享的次数,以及被其余区块链共享的次数。
请参见图10,图10是本申请实施例提供的一种数据处理方法的流程示意图三,本实施例从第二区块链的角度描述第一区块链如何向第二区块链共享数据,共享过程包括如下步骤:
步骤S1001,从中继链上读取加密目标共享数据,其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链。
具体的,第二区块链跨链接口定时通过中继链跨链接口(或者通过中继链跨链接口包含的中继链追踪服务)查询中继链上是否存在与第二区块链相关的共享数据,若查询到存在,则中继链跨链接口向第二区块链跨链接口返回查询到的加密目标共享数据。
第二区块链跨链接口可以是第二区块链节点中的APP,或者API,或者一个服务,即第二区块链跨链接口属于第二区块链节点的。
可选的,在中继链上注册第二区块链的公钥的过程如下:
第二区块链跨链接口获取第二区块链的公钥注册请求,该公钥注册请求包括第二区块链的公钥和待验证身份信息,并将该公钥注册请求发送至中继链跨链接口。继链跨链接口接收到第二区块链的公钥注册请求后,从基础链上读取第二区块链的身份信息,比对从基础链上读取的身份信息和注册请求包含的待验证身份信息是否相同,若相同,则继链跨链接口基于中继链共识机制将第二区块链的公钥存储在中继链上。
步骤S1002,采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
具体的,第二区块链跨链接口可以采用第二区块链的私钥对加密目标共享数据进行解密,得到目标共享数据。至此,就完成了第一区块链向第二区块链共享数据的过程。
请参见图11,图11是本申请实施例提供的一种数据处理方法的流程示意图四,本实施例从基础链的角度描述第一区块链如何向第二区块链共享数据,共享过程包括如下步骤:
步骤S1101,获取第二区块链的子链注册信息。
步骤S1102,调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息。
具体的,基础链跨链接口调用基础链上存储的子链注册智能合约创建第二区块链,将当前基础链上最后一个区块作为新创建的第二区块链的创世区块,以及根据第二区块链的子链注册信息生成第二区块链的身份信息,第二区块链的身份信息可以包括:第二区块链的描述信息,第二区块链的共识机制类型,第二区块链的ID,第二区块链的名称,第二区块链的规定长度,第二区块链的共识节点的节点ID等,其中第二区块链的ID,第二区块链的名称,第二区块链的规定长度,第二区块链的共识节点的节点ID等信息是由子链注册智能合约创建为第二区块链分配的。
可以知道,第二区块链是从基础链上派生出来的,即新创建的第二区块链是基础链的子链。
步骤S1103,将所述第二区块链的身份信息存储至所述基础链,存储于基础链上的第二区块链的身份信息用于在中继链上注册第二区块链的公钥时,对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥被存储至所述中继链,存储在中继链上的第二区块链的公钥用于在第一区块链向第二区块链共享数据时,对待共享的目标共享数据进行加密得到加密目标共享数据,加密目标共享数据存储于中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
其中,基础链跨链接口基于基础链共识机制将第二区块链的身份信息存储在基础链上的过程,和前述中继链跨链接口将加密目标共享数据存储在中继链上的过程相同,只是执行主体和上链对象不同,此处不再赘述。
后续,当基础链跨链接口接收到中继跨链接口发送的第二区块链的身份信息获取请求时,基础链跨链接口根据该请求从基础链上读取第二区块链的身份信息,并将该身份信息返回至中继链跨链接口,使得中继链跨链接口根据第二区块链跨链接口的身份信息对所述第二区块链进行身份验证。
可选的,第一区块链的创建过程如下:
基础链跨链接口获取第一区块链的子链注册信息,基础链跨链调用基础链上存储的子链注册智能合约创建第一区块链,将当前基础链上最后一个区块作为新创建的第一区块链的创世区块,以及根据第一区块链的子链注册信息生成第一区块链的身份信息,第一区块链的身份信息可以包括:第一区块链的描述信息,第一区块链的共识机制类型,第一区块链的ID,第一区块链的名称,第一区块链的规定长度,第一区块链的共识节点的节点ID等,其中第一区块链的ID,第一区块链的名称,第一区块链的规定长度,第一区块链的共识节点的节点ID等信息是由子链注册智能合约创建为第一区块链分配的。
可以知道,第一区块链是从基础链上派生出来的,即新创建的第一区块链是基础链的子链。
基础链跨链接口将第一区块链的身份信息存储至基础链,后续,当第一区块链向第二区块链进行数据共享,且需要验证第一区块链和第二区块链的存在性时,可以基于基础链上的第一区块链的身份信息和第二区块链的身份信息来验证第一区块链和第二区块链的存在性。
当需要在两个区块链之间共享数据时,本申请将中继链作为跨链中间媒介,以实现自动跨链共享数据,不需要人工参与不仅可以提升跨链数据共享效率,还可以避免由人工实现跨链数据共享时,出现数据泄露,数据丢失的情况,保证共享数据的安全性;再有,在数据共享过程中,共享数据被加密,可以保证跨链共享数据的私密性;进一步地,基础链上存储子链的身份信息,中继链上存储参与数据共享的子链的公钥,即父链存储子链的基础信息,子链存储与自身业务相关的信息,双层链架构既保证了子链之间的业务隔离也保证了子链和基础链之间的紧密关系,为跨链共享数据提供了夯实的架构基础,可以提升跨链共享数据的准确性和鲁棒性。
进一步的,请参见图12,其是本申请实施例提供的一种数据处理装置的结构示意图一。如图12所示,数据处理装置1可以是上述图3-图11对应实施例中的第一区块链跨链接口。具体的,数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。
数据处理装置1可以包括:第一获取模块11、第一读取模块12和第一存储模块13。
第一获取模块11,用于获取第一区块链向第二区块链待共享的目标共享数据;
第一读取模块12,用于从中继链上读取所述第二区块链的公钥,采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据;其中,所述第一区块链、第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
第一存储模块13,用于将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,以及对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
在一种可能的实施方式中,所述第一区块链的创世区块、所述第二区块链的创世区块和所述中继链的创世区块均是所述基础链上的一个区块。
在一种可能的实施方式中,所述第一读取模块12在用于从中继链上读取所述第二区块链的公钥时,具体用于:
向中继链跨链接口发送第二区块链的公钥获取请求,使得中继链跨链接口根据所述公钥获取请求,从所述中继链上读取所述第二区块链的公钥;
接收所述中继链跨链接口发送的所述第二区块链的公钥;
所述第一存储模块13在用于将所述加密目标共享数据存储至所述中继链时,具体用于:
将所述加密目标共享数据发送至所述中继链跨链接口,使得所述中继链跨链接口基于中继链的共识机制将所述加密目标共享数据存储至所述中继链。
根据本发明的实施例,图8所示的方法所涉及的步骤S801-步骤S803均可以是由图12所示的数据处理装置1中的第一获取模块11、第一读取模块12和第一存储模块13来执行的。
进一步的,请参见图13,其是本申请实施例提供的一种数据处理装置的结构示意图二。如图13所示,数据处理装置2可以是上述图3-图11对应实施例中的中继链跨链接口。具体的,数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置2为一个应用软件;该数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。
数据处理装置2可以包括:第二获取模块21和第二存储模块22。
第二获取模块21,用于获取加密目标共享数据;其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
第二存储模块22,用于将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
在一种可能的实施方式中,所述第二存储模块22还用于:
接收第二区块链跨链接口发送的第二区块链的公钥注册请求,所述公钥注册请求包括所述第二区块链的公钥和待验证身份信息;
从所述基础链上读取所述第二区块链的身份信息;
若所述第二区块链的身份信息和所述待验证身份信息一致,则将所述第二区块链的公钥存储至所述中继链。
在一种可能的实施方式中,所述第二区块链的身份信息包括标准标识,标准共识机制类型以及标准描述信息,所述待验证身份信息包括待验证标识,待验证共识机制类型和待验证描述信息;
所述第二存储模块22还用于:
若所述标准标识和待验证标识相同,且所述标准共识机制类型和待验证共识机制类型相同,且所述标准描述信息和待验证描述信息相同,则确定所述第二区块链的身份信息和所述第二区块链的待验证身份信息一致。
在一种可能的实施方式中,所述加密目标共享数据是第一区块链跨链接口发送的,所述第二存储模块22在用于将所述加密目标共享数据存储至所述中继链时,具体用于:
对所述加密目标共享数据进行字段合法性检测;
若所述加密目标共享数据通过字段合法性检测,且所述第一区块链和所述第二区块链均存在且均未被冻结,则将所述加密目标共享数据存储至所述中继链。
在一种可能的实施方式中,所述第二存储模块22还用于:
若所述基础链上存在所述第一区块链的身份信息以及存在所述第二区块链的身份信息,且所述基础链上不存在第一区块链的冻结信息以及不存在所述第二区块链的冻结信息,则确定所述第一区块链和所述第二区块链均存在且均未被冻结。
在一种可能的实施方式中,第二存储模块22还用于:
将所述中继链上存储的加密共享数据划分为多个加密共享数据集合,一个加密共享数据集合中的加密共享数据对应一个区块链;
分别统计每个加密共享数据集合的数量,将每个加密共享数据集合的数量以及每个加密共享数据集合对应的区块链的标识进行关联存储。
根据本发明的实施例,图9所示的方法所涉及的步骤S901-步骤S902均可以是由图13所示的数据处理装置2中的第二获取模块21和第二存储模块22来执行的。
进一步的,请参见图14,其是本申请实施例提供的一种数据处理装置的结构示意图三。如图14所示,数据处理装置3可以是上述图3-图11对应实施例中的中第二区块链跨链接口。具体的,数据处理装置3可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置3为一个应用软件;该数据处理装置3可以用于执行本申请实施例提供的方法中的相应步骤。
数据处理装置3可以包括:第二读取模块31和解密模块32。
第二读取模块31,用于从中继链上读取加密目标共享数据,其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
解密模块32,用于采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
根据本发明的实施例,图10所示的方法所涉及的步骤S1001-步骤S1002均可以是由图14所示的数据处理装置3中的第二读取模块31和解密模块32来执行的。
进一步的,请参见图15,其是本申请实施例提供的一种数据处理装置的结构示意图四。如图15所示,数据处理装置4可以是上述图3-图11对应实施例中的中基础链跨链接口。具体的,数据处理装置4可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置4为一个应用软件;该数据处理装置4可以用于执行本申请实施例提供的方法中的相应步骤。
数据处理装置4可以包括:第三获取模块41、调用模块42和第三存储模块43。
第三获取模块41,用于获取第二区块链的子链注册信息;
调用模块42,用于调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息;
第三存储模块43,用于将所述第二区块链的身份信息存储至所述基础链,存储于基础链上的第二区块链的身份信息用于在中继链上注册第二区块链的公钥时,对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥被存储至所述中继链,存储在中继链上的第二区块链的公钥用于在第一区块链向第二区块链共享数据时,对待共享的目标共享数据进行加密得到加密目标共享数据,加密目标共享数据存储于中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
在一种可能的实施方式中,调用模块42还用于:
获取第一区块链的子链注册信息;
调用基础链上存储的子链注册智能合约创建所述第一区块链,以及根据所述第一区块链的子链注册信息生成所述第一区块链的身份信息;
将所述第一区块链的身份信息存储至所述基础链,存储于所述基础链上的第一区块链的身份信息用于确定第一区块链的存在性。
在一种可能的实施方式中,所述第二区块链节点包括第二区块链跨链接口,所述第三获取模块41在用于获取第二区块链的子链注册信息时,具体用于:接收第二区块链跨链接口发送的第二区块链的子链注册信息;
所述第三存储模块43还用于:
接收中继链跨链接口发送的第二区块链的身份信息获取请求,根据所述身份信息获取请求从所述基础链上读取所述第二区块链的身份信息;
将所述第二区块链的身份信息发送至所述中继链跨链接口,使得所述中继链跨链接口根据所述第二区块链跨链接口的身份信息对所述第二区块链进行身份验证。
根据本发明的实施例,图11所示的方法所涉及的步骤S1101-步骤S1103均可以是由图15所示的数据处理装置4中的第三获取模块41、调用模块42和第三存储模块43来执行的。
进一步地,请参见图16,图16是本申请实施例提供的一种计算机设备的结构示意图一。上述图3-图11对应实施例中的第一区块链跨链接口可以安装于计算机设备1000。如图16所示,计算机设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、WIFI接口1012、...、或NFC接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备1000。用户接口1002可以包括:键盘1018和显示器1020。
在图16所示的计算机设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:
获取第一区块链向第二区块链待共享的目标共享数据;
从中继链上读取所述第二区块链的公钥,采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据;其中,所述第一区块链、第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,以及对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
在一个实施例中,所述第一区块链的创世区块、所述第二区块链的创世区块和所述中继链的创世区块均是所述基础链上的一个区块。
在一个实施例中,处理器1004在执行从中继链上读取所述第二区块链的公钥时,具体执行以下步骤:
向中继链跨链接口发送第二区块链的公钥获取请求,使得中继链跨链接口根据所述公钥获取请求,从所述中继链上读取所述第二区块链的公钥;
接收所述中继链跨链接口发送的所述第二区块链的公钥;
所述处理器1004在用于将所述加密目标共享数据存储至所述中继链时具体执行以下步骤:
将所述加密目标共享数据发送至所述中继链跨链接口,使得所述中继链跨链接口基于中继链的共识机制将所述加密目标共享数据存储至所述中继链。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3-图11所对应实施例中对数据处理方法的描述,也可执行前文图12所对应实施例中对数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图17,图17是本申请实施例提供的一种计算机设备的结构示意图二。上述图3-图11对应实施例中的中继链跨链接口可以安装于计算机设备2000。如图17所示,计算机设备2000可以包括:用户接口2002、处理器2004、编码器2006以及存储器2008。信号接收器2016用于经由蜂窝接口2020、WIFI接口2012、...、或NFC接口2014接收或者发送数据。编码器2006将接收到的数据编码为计算机处理的数据格式。存储器2008中存储有计算机程序,处理器2004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器2008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器2008可进一步包括相对于处理器2004远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备2000。用户接口2002可以包括:键盘2018和显示器2020。
在图17所示的计算机设备2000中,处理器2004可以用于调用存储器2008中存储计算机程序,以实现:
获取加密目标共享数据;其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
在一个实施例中,处理器2004还执行以下步骤:
接收第二区块链跨链接口发送的第二区块链的公钥注册请求,所述公钥注册请求包括所述第二区块链的公钥和待验证身份信息;
从所述基础链上读取所述第二区块链的身份信息;
若所述第二区块链的身份信息和所述待验证身份信息一致,则将所述第二区块链的公钥存储至所述中继链。
在一个实施例中,所述第二区块链的身份信息包括标准标识,标准共识机制类型以及标准描述信息,所述待验证身份信息包括待验证标识,待验证共识机制类型和待验证描述信息;
处理器2004还执行以下步骤:
若所述标准标识和待验证标识相同,且所述标准共识机制类型和待验证共识机制类型相同,且所述标准描述信息和待验证描述信息相同,则确定所述第二区块链的身份信息和所述第二区块链的待验证身份信息一致。
在一个实施例中,所述加密目标共享数据是第一区块链跨链接口发送的,处理器2004在执行将所述加密目标共享数据存储至所述中继链时,具体执行以下步骤:
对所述加密目标共享数据进行字段合法性检测;
若所述加密目标共享数据通过字段合法性检测,且所述第一区块链和所述第二区块链均存在且均未被冻结,则将所述加密目标共享数据存储至所述中继链。
在一个实施例中,处理器2004还执行以下步骤:
若所述基础链上存在所述第一区块链的身份信息以及存在所述第二区块链的身份信息,且所述基础链上不存在第一区块链的冻结信息以及不存在所述第二区块链的冻结信息,则确定所述第一区块链和所述第二区块链均存在且均未被冻结。
在一个实施例中,处理器2004还执行以下步骤:
将所述中继链上存储的加密共享数据划分为多个加密共享数据集合,一个加密共享数据集合中的加密共享数据对应一个区块链;
分别统计每个加密共享数据集合的数量,将每个加密共享数据集合的数量以及每个加密共享数据集合对应的区块链的标识进行关联存储。
应当理解,本申请实施例中所描述的计算机设备2000可执行前文图3-图11所对应实施例中对数据处理方法的描述,也可执行前文图13所对应实施例中对数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图18,图18是本申请实施例提供的一种计算机设备的结构示意图三。上述图3-图11对应实施例中的第二区块链跨链接口可以安装于计算机设备3000。如图18所示,计算机设备3000可以包括:用户接口3002、处理器3004、编码器3006以及存储器3008。信号接收器3016用于经由蜂窝接口3030、WIFI接口3012、...、或NFC接口3014接收或者发送数据。编码器3006将接收到的数据编码为计算机处理的数据格式。存储器3008中存储有计算机程序,处理器3004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器3008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器3008可进一步包括相对于处理器3004远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备3000。用户接口3002可以包括:键盘3018和显示器3030。
在图18所示的计算机设备3000中,处理器3004可以用于调用存储器3008中存储计算机程序,以实现:
从中继链上读取加密目标共享数据,其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
应当理解,本申请实施例中所描述的计算机设备3000可执行前文图3-图11所对应实施例中对数据处理方法的描述,也可执行前文图14所对应实施例中对数据处理装置3的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图19,其是本申请实施例提供的一种计算机设备的结构示意图四。上述图3-图11对应实施例中的第二区块链跨链接口可以安装于计算机设备4000。如图19所示,计算机设备4000可以包括:用户接口4002、处理器4004、编码器4006以及存储器4008。信号接收器4016用于经由蜂窝接口4040、WIFI接口4012、...、或NFC接口4014接收或者发送数据。编码器4006将接收到的数据编码为计算机处理的数据格式。存储器4008中存储有计算机程序,处理器4004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器4008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器4008可进一步包括相对于处理器4004远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备4000。用户接口4002可以包括:键盘4018和显示器4040。
在图19所示的计算机设备4000中,处理器4004可以用于调用存储器4008中存储计算机程序,以实现:
获取第二区块链的子链注册信息;
调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息;
将所述第二区块链的身份信息存储至所述基础链,存储于基础链上的第二区块链的身份信息用于在中继链上注册第二区块链的公钥时,对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥被存储至所述中继链,存储在中继链上的第二区块链的公钥用于在第一区块链向第二区块链共享数据时,对待共享的目标共享数据进行加密得到加密目标共享数据,加密目标共享数据存储于中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
在一个实施例中,处理器4004还执行以下步骤:
获取第一区块链的子链注册信息;
调用基础链上存储的子链注册智能合约创建所述第一区块链,以及根据所述第一区块链的子链注册信息生成所述第一区块链的身份信息;
将所述第一区块链的身份信息存储至所述基础链,存储于所述基础链上的第一区块链的身份信息用于确定第一区块链的存在性。
在一个实施例中,所述第二区块链节点包括第二区块链跨链接口,所述处理器4004在执行获取第二区块链的子链注册信息时,具体执行以下步骤:接收第二区块链跨链接口发送的第二区块链的子链注册信息;
所述处理器4004还执行以下步骤:
接收中继链跨链接口发送的第二区块链的身份信息获取请求,根据所述身份信息获取请求从所述基础链上读取所述第二区块链的身份信息;
将所述第二区块链的身份信息发送至所述中继链跨链接口,使得所述中继链跨链接口根据所述第二区块链跨链接口的身份信息对所述第二区块链进行身份验证。
应当理解,本申请实施例中所描述的计算机设备4000可执行前文图3-图11所对应实施例中对数据处理方法的描述,也可执行前文图15所对应实施例中对数据处理装置4的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,或者存储有数据处理装置2所执行的计算机程序,或者存储有数据处理装置3所执行的计算机程序,或者存储有数据处理装置4所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3-图11所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,分布在多个地点且通过通信网络互联的多个计算机设备上执行,分布在多个地点且通过通信网络互联的多个计算机设备可以组合为区块链网络。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文图3到图11所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (20)
1.一种数据处理方法,其特征在于,包括:
获取第一区块链向第二区块链待共享的目标共享数据;
从中继链上读取所述第二区块链的公钥,采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据;其中,所述第一区块链、第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,以及对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
2.根据权利要求1所述的方法,其特征在于,所述第一区块链的创世区块、所述第二区块链的创世区块和所述中继链的创世区块均是所述基础链上的一个区块。
3.根据权利要求1所述的方法,其特征在于,所述从中继链上读取所述第二区块链的公钥,包括:
向中继链跨链接口发送第二区块链的公钥获取请求,使得中继链跨链接口根据所述公钥获取请求,从所述中继链上读取所述第二区块链的公钥;
接收所述中继链跨链接口发送的所述第二区块链的公钥;
所述将所述加密目标共享数据存储至所述中继链,包括:
将所述加密目标共享数据发送至所述中继链跨链接口,使得所述中继链跨链接口基于中继链的共识机制将所述加密目标共享数据存储至所述中继链。
4.一种数据处理方法,其特征在于,包括:
获取加密目标共享数据;其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收第二区块链跨链接口发送的第二区块链的公钥注册请求,所述公钥注册请求包括所述第二区块链的公钥和待验证身份信息;
从所述基础链上读取所述第二区块链的身份信息;
若所述第二区块链的身份信息和所述待验证身份信息一致,则将所述第二区块链的公钥存储至所述中继链。
6.根据权利要求5所述的方法,其特征在于,所述第二区块链的身份信息包括标准标识,标准共识机制类型以及标准描述信息,所述待验证身份信息包括待验证标识,待验证共识机制类型和待验证描述信息;
所述方法还包括:
若所述标准标识和待验证标识相同,且所述标准共识机制类型和待验证共识机制类型相同,且所述标准描述信息和待验证描述信息相同,则确定所述第二区块链的身份信息和所述第二区块链的待验证身份信息一致。
7.根据权利要求5所述的方法,其特征在于,所述加密目标共享数据是第一区块链跨链接口发送的,所述将所述加密目标共享数据存储至所述中继链,包括:
对所述加密目标共享数据进行字段合法性检测;
若所述加密目标共享数据通过字段合法性检测,且所述第一区块链和所述第二区块链均存在且均未被冻结,则将所述加密目标共享数据存储至所述中继链。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述基础链上存在所述第一区块链的身份信息以及存在所述第二区块链的身份信息,且所述基础链上不存在第一区块链的冻结信息以及不存在所述第二区块链的冻结信息,则确定所述第一区块链和所述第二区块链均存在且均未被冻结。
9.根据权利要求4所述的方法,其特征在于,还包括:
将所述中继链上存储的加密共享数据划分为多个加密共享数据集合,一个加密共享数据集合中的加密共享数据对应一个区块链;
分别统计每个加密共享数据集合的数量,将每个加密共享数据集合的数量以及每个加密共享数据集合对应的区块链的标识进行关联存储。
10.一种数据处理方法,其特征在于,包括:
从中继链上读取加密目标共享数据,其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
11.一种数据处理方法,其特征在于,包括:
获取第二区块链的子链注册信息;
调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息;
将所述第二区块链的身份信息存储至所述基础链,存储于基础链上的第二区块链的身份信息用于在中继链上注册第二区块链的公钥时,对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥被存储至所述中继链,存储在中继链上的第二区块链的公钥用于在第一区块链向第二区块链共享数据时,对待共享的目标共享数据进行加密得到加密目标共享数据,加密目标共享数据存储于中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
12.根据权利要求11所述的方法,其特征在于,还包括:
获取第一区块链的子链注册信息;
调用基础链上存储的子链注册智能合约创建所述第一区块链,以及根据所述第一区块链的子链注册信息生成所述第一区块链的身份信息;
将所述第一区块链的身份信息存储至所述基础链,存储于所述基础链上的第一区块链的身份信息用于确定第一区块链的存在性。
13.根据权利要求11所述的方法,其特征在于,所述第二区块链节点包括第二区块链跨链接口,所述获取第二区块链的子链注册信息,包括:接收第二区块链跨链接口发送的第二区块链的子链注册信息;
所述方法还包括:
接收中继链跨链接口发送的第二区块链的身份信息获取请求,根据所述身份信息获取请求从所述基础链上读取所述第二区块链的身份信息;
将所述第二区块链的身份信息发送至所述中继链跨链接口,使得所述中继链跨链接口根据所述第二区块链跨链接口的身份信息对所述第二区块链进行身份验证。
14.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取第一区块链向第二区块链待共享的目标共享数据;
第一读取模块,用于从中继链上读取所述第二区块链的公钥,采用所述第二区块链的公钥对所述目标共享数据进行加密处理,得到加密目标共享数据;其中,所述第一区块链、第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
第一存储模块,用于将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,以及对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
15.一种数据处理装置,其特征在于,包括:
第二获取模块,用于获取加密目标共享数据;其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
第二存储模块,用于将所述加密目标共享数据存储至所述中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
16.一种数据处理装置,其特征在于,包括:
第二读取模块,用于从中继链上读取加密目标共享数据,其中,所述加密目标共享数据是对目标共享数据采用第二区块链的公钥进行加密后的加密数据,目标共享数据是第一区块链向第二区块链待共享的数据,第二区块链的公钥存储在中继链上,所述第一区块链、所述第二区块链和所述中继链均是基础链的子链,基础链上存储有第二区块链的身份信息,第二区块链的身份信息用于在所述中继链上注册所述第二区块链的公钥时,对所述第二区块链进行身份验证,并当身份验证通过后,第二区块链的公钥被存储至所述第二区块链;
解密模块,用于采用第二区块链的私钥对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
17.一种数据处理装置,其特征在于,包括:
第三获取模块,用于获取第二区块链的子链注册信息;
调用模块,用于调用基础链上存储的子链注册智能合约创建所述第二区块链,以及根据所述第二区块链的子链注册信息生成所述第二区块链的身份信息;
第三存储模块,用于将所述第二区块链的身份信息存储至所述基础链,存储于基础链上的第二区块链的身份信息用于在中继链上注册第二区块链的公钥时,对第二区块链进行身份验证,当身份验证通过后,第二区块链的公钥被存储至所述中继链,存储在中继链上的第二区块链的公钥用于在第一区块链向第二区块链共享数据时,对待共享的目标共享数据进行加密得到加密目标共享数据,加密目标共享数据存储于中继链,使得第二区块链节点从所述中继链上获取所述加密目标共享数据,并对所述加密目标共享数据进行解密处理,得到所述目标共享数据。
18.根据权利要求17所述的装置,其特征在于,所述调用模块还用于:
获取第一区块链的子链注册信息;
调用基础链上存储的子链注册智能合约创建所述第一区块链,以及根据所述第一区块链的子链注册信息生成所述第一区块链的身份信息;
将所述第一区块链的身份信息存储至所述基础链,存储于所述基础链上的第一区块链的身份信息用于确定第一区块链的存在性。
19.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-13中任一项所述方法的步骤。
20.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得具有所述处理器的计算机设备执行权利要求1-13任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111410543.7A CN113837760B (zh) | 2021-11-25 | 2021-11-25 | 数据处理方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111410543.7A CN113837760B (zh) | 2021-11-25 | 2021-11-25 | 数据处理方法、装置、计算机设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113837760A true CN113837760A (zh) | 2021-12-24 |
CN113837760B CN113837760B (zh) | 2022-08-26 |
Family
ID=78971768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111410543.7A Active CN113837760B (zh) | 2021-11-25 | 2021-11-25 | 数据处理方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837760B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389878A (zh) * | 2022-01-13 | 2022-04-22 | 中国人民解放军国防科技大学 | 一种区块链分片方法及区块链网络*** |
CN115766040A (zh) * | 2022-12-06 | 2023-03-07 | 浙江工业大学 | 一种基于原子交换的高通量跨链交易方法 |
CN115829729A (zh) * | 2023-02-14 | 2023-03-21 | 四川华西集采电子商务有限公司 | 一种基于三链架构的供应链金融信用评价***及方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876370A (zh) * | 2018-06-12 | 2018-11-23 | 北京航空航天大学 | 一种异构多链架构下跨区块链共享开放数据的体系架构 |
CN110083661A (zh) * | 2019-04-30 | 2019-08-02 | 翟红鹰 | 一种区块链***的扩容方法、区块链***、终端设备及存储介质 |
CN110505223A (zh) * | 2019-08-15 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 区块链多链管理方法和装置 |
CN111107136A (zh) * | 2019-12-05 | 2020-05-05 | 上海中信信息发展股份有限公司 | 一种基于ipfs的区块链跨链中继方法 |
CN111200641A (zh) * | 2019-12-25 | 2020-05-26 | 深圳供电局有限公司 | 数据跨链共享方法、***,计算机设备和存储介质 |
CN111414210A (zh) * | 2020-03-25 | 2020-07-14 | 北京创世智链信息技术研究院 | 基于主链生成侧链的方法、装置及计算机可读存储介质 |
CN111600908A (zh) * | 2020-06-17 | 2020-08-28 | 杭州云链趣链数字科技有限公司 | 数据处理的方法、***、计算机设备和可读存储介质 |
CN112214797A (zh) * | 2020-05-22 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链***及存储介质 |
CN112637278A (zh) * | 2020-12-09 | 2021-04-09 | 云南财经大学 | 基于区块链和属性基加密的数据共享方法、***及计算机可读存储介质 |
CN112907262A (zh) * | 2021-02-20 | 2021-06-04 | 北京邮电大学 | 农产品溯源下的一种基于中继链的区块链跨链交互方法 |
CN113364735A (zh) * | 2021-05-01 | 2021-09-07 | 西安电子科技大学 | 多链场景下数据跨链访问控制方法、***、设备及终端 |
US20210328791A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain data processing methods and apparatuses based on cloud computing |
-
2021
- 2021-11-25 CN CN202111410543.7A patent/CN113837760B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876370A (zh) * | 2018-06-12 | 2018-11-23 | 北京航空航天大学 | 一种异构多链架构下跨区块链共享开放数据的体系架构 |
CN110083661A (zh) * | 2019-04-30 | 2019-08-02 | 翟红鹰 | 一种区块链***的扩容方法、区块链***、终端设备及存储介质 |
CN110505223A (zh) * | 2019-08-15 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 区块链多链管理方法和装置 |
CN111107136A (zh) * | 2019-12-05 | 2020-05-05 | 上海中信信息发展股份有限公司 | 一种基于ipfs的区块链跨链中继方法 |
CN111200641A (zh) * | 2019-12-25 | 2020-05-26 | 深圳供电局有限公司 | 数据跨链共享方法、***,计算机设备和存储介质 |
CN111414210A (zh) * | 2020-03-25 | 2020-07-14 | 北京创世智链信息技术研究院 | 基于主链生成侧链的方法、装置及计算机可读存储介质 |
CN112214797A (zh) * | 2020-05-22 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链***及存储介质 |
CN111600908A (zh) * | 2020-06-17 | 2020-08-28 | 杭州云链趣链数字科技有限公司 | 数据处理的方法、***、计算机设备和可读存储介质 |
US20210328791A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain data processing methods and apparatuses based on cloud computing |
CN112637278A (zh) * | 2020-12-09 | 2021-04-09 | 云南财经大学 | 基于区块链和属性基加密的数据共享方法、***及计算机可读存储介质 |
CN112907262A (zh) * | 2021-02-20 | 2021-06-04 | 北京邮电大学 | 农产品溯源下的一种基于中继链的区块链跨链交互方法 |
CN113364735A (zh) * | 2021-05-01 | 2021-09-07 | 西安电子科技大学 | 多链场景下数据跨链访问控制方法、***、设备及终端 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389878A (zh) * | 2022-01-13 | 2022-04-22 | 中国人民解放军国防科技大学 | 一种区块链分片方法及区块链网络*** |
CN114389878B (zh) * | 2022-01-13 | 2024-03-19 | 中国人民解放军国防科技大学 | 一种区块链分片方法及区块链网络*** |
CN115766040A (zh) * | 2022-12-06 | 2023-03-07 | 浙江工业大学 | 一种基于原子交换的高通量跨链交易方法 |
CN115829729A (zh) * | 2023-02-14 | 2023-03-21 | 四川华西集采电子商务有限公司 | 一种基于三链架构的供应链金融信用评价***及方法 |
CN115829729B (zh) * | 2023-02-14 | 2023-05-02 | 四川华西集采电子商务有限公司 | 一种基于三链架构的供应链金融信用评价***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113837760B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
CN111448781B (zh) | 一种计算机实现的用于通信共享的区块链数据的方法 | |
US11444782B2 (en) | Dynamically managing exchanges of data using a distributed ledger and homomorphic commitments | |
US20210150521A1 (en) | Blockchain-based privacy transaction and blockchain-based privacy transaction application methods and apparatuses | |
EP3893433B1 (en) | Data isolation in blockchain networks | |
EP3669280B1 (en) | Shared blockchain data storage | |
US10984134B2 (en) | Blockchain system for leveraging member nodes to achieve consensus | |
US10860710B2 (en) | Processing and storing blockchain data under a trusted execution environment | |
CN111461723B (zh) | 基于区块链的数据处理***及方法、装置 | |
CN113837760B (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111837115A (zh) | 共享的区块链数据存储 | |
CN111213128A (zh) | 实现基于区块链的web服务 | |
CN112749969B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN111066047A (zh) | 实现基于区块链的工作流 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN113765675B (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
CN112508733A (zh) | 一种基于北斗的电网时空大数据智能服务*** | |
Li et al. | Controlled sharing mechanism of data based on the consortium blockchain | |
Muhtasim et al. | Secure data transaction and data analysis of IOT devices using blockchain | |
JP2024076491A (ja) | 通信制御装置および通信制御方法 | |
CN116032494B (zh) | 数据交互方法、区块链预言机、设备及介质 | |
CN114422263B (zh) | 一种基于区块链网络的数据获取方法、装置、***、计算机设备及机器可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |