数据处理方法、装置、设备、区块链系统及存储介质转让专利

申请号 : CN202011232449.2

文献号 : CN112214797B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘长辉

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例提供一种数据处理方法、装置、设备、区块链系统及存储介质,其中,方法包括:向身份链节点发送身份查询请求,所述身份查询请求中包括所述区块链客户端的身份标识和待处理数据;接收所述身份链节点基于所述身份标识和所述待处理数据返回的节点身份信息;根据所述节点身份信息,在区块链节点集合中确定出用于对所述待处理数据进行数据处理的目标区块链节点;将所述待处理数据发送给所述目标区块链节点,以通过所述目标区块链节点对所述待处理数据进行处理。通过本申请,能够通过身份链节点打通数据的拥有者、管理者和访问者等不同角色之间的数据处理流程,保证了不同区块链之间的可信数据传输。

权利要求 :

1.一种数据处理方法,其特征在于,应用于应用链上的目标区块链节点,所述目标区块链节点至少包括公证人节点和数据处理节点,所述公证人节点是预先在身份链节点上进行身份注册的节点;所述应用链使用身份链提供的统一身份服务,所述应用链在所述身份链上注册身份得到身份信息,所述身份信息包括身份ID、身份公钥和所述应用链对外公开的API;所述身份链用于为所述应用链上部署的区块链应用提供可信身份服务;所述方法包括:

所述目标区块链节点中的所述公证人节点接收区块链客户端发送的待处理数据的数据标识;所述目标区块链节点为所述区块链客户端基于所述身份链节点返回的节点身份信息,从区块链节点集合中确定出的所述节点身份信息对应的区块链节点;所述节点身份信息由所述身份链节点基于所述区块链客户端发送的所述区块链客户端的身份标识与所述数据标识查询得到;

所述公证人节点将所述待处理数据对应的提案发送给所述数据处理节点;

获取所述数据处理节点对所述提案进行模拟执行后所返回的模拟执行结果;所述模拟执行结果为所述数据处理节点通过尝试执行所述提案,所得到的所述提案能否执行通过的结果;

基于所述模拟执行结果向所述数据处理节点提交所述待处理数据的数据标识,以实现不同应用链之间的跨链互操作;

其中,所述公证人节点为至少一个,所述公证人节点将所述待处理数据对应的提案发送给所述数据处理节点,包括:

所述公证人节点分别发起各自的提案发送给所述数据处理节点,以使所述数据处理节点根据多个提案进行模拟执行,并返回所述多个提案对应的多个模拟执行结果至所述公证人节点。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述公证人节点向所述身份链节点发送身份注册请求;

接收所述身份链节点响应于所述身份注册请求所返回的公证人身份信息;

当所述公证人节点具有所述公证人身份信息时,接收区块链客户端发送的待处理数据的数据标识。

3.根据权利要求2所述的方法,其特征在于,所述身份链节点与一身份链之间具有映射关系,所述身份链上存储有所述区块链客户端的身份信息和每一区块链节点的节点身份信息;所述区块链客户端的身份信息至少包括身份标识;

区块链节点集合中的区块链节点与至少一应用链之间具有映射关系,所述应用链上存储有区块链数据;所述身份链用于为所述应用链上部署的区块链应用提供身份服务。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将所述公证人身份信息发送给所述身份链节点,使得所述身份链节点将所述公证人节点的公证人身份信息存储至身份链上。

5.根据权利要求1所述的方法,其特征在于,所述待处理数据包括待查询数据;所述目标区块链节点还包括数据查询节点,所述方法还包括:所述数据查询节点接收所述区块链客户端发送的所述待查询数据的数据标识;

所述数据查询节点在应用链上查询所述待查询数据,得到查询数据;

将所述查询数据返回给所述区块链客户端。

6.根据权利要求1所述的方法,其特征在于,所述数据标识包括待查询数据的标识;所述目标区块链节点至少还包括中间节点和处理节点;所述方法还包括:当所述待查询数据存储于所述处理节点对应的应用链上时,所述中间节点接收所述区块链客户端发送的所述待查询数据的标识和所述处理节点的标识;

所述中间节点从所述处理节点对应的应用链上查询所述待查询数据,得到查询数据;

所述中间节点将所述查询数据返回给所述区块链客户端。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述数据处理节点对应一第一目标应用链,所述模拟执行结果中包括所述第一目标应用链的签名。

8.根据权利要求1至6任一项所述的方法,其特征在于,所述提案的数量为多个,每一提案对应一模拟执行结果;

所述基于所述模拟执行结果向所述数据处理节点提交所述待处理数据的数据标识,包括:

将多个模拟执行结果组合成一条提交请求发送给第二目标应用链;

当所述第二目标应用链验证所述提交请求符合预先设定的提交条件时,向所述第二目标应用链中的所述数据处理节点提交所述待处理数据的数据标识。

9.根据权利要求6所述的方法,其特征在于,所述方法包括:所述中间节点接收区块链客户端发送的待处理数据的数据标识和处理节点的标识,其中所述处理节点是存储所述待处理数据的应用链对应的节点;

获取所述区块链客户端的身份标识;

将所述区块链客户端的身份标识和所述处理节点的标识发送给所述身份链节点,以使得所述身份链节点对所述区块链客户端和所述处理节点进行身份验证;

当所述区块链客户端和所述处理节点的身份验证通过时,接收所述身份链节点发送的所述处理节点的服务地址;

根据所述服务地址,向所述处理节点发送所述数据标识,以使得所述处理节点对所述待处理数据进行处理。

10.一种区块链系统,其特征在于,所述系统包括:至少一身份链节点和至少一区块链节点;所述身份链节点对应一身份链,所述区块链节点对应至少一应用链;所述应用链使用身份链提供的统一身份服务,所述应用链在所述身份链上注册身份得到身份信息,所述身份信息包括身份ID、身份公钥和所述应用链对外公开的API;

所述身份链,用于通过所述身份链节点存储区块链客户端的身份信息和每一所述应用链上的区块链节点的节点身份信息,以实现为所述应用链上部署的区块链应用提供身份服务;

所述身份链节点,用于基于所述区块链客户端发送的所述区块链客户端的身份标识与待处理数据的数据标识,查询与所述身份标识与所述数据标识对应的节点身份信息,并将所述节点身份信息返回至所述区块链客户端,以使所述区块链客户端根据所述节点身份信息从所述至少一区块链节点中确定出对所述待处理数据进行处理的目标区块链节点,并将所述数据标识发送至所述目标区块链节点;

所述应用链,用于根据所述身份链提供的所述节点身份信息,对所述区块链客户端发送的待处理数据进行处理;

其中,所述目标区块链节点至少包括数据处理节点和至少一个公证人节点;所述目标区块链节点,用于通过所述至少一个公证人节点分别发起各自的所述待处理数据对应的提案至相关的应用链上的数据处理节点,以使所述数据处理节点根据多个提案进行模拟执行,并返回所述多个提案对应的多个模拟执行结果至所述至少一个公证人节点;所述模拟执行结果为所述数据处理节点通过尝试执行所述提案,所得到的所述提案能否执行通过的结果;并通过所述至少一个公证人节点基于所述模拟执行结果向所述数据处理节点提交所述待处理数据的数据标识,以实现不同应用链之间的跨链互操作。

11.一种数据处理装置,其特征在于,对应于应用链上的目标区块链节点,所述目标区块链节点至少包括公证人节点和数据处理节点,所述公证人节点是预先在身份链节点上进行身份注册的节点;所述应用链使用身份链提供的统一身份服务,所述应用链在所述身份链上注册身份得到身份信息,所述身份信息包括身份ID、身份公钥和所述应用链对外公开的API;所述身份链用于为所述应用链上部署的区块链应用提供可信身份服务;所述目标区块链节点为区块链客户端基于所述身份链节点返回的节点身份信息,从区块链节点集合中确定出的所述节点身份信息对应的区块链节点;所述节点身份信息由所述身份链节点基于所述区块链客户端发送的所述区块链客户端的身份标识与数据标识查询得到;所述装置包括:

接收模块,用于接收区块链客户端发送的待处理数据的数据标识;

发送模块,用于将所述待处理数据对应的提案发送给所述数据处理节点;

获取模块,用于获取所述数据处理节点对所述提案进行模拟执行后所返回的模拟执行结果;所述模拟执行结果为所述数据处理节点通过尝试执行所述提案,所得到的所述提案能否执行通过的结果;

提交模块,用于基于所述模拟执行结果向所述数据处理节点提交所述待处理数据的数据标识,以实现不同应用链之间的跨链互操作;

其中,所述公证人节点为至少一个,所述发送模块,还用于发起各自的提案发送给所述数据处理节点,以使所述数据处理节点根据多个提案进行模拟执行,并返回所述多个提案对应的多个模拟执行结果至所述公证人节点。

12.一种数据处理设备,其特征在于,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至9任一项所述的方法。

13.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至9任一项所述的方法。

说明书 :

数据处理方法、装置、设备、区块链系统及存储介质

技术领域

[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] 所述应用链用于根据所述身份链提供的所述节点身份信息,对所述区块链客户端发送的待处理数据进行处理。
[0053] 本申请实施例提供一种数据处理装置,包括:
[0054] 第一发送模块,用于向身份链节点发送用于请求查询节点身份信息的身份查询请求,所述身份查询请求中包括所述区块链客户端的身份标识和待处理数据的数据标识;
[0055] 第一接收模块,用于接收所述身份链节点返回的与所述身份标识和所述数据标识对应的节点身份信息;
[0056] 确定模块,用于在区块链节点集合中,确定出与所述节点身份信息对应的目标区块链节点;
[0057] 第二发送模块,用于将所述数据标识发送给所述目标区块链节点,以通过所述目标区块链节点对所述待处理数据进行处理。
[0058] 本申请实施例提供一种数据处理装置,包括:
[0059] 第二接收模块,用于接收区块链客户端发送的身份查询请求,所述身份查询请求中包括所述区块链客户端的身份标识和待处理数据的数据标识;
[0060] 查询模块,用于根据所述身份标识,在身份链上查询出用于对所述待处理数据进行数据处理的目标区块链节点的节点身份信息;
[0061] 第三发送模块,用于将所述节点身份信息发送给所述区块链客户端,以使得所述区块链客户端根据所述节点身份信息,将所述数据标识发送给所述目标区块链节点,通过
所述目标区块链节点对所述待处理数据进行处理。
[0062] 本申请实施例提供一种数据处理装置,包括:
[0063] 第三接收模块,用于接收区块链客户端发送的待处理数据的数据标识和处理节点的标识,其中所述处理节点是存储所述待处理数据的应用链对应的节点;
[0064] 获取模块,用于获取所述区块链客户端的身份标识;
[0065] 第四发送模块,用于将所述区块链客户端的身份标识和所述处理节点的标识发送给所述身份链节点,以使得所述身份链节点对所述区块链客户端和所述处理节点进行身份
验证;
[0066] 第四接收模块,用于当所述区块链客户端和所述处理节点的身份验证通过时,接收所述身份链节点发送的所述处理节点的服务地址;
[0067] 第五发送模块,用于根据所述服务地址,向所述处理节点发送所述数据标识,以使得所述处理节点对所述待处理数据进行处理。
[0068] 本申请实施例提供一种数据处理设备,包括:
[0069] 存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的方法。
[0070] 本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
[0071] 本申请实施例具有以下有益效果:
[0072] 由于区块链客户端向身份链节点发送身份查询请求,并接收身份链节点基于身份查询请求所返回的用于对待处理数据进行数据处理的目标区块链节点的节点身份信息,即
通过身份链节点对区块链客户端提供可信身份服务,向区块链客户端返回节点身份信息,
以使得区块链客户端能够基于节点身份信息进行数据处理,从而通过身份链节点打通数据
的拥有者、管理者和访问者等不同角色之间的数据处理流程,保证了不同区块链之间的可
信数据传输。

附图说明

[0073] 图1A是本申请实施例提供的用于进行数据处理的区块链系统10的一个可选的架构示意图;
[0074] 图1B是本申请实施例提供的区块链系统的架构图;
[0075] 图2A是本申请实施例提供的分布式系统201的一个可选的结构示意图;
[0076] 图2B是本申请实施例提供的区块结构的一个可选的示意图;
[0077] 图3是本申请实施例提供的节点202的结构示意图;
[0078] 图4是本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0079] 图5是本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0080] 图6是本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0081] 图7是本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0082] 图8是本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0083] 图9是本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0084] 图10是本申请实施例提供的身份服务使用流程示意图;
[0085] 图11是本申请实施例提供的身份颁发流程示意图;
[0086] 图12是本申请实施例提供的跨链互操作流程图;
[0087] 图13是本申请实施例提供的跨链互操作的架构图;
[0088] 图14是本申请实施例提供的去中心化的两阶段跨链互操作示意图。

具体实施方式

[0089] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0090] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于
本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只
是为了描述本申请实施例的目的,不是旨在限制本申请。
[0091] 为了更好地理解本申请实施例中提供的数据处理方法,首先对相关技术中的数据处理方法进行说明:
[0092] 在信息化时代,数据大规模增长,汇集形成了大量的数据中心,这些数据中心因分属于不同企业或部门而形成相互隔离的数据孤岛,导致信息不能有效传输,难以发挥其应
有的价值。尤其在政务领域,数据多且分散,同时还包含大量隐私与敏感信息,构建集中式
的数据共享服务并不现实,还会增加数据被篡改或泄露的风险。
[0093] 区块链集成了密码学与分布式数据库等技术,能够有效且安全的解决跨组织的数据共享问题。然而,成千上万的数据中心有各自的数据管理模式,单个区块链应用既承载不
了当前大规模的数据量,也不能满足多样化的数据管理模式,所以承载相应数据的区块链
应用也将是百花齐放的,各有各的治理模式,因此需要一个兼容并包的系统将不同的区块
链应用整合成统一的服务,实现无障碍的跨链服务,并提供层次化的治理模式以满足管理
需求。
[0094] 当前不同业务的区块链应用之间缺乏统一互联的通信机制,极大限制了数据共享和价值的自由流动。跨链互操作可以促进链间协同工作,是区块链向着网络效应规模化发
展的强力推手,逐渐成为应用需求的新热点,当前的跨链互操作技术主要包括哈希锁定、公
证人机制和侧链/中继技术。
[0095] 哈希锁定:是通过在两条链上运行特定的智能合约,实现跨链交易与信息交互。举例来说,用户A生成随机数s,并计算出该随机数的哈希值h=hash(s),将该哈希值发送给用
户B;用户A和B通过智能合约先后锁定各自的资产。如果B在X时间内收到正确的s,智能合约
自动执行将B的资产将转移给A,否则退回给B;如果A在2X时间内收到随机数s,则A的资产将
自动转移给B,否则退回给A。
[0096] 公证人机制:是通过选举一个或多个组织作为公证人,对链A的事件进行自动或请求式监听,并在指定事件发生后,在链B执行相应动作,实现对事件的响应。公证人群体通过
特定的共识算法,对事件是否发生达成共识。公证人机制又分为中心化公证人机制(CNS,
Centralized Notary Schemes)和多重签名公证人机制(MNS,Multi‑sig Notary 
Schemes),区别在于后者利用密码学技术,在每次交易验证时从公证人群体中随机选出一
部分公证人,共同完成签名的签发,从而降低对公证人可靠性的依赖程度。
[0097] 侧链/中继:是以轻客户端验证技术为基础,即在链B上执行类似区块链轻客户端功能的智能合约,通过验证链A的加密哈希树(CHT,Cryptographic Hash Tree)以及区块头
(block header)来验证链A的某项特定交易、事件或状态信息是否发生。
[0098] 目前,跨链技术还处于技术发展的早期阶段,主要面临两个问题:
[0099] (1)治理方式的问题:跨链技术主要应用在公链领域,需要抵押数字代币以解决不同链之间的信任问题,但是大部分联盟链不发行数字代币,因此在治理方式上不适用于联
盟链。
[0100] (2)通用性问题:跨链技术主要聚焦于数字资产领域方向,跨链传递的消息类型仅限于资产,因此,不支持通用的消息类型,应用场景相对比较受限。
[0101] 基于相关技术所存在的上述至少一个问题,本申请实施例提出一种分层互联的区块链系统,整个系统可分成两层:底层是单个身份主链(即身份链),上层是多个平行的应用
子链(即应用链)。身份链基于区块链技术为上层应用提供可信身份服务,管理个人、设备、
机构、应用链的身份,身份链不涉及具体应用,仅聚焦于为上层应用提供统一身份的签发、
认证和授权。作为上层应用的基础实施,相对于差异化的上层应用,身份链的功能简洁,治
理模式也相对简单。上层应用可以构建大量不同的区块链应用链,所有应用链使用底层身
份链提供的统一身份服务,应用链在底层身份链上注册身份,身份信息包含应用链的身份
ID、身份公钥以及应用链对外公开的应用程序编程接口(API,Applica tion Programming 
Interface)等,使得不同身份主体之间,通过身份信息进行可验证的交互,为跨链互通提供
信任基础。本申请实施例基于身份链打通数据的拥有者、管理者、访问者等不同角色之间的
验证流程,并提出一种两阶段的去中心化的跨链互操作方案,实现灵活的、可大规模跨链互
联的区块链系统,从而实现系统的分层治理与安全有效的数据共享操作。
[0102] 基于本申请实施例提供的区块链系统,本申请实施例提供一种数据处理方法,分别可以应用于区块链客户端(即任一应用链中的节点上所部署的客户端)、身份链节点(即
任一应用链中的节点,与区块链客户端属于不同的节点)或作为中间节点的区块链节点。首
先,区块链客户端向身份链节点发送用于请求查询节点身份信息的身份查询请求,身份查
询请求中包括区块链客户端的身份标识和待处理数据的数据标识;然后,接收身份链节点
返回的与所述身份标识和所述数据标识对应的节点身份信息;在区块链节点集合中,确定
出与所述节点身份信息对应的目标区块链节点;最后,将数据标识发送给目标区块链节点,
以通过目标区块链节点对待处理数据进行处理。如此,由于通过身份链节点对区块链客户
端提供可信身份服务,向区块链客户端返回节点身份信息,以使得区块链客户端能够基于
节点身份信息进行数据处理,从而通过身份链节点打通数据的拥有者、管理者和访问者等
不同角色之间的数据处理流程,保证了不同区块链之间的可信数据传输。
[0103] 图1A是本申请实施例提供的用于进行数据处理的区块链系统10的一个可选的架构示意图。为了实现本申请实施例的数据处理方法,如图1A所示,区块链系统10是一种分层
互联的区块链系统,整个系统可分成两层:底层是一个身份链11,上层是多个平行的应用链
12。
[0104] 身份链11对应至少一个身份链节点111,用于通过身份链节点111存储区块链客户端的身份信息和每一应用链上的区块链节点121的节点身份信息,以实现为应用链12上部
署的区块链应用提供可信身份服务。
[0105] 这里,应用链12上部署的区块链应用即上层应用,可以是任意一种应用,例如,支付和现金交易相关的应用、银行业的应用、游戏应用、医疗体系应用和即时通信应用等任意
一种应用。
[0106] 身份链11基于区块链技术为上层应用提供可信身份服务,身份链11可以管理多种不同类型的身份数据,包括:个人身份数据、设备身份数据、机构身份数据、应用链的身份数
据等。
[0107] 在一些实施例中,身份链11可以不涉及具体应用,身份链11仅聚焦于为上层应用提供统一身份的签发、认证、授权和查询。作为上层应用的基础实施,相对于差异化的上层
应用,身份链11的功能简洁,治理模式也相对简单,适合为监管部门提供统一的授权与认证
功能。
[0108] 应用链12用于根据身份链11提供的节点身份信息,对区块链客户端发送的待处理数据行处理。
[0109] 本申请实施例中,上层应用可以构建大量不同的区块链应用链12,每个应用链12可以有各自的业务和区块链治理模式。为了打通不同应用链12间的数据孤岛,所有应用链
12使用底层身份链11提供的统一身份服务,应用链12在底层身份链11上注册身份,身份信
息包含应用链12的身份ID、身份公钥以及应用链12对外公开的API等,使得不同身份主体之
间,通过身份信息进行可验证的交互,为跨链互通提供信任基础。
[0110] 本申请实施例提供的具有高可扩展性的区块链系统可以是企业级的区块链系统,适用于开放联盟链场景,涉及到服务大众用户的身份认证、数据授权与迁移等,例如,可以
应用于政务民生领域、教育领域和医疗领域等,其中,在政务民生领域,通过公民身份或企
业法人身份授权,打通跨地域、跨部门的信息化协作,提供安全可验证的数字凭证,减少跑
腿办证明的次数;在教育领域,颁发全国统一的教育身份,基于身份体系签发关联学生的档
案、成绩单、荣誉证书、学习凭证等数字化的教育证书与证照等,并随着升学与转学实现跨
地区的数据流转;在医疗领域,管理属于用户掌控的病例与健康数据档案,实现跨医院、跨
业务的数据授权与迁移等,即提升效率,又保护用户隐私。
[0111] 图1B是本申请实施例提供的区块链系统的架构图,如图1B所示,区块链系统10由数据层13、网络层14、共识层15、激励层16、合约层17和应用层18组成。
[0112] 数据层13封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,其中,数据层13不仅封装了身份链11中的身份数据区块(这里的身份数
据区块是指由个人身份数据、应用身份数据、设备身份数据和机构身份数据等不同类型的
身份数据所形成的数据区块)的链式结构,还封装了应用链12中各个应用数据区块(这里的
应用数据区块是指由各个应用程序相关的数据所形成的数据区块)的链式结构。数据层13
是整个区块链系统中最底层的数据结构。网络层14包括分布式组网机制、数据传播机制和
数据验证机制等,由于采用了完全(P2P,Peer‑to‑Peer)的组网技术,也就意味着区块链是
具有自动组网功能的。共识层15主要封装区块链系统中各个节点的各类共识机制算法。共
识机制算法是区块链技术的核心技术,因为这决定了到底由谁来进行记账,记账者选择方
式将会影响整个系统的安全性和可靠性。激励层16将经济因素集成到区块链技术体系中
来,主要包括经济激励的发行机制和分配机制。激励机制往往也是一种博弈机制,让更多遵
守规则的节点愿意进行记账。合约层17主要封装各类脚本、算法和智能合约,是区块链可编
程特性的基础。应用层18封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各
类区块链应用就是部署在应用层,所谓可编程货币和可编程金融也将会搭建在应用层。其
中数据层、网络层和共识层是构建区块链应用的必要因素,否则将不能称之为真正意义上
的区块链。而激励层、合约层和应用层则不是每个区块链应用的必要因素,有部分的区块链
应用并不完整的包含着这三层结构。
[0113] 在一些实施例中,上述区块链系统10还可以是区块链系统的分布式系统201,参见图2A,图2A是本申请实施例提供的分布式系统201的一个可选的结构示意图,其中,所述分
布式系统201可以是由多个节点202(接入网络中的任意形式的计算设备,如服务器、用户终
端)和客户端203形成的分布式节点,节点之间形成组成的点对点(P2P,Peer To Peer)网
络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上
的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包
括硬件层、中间层、操作系统层和应用层。
[0114] 需要说明的是,分布式系统201中的节点202可以是与身份链11对应的身份链节点,也可以是与应用链12对应的区块链节点,即当节点202是身份链11对应的身份链节点
时,节点202可以用于签发、认证、授权和查询任意个人、任意区块链节点或者任意组织的身
份信息;当节点202是应用链12对应的区块链节点时,节点202可以用于对待处理数据进行
数据处理。
[0115] 参见图2A示出的区块链系统中各节点的功能,下面对区块链系统中各节点涉及的功能进行详细介绍:
[0116] 1)路由,节点具有的基本功能,用于支持节点之间的通信。节点除具有路由功能外,还可以具有以下功能:
[0117] 2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数
据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,
将记录数据添加到临时区块中。例如,应用实现的业务包括:2.1)钱包,用于提供进行电子
货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他
节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临
时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。2.2)共享账本,用于提
供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区
块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据
存入临时区块中,还可以向发起操作的节点发送确认。2.3)智能合约,计算机化的协议,可
以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实
现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状
态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行
用于交易的合约,还可以执行对接收的信息进行处理的合约。
[0118] 3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
[0119] 4)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括
工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,
Delegated Proof‑of‑Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
[0120] 参见图2B,图2B是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区
块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的
时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学
方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性
(防伪)和生成下一个区块。
[0121] 下面说明本申请实施例提供的数据处理设备的示例性应用,本申请实施例提供的数据处理设备可以实施为区块链系统中的任一节点202,其中,节点202可以是笔记本电脑,
平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用
消息设备,便携式游戏设备)、智能机器人等任意具有屏幕显示功能的终端,也可以是服务
器。下面,将说明数据处理设备实施为节点202时的示例性应用。
[0122] 参见图3,图3是本申请实施例提供的节点202的结构示意图,图3所示的节点202包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。节点202中的各
个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接
通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是
为了清楚说明起见,在图3中将各种总线都标为总线系统340。
[0123] 处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
[0124] 用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包
括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输
入按钮和控件。
[0125] 存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一
个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非
易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性
存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器
350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各
种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0126] 操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0127] 网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,
Universal Serial Bus)等;
[0128] 输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0129] 在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种数据处理装置354,该数据处理装置354可以是节点202中的数据处
理装置,其可以是程序和插件等形式的软件,包括以下软件模块:第一发送模块3541、第一
接收模块3542、确定模块3543和第二发送模块3544,这些模块是逻辑上的,因此根据所实现
的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0130] 在另一些实施例中,该数据处理装置354还可以是另一节点202中的数据处理装置,其可以是程序和插件等形式的软件,包括以下软件模块(图中未示出):第二接收模块、
查询模块和第三发送模块,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的
组合或进一步拆分。
[0131] 在又一些实施例中,该数据处理装置354还可以是又一节点202中的数据处理装置,其可以是程序和插件等形式的软件,包括以下软件模块(图中未示出):第三接收模块、
获取模块、第四发送模块、第四接收模块和第五发送模块,这些模块是逻辑上的,因此根据
所实现的功能可以进行任意的组合或进一步拆分。
[0132] 在再一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申
请实施例提供的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个
应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑
器件(PLD,Programmable  Logic  Device)、复杂可编程逻辑器件(CPLD,Complex 
Programmable Logic Device)、现场可编程门阵列(FPGA,Field‑Programmable Gate 
Array)或其他电子元件。
[0133] 本申请还可以采用云技术实现数据处理方法,其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、
处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合
技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利,云计算技
术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图
片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可
能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会
分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
[0134] 在一些实施例中,对待处理数据进行存储的过程,可以采用云存储(cloudstorage)技术实现,其中,云存储是在云计算概念上延伸和发展出来的一个新的概
念,分布式云存储系统是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络
中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口
集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
[0135] 在另一些实施例中,对待处理数据进行查询的方案,可以采用云技术中的数据库来实现,其中,数据库(Database),简而言之可视为电子化的文件柜,即存储电子文件的处
所,用户可以对文件中的数据进行新增、查询、更新等操作。所谓“数据库”是以一定方式储
存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
[0136] 下面将结合本申请实施例提供的节点202的示例性应用和实施,说明本申请实施例提供的数据处理方法。参见图4,图4是本申请实施例提供的数据处理方法的一个可选的
流程示意图,将结合图4示出的步骤进行说明。
[0137] 步骤S401,区块链客户端向身份链节点发送用于请求查询节点身份信息的身份查询请求。
[0138] 这里,区块链客户端被部署于区块链系统中任一区块链节点上,区块链客户端可以是任意一种应用程序的客户端,例如,区块链客户端可以是政务部门应用程序(APP,
Application)的客户端,或者是医院APP的客户端,也可以是购物APP的客户端。
[0139] 身份查询请求中包括区块链客户端的身份标识和待处理数据的数据标识,身份查询请求用于请求查询对待处理数据进行数据处理的区块链节点的节点身份信息。
[0140] 本申请实施例中,区块链客户端的身份标识不仅可以是区块链客户端对应的应用的应用标识,还可以是区块链客户端上所登陆的用户账号对应的个人身份标识,还可以是
区块链客户端所在终端的设备标识,还可以是在区块链客户端上所登陆的某一组织或某一
机构的账号对应的机构身份标识。即,身份标识可以是以下任意一种:个人身份标识、应用
标识、设备标识和机构标识。当用户在区块链客户端上登陆个人账号时,则发送的身份标识
可以是用户的个人身份标识;当区块链客户端基于用户的触发操作向身份链节点发送身份
标识时,则身份标识可以不仅包括区块链客户端对应的APP的应用标识,还包括用户的个人
身份标识,或者还可以包括部署该区块链客户端的终端设备的设备标识;当用户在区块链
客户端上登陆企业或机构的账号时,则发送的身份标识可以是机构标识。
[0141] 在一些实施例中,区块链客户端在向身份链节点发送身份标识时,不仅需要发送用户的个人身份标识,还需要发送区块链客户端所对应的APP的应用标识和/或区块链客户
端所在终端的设备标识。例如,用户A在医院看病的病历数据可以存储于区块链上,且用户A
的教育信息也在区块链上存储着,那么,当用户A通过医疗系统的APP查询自己的病历数据
时,身份链节点就需要知道用户A是从医疗系统的APP上发送的身份查询请求,还是从教育
系统的APP上发送的身份查询请求,所以身份查询请求中不仅包括用户A的个人身份标识,
还包括医疗系统的APP对应的应用标识。
[0142] 待处理数据可以是用户想要查询的数据,或者可以是用户想要向区块链上存储的数据,或者还可以是用户想要更新的数据。待处理数据可以是任何类型的数据,包括但不限
于:文本数据、图片数据、视频数据和音频数据中的至少一种。待处理数据也可以是任何领
域的数据,包括但不限于:医疗领域的数据、教育领域的数据和政治民生领域的数据,或者,
待处理数据也可以是针对于个人的信息数据,也可以是针对于组织和机构的信息数据。本
申请实施例不对待处理数据进行限定。
[0143] 步骤S402,区块链客户端接收身份链节点返回的与身份标识和数据标识对应的节点身份信息。
[0144] 这里,身份链节点对应一身份链;身份链上存储有区块链客户端的身份信息和每一区块链节点的节点身份信息;区块链客户端的身份信息至少包括上述区块链客户端的身
份标识。身份链用于为区块链客户端提供可信身份服务,身份链节点用于存储区块链客户
端的身份信息和每一区块链节点的节点身份信息,形成一身份链;区块链节点集合中的区
块链节点用于存储区块链数据,形成至少一应用链。
[0145] 本申请实施例中,可以通过区块链客户端的身份标识,从身份链上查询到该区块链客户端除了身份标识之外的其他的身份信息,例如,区块链客户端的客户端版本号、客户
端版本号对应的功能等其他的身份信息。当然,在其他实施例中,从身份链上还可以查询到
在该区块链客户端中的每一用户的个人身份信息,以及查询到用于对待处理数据进行处理
的区块链节点的节点身份信息。
[0146] 本申请实施例中,身份链节点在接收到身份查询请求后,响应于身份查询请求,在身份链中查询与身份标识和数据标识对应的节点身份信息。
[0147] 节点身份信息可以是区块链节点的链接地址、区块链节点的标识等任意一种身份信息,节点身份信息能够使得区块链节点快速定位到待处理数据的处理节点。
[0148] 步骤S403,在区块链节点集合中,确定出与所述节点身份信息对应的目标区块链节点。
[0149] 本申请实施例中,区块链节点集合中的区块链节点对应至少一应用链,应用链上存储有区块链数据,也就是说,本申请实施例中,区块链系统可以具有一个身份链和多个应
用链,每一应用链对应同一应用,每一应用链用于实现一个应用对应的任意功能,例如,对
于购物应用对应的应用链,不仅可以实现购物过程中卖家与买家的交易,还可实现对交易
数据的存储和对交易额的分析等。
[0150] 身份链用于为应用链上部署的区块链应用提供身份服务,身份服务可以是与身份的签发、认证、授权和查询等相同或相关的任意一种可信身份服务。
[0151] 步骤S404,区块链客户端将数据标识发送给目标区块链节点,以通过目标区块链节点对待处理数据进行处理。
[0152] 这里,在确定出目标区块链节点之后,将数据标识发送给目标区块链节点,目标区块链节点则可以根据数据标识获取待处理数据,并完成对待处理数据的数据处理。举例来
说,待处理数据可以是待查询数据,那么,目标区块链节点获取到数据标识之后,则在应用
链中查找数据标识对应的数据,并将查找到的数据返回给区块链客户端,或者,待处理数据
可以是待交易数据,那么,目标区块链节点在获取到数据标识(可以是产品标识)之后,则在
应用链中查找到数据标识对应的数据(例如可以是余额),则对应于买家的应用链数据,则
用余额减去相应产品的售价即可,对应于卖家的应用链数据,则用余额加上相应产品的售
价即可。
[0153] 本申请实施例提供的数据处理方法,由于向身份链节点发送身份查询请求,并接收身份链节点基于身份查询请求所返回的用于对待处理数据进行数据处理的目标区块链
节点的节点身份信息,即通过身份链节点对区块链客户端提供可信身份服务,向区块链客
户端返回节点身份信息,以使得区块链客户端能够基于节点身份信息进行数据处理,从而
通过身份链节点打通数据的拥有者、管理者和访问者等不同角色之间的数据处理流程,保
证了不同区块链之间的可信数据传输。
[0154] 在一些实施例中,数据处理方法可以应用于区块链系统,其中,区块链系统中包括区块链客户端、身份链节点和用于实现数据处理的区块链节点(即目标区块链节点)。图5是
本申请实施例提供的数据处理方法的一个可选的流程示意图,如图5所示,方法包括以下步
骤:
[0155] 步骤S501,区块链客户端向身份链节点发送身份查询请求。
[0156] 身份查询请求中包括区块链客户端的身份标识和待处理数据的数据标识。
[0157] 步骤S502,身份链节点响应于身份查询请求,在身份链上查询出用于对待处理数据进行数据处理的目标区块链节点的节点身份信息。
[0158] 这里,身份链上存储有每一区块链节点的节点身份信息,当身份链节点获取到身份查询请求时,根据身份查询请求中的数据标识查询能够对该数据标识进行数据处理的目
标区块链节点的节点身份信息。例如,待处理数据的数据标识表明待处理数据是某学生A的
教育信息数据,则身份链节点在身份链上查询存储有学生A的教育信息数据对应的区块链
节点是哪个,然后,将该区块链节点的节点身份信息发送给区块链客户端。
[0159] 在一些实施例中,身份查询请求中还可以包括待查询的目标区块链节点的标识,也就是说,用户预先知道要查询哪个区块链节点,但是用户并没有该区块链节点的链接地
址,则此时身份链节点可以直接将该目标区块链节点的链接地址作为上述节点身份信息发
送给区块链客户端。
[0160] 在一些实施例中,身份链中可以按照区块链节点的类型对区块链节点进行分类,例如,区块链节点的类型包括:政务领域区块链节点、医疗领域区块链节点和教育领域区块
链节点,或者,区块链节点的类型包括购物类区块链节点、资讯类区块链节点和通讯类区块
链节点。对应地,身份查询请求中还可以包括区块链节点的类型,如此,身份链节点可以直
接根据区块链节点的类型在身份链中查询对应的目标区块链节点。
[0161] 步骤S503,身份链节点将节点身份信息发送给区块链客户端。
[0162] 步骤S504,区块链客户端根据节点身份信息,在区块链节点集合中确定出用于对待处理数据进行数据处理的区块链节点为目标区块链节点。
[0163] 这里,区块链节点集合中包括多个区块链节点,每一区块链节点对应一节点身份信息,每一区块链节点与其他区块链节点之间的节点身份信息不同。通过接收到的节点身
份信息,可以在区块链节点集合中直接确定出对应的目标区块链节点。
[0164] 步骤S505,区块链客户端将待处理数据发送给所确定出的目标区块链节点(即图5中的区块链节点)。
[0165] 步骤S506,目标区块链节点对待处理数据进行处理。
[0166] 本申请实施例提供的数据处理方法,通过区块链客户端、身份链节点和用于实现数据处理的区块链节点形成的区块链系统对待处理数据进行处理,由于向区块链系统中的
身份链节点发送身份查询请求,并接收身份链节点基于身份查询请求所返回的用于对待处
理数据进行数据处理的目标区块链节点的节点身份信息,即通过身份链节点对区块链客户
端提供可信身份服务,向区块链客户端返回节点身份信息,以使得区块链客户端能够基于
节点身份信息进行数据处理,从而通过身份链节点打通数据的拥有者、管理者和访问者等
不同角色之间的数据处理流程,保证了不同区块链之间的可信数据传输。
[0167] 在一些实施例中,身份链节点还可用于实现对区块链客户端和应用链上的每一区块链节点进行身份注册,对应地,区块链系统还包括身份注册节点,其中,身份注册节点能
够提供身份注册服务,身份注册服务可以被部署于身份链对应的任一身份注册节点上。基
于图5,图6是本申请实施例提供的数据处理方法的一个可选的流程示意图,如图6所示,在
步骤S501之前还包括以下步骤:
[0168] 步骤S601,区块链客户端向身份链节点发送身份注册请求。
[0169] 身份注册请求用于请求在身份链上注册身份。对于每一区块链客户端,在实现客户端功能之前,均需要在身份链上注册身份,如此,通过身份链即可实现对区块链系统中的
全部区块链客户端和全部区块链节点提供可信身份服务。
[0170] 步骤S602,身份链节点响应于所述身份注册请求,在身份链上查询出身份注册节点的服务地址。
[0171] 这里,身份注册节点是用于对区块链客户端进行身份注册的节点,身份注册节点能够提供身份注册服务,身份注册节点作为“身份签发者”,能够提供身份链上的“根身份”
服务。
[0172] 步骤S603,身份链节点将服务地址发送给区块链客户端。
[0173] 步骤S604,区块链客户端向服务地址对应的身份注册节点,发送区块链客户端的身份注册信息。
[0174] 这里,身份注册信息包括身份类型、公钥、身份属性和服务等注册信息。
[0175] 步骤S605,身份注册节点基于身份注册信息,完成对区块链客户端的身份注册,形成区块链客户端的身份标识。
[0176] 这里,作为“身份签发者”的身份注册节点,审核用户提交的身份注册信息,并签发身份,生成身份标识和身份颁发签名。
[0177] 步骤S606,身份注册节点将身份标识发送给区块链客户端。
[0178] 在通过上述步骤S601至步骤S606完成对区块链客户端的身份注册之后,方法还包括:
[0179] 步骤S607,区块链客户端将身份标识发送给身份链节点。
[0180] 步骤S608,身份链节点将区块链客户端的身份标识存储至身份链上。
[0181] 这里,身份标识至少包括以下之一:个人身份标识、应用标识、设备标识和机构标识。
[0182] 在一些实施例中,还可以对区块链节点进行身份注册,其中,注册的步骤与对区块链客户端的身份注册过程相同,包括以下步骤(图6中未示出):
[0183] 步骤S61,区块链节点向身份链节点发送身份注册请求。
[0184] 步骤S62,身份链节点响应于身份注册请求,在身份链上查询出身份注册节点的服务地址。
[0185] 步骤S63,身份链节点将服务地址发送给区块链节点。
[0186] 步骤S64,区块链节点向服务地址对应的身份注册节点,发送区块链节点的身份注册信息。
[0187] 步骤S65,身份注册节点基于身份注册信息,完成对区块链节点的身份注册,形成区块链节点的身份标识。
[0188] 步骤S66,身份注册节点将身份标识发送给区块链节点。
[0189] 在通过上述步骤S61至步骤S66完成对区块链节点的身份注册之后,方法还包括:
[0190] 步骤S67,区块链节点将身份标识发送给身份链节点。
[0191] 步骤S68,身份链节点将区块链节点的身份标识存储至身份链上。
[0192] 请继续参照图6,在步骤S502之前,还包括:
[0193] 步骤S609,身份链节点通过身份链对身份标识验证,即,验证身份标识是否是由身份注册服务所签发的。
[0194] 如果验证通过,则执行步骤S502;如果验证不通过,则结束流程。
[0195] 本申请实施例提供的数据处理方法,通过身份链节点实现了对区块链客户端和区块链节点的身份注册,并且将注册得到的身份标识存储于身份链上,如此,能够便于后续进
行数据处理的过程中,可以直接通过身份链请求对数据处理节点进行身份验证,从而能够
保证数据处理的可信执行。
[0196] 在一些实施例中,目标区块链节点对待处理数据进行处理可以是在区块链上查询待查询数据,则数据标识包括待查询数据的标识,基于图4,图7是本申请实施例提供的数据
处理方法的一个可选的流程示意图,如图7所示,步骤S404可以通过以下步骤实现:
[0197] 步骤S701,区块链客户端将待查询数据的标识发送给目标区块链节点。步骤S702,目标区块链节点在应用链上查询待查询数据,得到查询数据。步骤S703,目标区块链节点将
查询数据发送给区块链客户端。
[0198] 在另一些实施例中,目标区块链节点对待处理数据进行处理还可以是授权一个区块链节点在其他区块链节点上查询待查询数据,则数据标识包括待查询数据的标识,目标
区块链节点至少包括中间节点和处理节点,其中,中间节点是经过区块链客户端授权的节
点,中间节点用于连接区块链客户端与处理节点,实现从处理节点上获取区块链客户端要
查询的待查询数据;处理节点是作为实际进行查询的执行节点,处理节点响应于中间节点
所传输的区块链客户端的查询请求,从而完成对待查询数据的查询,得到查询数据,并通过
中间节点返回给区块链客户端。需要说明的是,处理节点并不与区块链客户端进行直接通
信,处理节点通过中间节点实现与区块链客户端之间的通信。
[0199] 请继续参照图7,步骤S404可以通过以下步骤实现:
[0200] 步骤S704,判断待查询数据是否存储于处理节点对应的应用链上。
[0201] 如果判断结果为是,则执行步骤S705;如果判断结果为否,则结束流程。
[0202] 步骤S705,区块链客户端将待查询数据的标识和处理节点的标识发送给中间节点。
[0203] 在一些实施例中,在将待查询数据的标识和所述处理节点的标识发送给中间节点之后,还可以包括:步骤S706,对中间节点进行授权,以使得中间节点能够从处理节点上查
询待查询数据。
[0204] 步骤S707,中间节点将待查询数据的标识和处理节点的标识发送给处理节点,以从处理节点对应的应用链上查询待查询数据,得到查询数据。
[0205] 步骤S708,中间节点将查询数据返回给区块链客户端。
[0206] 在一些实施例中,区块链系统中还可以包括公证人节点,即目标区块链节点包括公证人节点和数据处理节点,公证人节点是在区块链系统中选取的,公证人节点为至少一
个,公证人节点的身份信息也需要在身份链上注册,由多个公证人形成的公证人集合协调
不同应用链之间的互操作。公证人集合通过预先设定的条件,对事件是否发生达成共识,比
如N个公证人中有M个公证人达成一致,则事件通过可以提交给区块链节点进行执行操作。
[0207] 这里,以任一公证人节点为例,对本申请实施例提供的基于公证人节点实现数据处理的过程进行说明,基于图5,图8是本申请实施例提供的数据处理方法的一个可选的流
程示意图,如图8所示,步骤S505可以通过以下步骤实现:
[0208] 步骤S801,区块链客户端将待处理数据的数据标识发送给公证人节点。
[0209] 本申请实施例中,可以将数据标识发送给公证人集合中的全部公证人节点或者部分公证人节点,通过公证人节点对事件是否发生达成共识。
[0210] 步骤S802,公证人节点将待处理数据对应的提案发送给数据处理节点。
[0211] 在一些实施例中,数据标识可以是跨链交易的请求对应的交易标识,公证人在收到跨链交易的请求之后,分别发起各自的提案给相关的应用链上的数据处理节点。
[0212] 下面对提案进行解释:共识算法解决的是对某个提案(Proposal),达成一致意见的过程。提案的含义在分布式系统中十分宽泛,如多个事件发生的顺序、某个键对应的值、
谁是领导、交易……等等,可以认为任何需要达成一致的信息都是一个提案,在区块链网络
中是指交易。例如,某一用户需要在区块链上执行一笔交易,交易内容是:A给B转账n个资
产,则该交易内容即为提案。
[0213] 步骤S803,数据处理节点对提案进行模拟执行,得到模拟执行结果。
[0214] 这里,继续以上述“A给B转账n个资产”的提案为例,对模拟执行进行解释:模拟执行是指区块链上的节点(即数据处理节点)尝试执行这笔交易,将A的资产减少n,将B的资产
增加n,所谓模拟执行就是A和B的资产变动并不会生效,只是尝试交易能否执行通过。如果
模拟执行成功,还需要等到后续提交阶段才能生效。如果A根本就没有n个资产,则模拟执行
会失败。
[0215] 步骤S804,数据处理节点将模拟执行结果返回给公证人节点。
[0216] 步骤S805,公证人节点基于模拟执行结果向数据处理节点提交待处理数据的数据标识。
[0217] 这里,模拟执行结果可以是模拟执行成功或者模拟执行失败。如果模拟执行成功,则可以进行后续的提交阶段进行提案的正式提交。
[0218] 本申请实施例提供的数据处理方法,通过公证人对数据处理过程进行监控,能够保证数据处理过程的公正有序进行,并且,通过多公证人方式对数据处理过程进行监控,如
此,可以防止单个公证人作弊而发起错误的提案,导致公证人作为中介方在多个应用链之
间进行不符预期的协调。
[0219] 在一些实施例中,区块链系统包括区块链客户端、身份链节点和作为中间节点的区块链节点。图9是本申请实施例提供的数据处理方法的一个可选的流程示意图,如图9所
示,方法包括以下步骤:
[0220] 步骤S901,区块链节点接收区块链客户端发送的待处理数据和处理节点的标识,其中处理节点是存储待处理数据的应用链对应的节点。
[0221] 步骤S902,区块链节点获取区块链客户端的身份标识。
[0222] 步骤S903,区块链节点将区块链客户端的身份标识和处理节点的标识发送给身份链节点。
[0223] 步骤S904,身份链节点对区块链客户端和处理节点进行身份验证。
[0224] 步骤S905,当区块链客户端和处理节点的身份验证通过时,身份链节点获取处理节点的服务地址。
[0225] 步骤S906,身份链节点将处理节点的服务地址发送给区块链节点。
[0226] 步骤S907,区块链节点根据处理节点的服务地址,向处理节点发送待处理数据,以使得处理节点对待处理数据进行处理。
[0227] 下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
[0228] 本申请实施例提供一种数据处理方法,应用于区块链系统,其中,区块链系统是一种分层互联的区块链系统,整个系统可分成两层:底层是一个身份主链(即身份链),上层是
多个平行的应用子链(即应用链),通过该区块链系统中的不同节点实现本申请实施例的数
据处理方法。
[0229] 本申请实施例中,身份主链管理个人、设备、机构、上层应用子链的身份数据,身份由一个可信的身份签发者统一颁发,该身份签发者作为整个系统中的监管角色,可以是单
个可信机构或多个机构组建的联盟,如果是由联盟,则该联盟也可以组建一个区块链系统
来进行联盟治理。身份签发者作为一个身份实体,是身份主链上的第一个可信身份,也称之
为“根身份”,该身份记录在身份主链的“创世区块”中,是所有身份的信任根。除了“根身份”
外,身份主链上记录所有由“根身份”颁发的身份,身份由如下几个部分组成:
[0230] 身份标识符(身份ID):作为该身份的唯一识别码;例如,对于用户来说,身份ID可以是个人账号、名称等个人身份ID;对于设备来说,身份ID可以是设备编号、设备名称和设
备参数等设备ID;对于组织或者机构来说,身份ID可以是组织或机构的名称、组织或机构的
账号等组织机构ID;对于应用来说,身份ID可以是应用的名称等应用ID。
[0231] 身份类型(Type):是指在身份链上具有身份信息的对象的类型,其中,在身份链上具有身份信息的对象包括但不限于:个人、设备、机构、应用子链等几大类;
[0232] 身份公钥(PubKey):对应于每一种身份类型下的每一个具有身份信息的对象,即每一对象具有一身份公钥,其中,身份公钥是每一对象的身份信息对应的非对称加密公钥,
用于对该对象的身份信息进行验签,私钥由身份信息拥有者持有;
[0233] 身份颁发签名(Sign):是指由身份签发者对该身份信息的拥有者颁发签名的过程;
[0234] 身份属性(Attribute):是由业务自定义的身份属性,用于身份签发者对该身份信息进行认证与授权;
[0235] 身份服务(Service):记录该身份信息的服务地址、API等信息,按身份类型不同分为:个人身份服务,记录托管个人数据的机构或应用子链的身份ID;机构或应用子链身份服
务,记录机构或应用子链对外提供的网络服务地址,如查询API、更新API等。
[0236] 身份服务(Service)是整个区块链系统中解决可信数据访问的重要环节,这里,以查询或更新某项个人数据为例阐述身份服务的使用流程。图10是本申请实施例提供的身份
服务使用流程示意图,如图10所示,包括以下步骤:
[0237] 步骤S101,区块链客户端使用某个个人的身份ID去身份主链上查询该身份ID的身份服务,身份主链返回的个人身份服务为该个人所托管的某个应用子链的身份ID。
[0238] 这里,区块链客户端可以是终端上的任一APP对应的客户端。
[0239] 步骤S102,区块链客户端使用该应用子链的身份ID去身份主链上查询该ID的身份服务,身份主链返回的该子链对外提供的网络服务地址,即用于查询与更新的API。
[0240] 步骤S103,区块链客户端通过应用子链的服务地址,发起对该个人数据的查询或更新操作,由该应用子链审核操作并执行。
[0241] 在一些实施例中,区块链系统还可以实现对个人、机构、或机构联盟等的身份颁发。图11是本申请实施例提供的身份颁发流程示意图,如图11所示,包括以下步骤:
[0242] 步骤S111,个人、机构、或机构联盟作为身份申请者,通过APP程序向身份链查询“身份签发者”的服务地址,也就是身份链上的“根身份”的服务(Service)。
[0243] 步骤S112,身份申请者获取“身份签发者”的区块链服务地址后,向该服务地址提交身份认证信息,包括身份类型、公钥、属性、服务等,“身份签发者”审核申请者所提交的身
份认证信息,并签发身份,生成身份标识符(即身份标识)与身份颁发签名。
[0244] 步骤S113,身份申请者获取到“身份签发者”颁发的身份后,身份申请者或者身份申请者通过“身份签发者”,将所颁发的身份提交到身份链进行身份注册,身份链节点先验
证上链的身份是否合法,即是否由“根身份”签发,再保存身份信息到身份链上以供后续进
行查询与验证。
[0245] 需要说明的是,身份的更新与召回过程与签发过程类似。
[0246] 在一些实施例中,上层应用可以构建多个不同业务的应用子链,如何做到不同应用子链之间的数据可信互通,是当前区块链面临的重要难题。本申请实施例中的分层互联
的区块链系统,基于底层身份主链可以有效解决不同应用子链之间的身份互信、数据授权
访问的问题,应用子链间的数据互通包括跨链查询和更新。
[0247] 对于应用子链之间的跨链查询,需要解决不同应用子链之间身份互信与数据授权的问题。这里,以某个申请者C授权子链B向子链A上查询申请者的数据为例,并且申请者C、
子链A、子链B三者的身份信息都已经注册在身份链上,跨链互操作流程如图12所示,包括以
下步骤:
[0248] 步骤S121,申请者C通过APP查询身份主链,获取子链A和B的身份信息及其服务地址,以查询子链身份。
[0249] 步骤S122,申请者C向子链B发起申请,授权子链B向子链A上查询C托管在子链A上的某项数据(即待查询数据),并使用C的身份私钥进行签名。
[0250] 步骤S123,子链B查询身份主链,验证申请者C与子链A的身份信息,并获取到子链A的服务地址。
[0251] 步骤S124,子链B发起对子链A的跨链查询请求,请求中附带C的申请与C的授权签名。
[0252] 步骤S125,子链A收到跨链查询请求后,验证C与B的身份与签名,并返回C所托管的数据。
[0253] 通过上述流程,基于身份主链,不同子链之间可以进行可信跨链查询,并不需要事先建立跨链通道,具备较高的灵活性与可扩展性。身份的可信度由底层身份主链保障,从而
实现底层与应用层区块链的分层治理。为保证数据安全传输,任意两个身份实体之间的消
息传输,可以使用消息发送的身份私钥进行签名,使用消息接收方的公钥进行加密。
[0254] 对于应用子链之间的跨链互操作,跨链互操作意味着一笔交易要同时修改多个区块链上的数据,相对于跨链查询更加复杂,主要体现在如何保证多个不同应用子链之间的
操作一致性,同时还要避免有中心化的环节。
[0255] 本申请实施例提供一种去中心化的跨链互操作方法,选取多个组织或机构作为公证人集合,公证人的身份也需要在身份主链上注册,由公证人集合协调不同子链之间的互
操作,对链A的事件进行自动或请求式监听,并在指定事件发生后,在链B执行相应动作,实
现对事件的响应,公证人集合通过预设特定的条件,对事件是否发生达成共识,比如N个公
证人有M个达成一致。
[0256] 图13是本申请实施例提供的跨链互操作的架构图,如图13所示,在整个跨链互操作的架构中,包括需要跨链互操作的两个子链1301和1302、公证人集合1303和身份主链
1304。其中,公证人集合1303中包括多个公证人,公证人的身份也在身份主链1304上注册。
[0257] 公证人集合以两阶段的方式在应用子链上发起交易,图14是本申请实施例提供的去中心化的两阶段跨链互操作示意图,如图14所示,
[0258] 在第一阶段141中,包括提交提案和模拟执行两个过程。在第一阶段141的提交提案过程中,N个公证人在收到跨链交易的请求后,分别发起各自的提案给相关的应用子链,
提案包含该公证人的签名。在第一阶段141的模拟执行过程中,应用子链收到N个提案后进
行模拟执行,并返回模拟执行结果给公证人,模拟执行结果附带应用子链签名。
[0259] 在第二阶段142中,包括提交提案和提交返回两个过程。在第二阶段142的提交提案过程中,公证人集合收集多个提案及该提案对应的模拟结果,组合成一条提交请求发送
给应用子链,应用子链验证请求是否符合预先设定的提交条件(比如N个公证人中有M个提
案及其模拟结果一致),满足条件则提交。在第二阶段142的提交返回过程中,应用子链在完
成所提交的请求之后,向公证人集合提交请求执行结果并返回签名。
[0260] 通过上述两个阶段的多公证人方式,可以防止单个公证人作弊而发起错误的提案,导致公证人作为中介方在多个应用子链之间进行不符预期的协调。
[0261] 本申请实施例中,基于身份主链打通数据的拥有者、管理者、访问者等不同角色之间的验证流程,并提出一种两阶段的去中心化的跨链互操作方案,实现灵活的、可大规模跨
链互联的区块链系统,保障敏感数据的安全跨链流通,以及支持层级化的区块链治理模式。
[0262] 下面继续说明本申请实施例提供的数据处理装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的数据处理装置354中的软件模块可以
是节点202中的数据处理装置,包括:
[0263] 第一发送模块3541,用于向身份链节点发送用于请求查询节点身份信息的身份查询请求,所述身份查询请求中包括所述区块链客户端的身份标识和待处理数据的数据标
识;
[0264] 第一接收模块3542,用于接收所述身份链节点返回的与所述身份标识和所述数据标识对应的节点身份信息;
[0265] 确定模块3543,用于在区块链节点集合中,确定出与所述节点身份信息对应的目标区块链节点;
[0266] 第二发送模块3544,用于将所述数据标识发送给所述目标区块链节点,以通过所述目标区块链节点对所述待处理数据进行处理。
[0267] 在一些实施例中,所述身份链节点对应一身份链;所述身份链上存储有所述区块链客户端的身份信息和每一区块链节点的节点身份信息;所述区块链客户端的身份信息至
少包括所述身份标识;
[0268] 所述区块链节点集合中的区块链节点对应至少一应用链,所述应用链上存储有区块链数据;所述身份链用于为所述应用链上部署的区块链应用提供身份服务。
[0269] 在一些实施例中,所述装置还包括:身份注册请求发送模块,用于向所述身份链节点发送身份注册请求;服务地址接收模块,用于接收所述身份链节点响应于所述身份注册
请求所返回的服务地址;身份注册信息发送模块,用于向所述服务地址对应的身份注册节
点,发送所述区块链客户端的身份注册信息;身份标识接收模块,用于当所述身份注册节点
基于所述身份注册信息,完成对所述区块链客户端的身份注册之后,接收所述身份注册服
务返回的所述身份标识。
[0270] 在一些实施例中,所述装置还包括:处理模块,用于将所述身份标识发送给所述身份链节点,使得所述身份链节点将所述区块链客户端的身份标识存储至身份链上;其中,所
述身份标识至少包括以下之一:个人身份标识、应用标识、设备标识和机构标识;所述第一
接收模块还用于:当所述身份链节点通过所述身份链对所述身份标识验证通过时,接收所
述身份链节点返回的与所述待处理数据对应的节点身份信息。
[0271] 在一些实施例中,所述数据标识包括待查询数据;所述第二发送模块还用于:将所述待查询数据的标识发送给所述目标区块链节点,以通过所述目标区块链节点在应用链上
查询所述待查询数据,得到查询数据;对应地,接收所述目标区块链节点返回的所述查询数
据。
[0272] 在一些实施例中,所述待处理数据包括待查询数据;所述目标区块链节点至少包括中间节点和处理节点;所述第二发送模块还用于:当确定出所述待查询数据存储于所述
处理节点对应的应用链上时,将所述待查询数据的标识和所述处理节点的标识发送给所述
中间节点,以通过所述中间节点从所述处理节点对应的应用链上查询所述待查询数据,得
到查询数据;对应地,接收所述中间节点返回的所述查询数据。
[0273] 在一些实施例中,所述装置还包括:授权模块,用于在将所述待查询数据的标识和所述处理节点的标识发送给所述中间节点之后,对所述中间节点进行授权,以使得所述中
间节点能够从所述处理节点上查询所述待查询数据。
[0274] 在一些实施例中,所述目标区块链节点包括公证人节点和数据处理节点;所述第二发送模块还用于:将所述数据标识发送给所述公证人节点,以使得所述公证人节点将所
述待处理数据对应的提案发送给数据处理节点,并获取数据处理节点对所述提案进行模拟
执行后所返回的模拟执行结果,使得所述公证人节点基于所述模拟执行结果向所述数据处
理节点提交所述待处理数据的数据标识。
[0275] 在一些实施例中,存储在存储器350的数据处理装置354中的软件模块还可以是节点202中的数据处理装置,包括:
[0276] 第二接收模块,用于接收区块链客户端发送的身份查询请求,所述身份查询请求中包括所述区块链客户端的身份标识和待处理数据的数据标识;
[0277] 查询模块,用于根据所述身份标识,在身份链上查询出用于对所述待处理数据进行数据处理的目标区块链节点的节点身份信息;
[0278] 第三发送模块,用于将所述节点身份信息发送给所述区块链客户端,以使得所述区块链客户端根据所述节点身份信息,将所述数据标识发送给所述目标区块链节点,通过
所述目标区块链节点对所述待处理数据进行处理。
[0279] 在一些实施例中,所述装置还包括:
[0280] 身份注册请求接收模块,用于接收所述区块链客户端发送的身份注册请求;
[0281] 查询模块,用于响应于所述身份注册请求,在所述身份链上查询出身份注册服务的服务地址;
[0282] 服务地址发送模块,用于将所述服务地址发送给所述区块链客户端,以使得所述区块链客户端向所述身份注册服务发送身份注册信息,以完成对所述区块链客户端的身份
注册,并获取到所述区块链客户端的身份标识。
[0283] 在一些实施例中,所述装置还包括:
[0284] 身份标识接收模块,用于接收所述区块链客户端发送的身份标识;
[0285] 验证模块,用于验证所述身份标识是否是由所述身份注册服务所签发的;
[0286] 存储模块,用于当验证通过时,将所述身份标识存储于所述身份链上,其中,所述身份标识至少包括以下之一:个人身份标识、应用标识、设备标识和机构标识。
[0287] 在一些实施例中,存储在存储器350的数据处理装置354中的软件模块还可以是节点202中的数据处理装置,包括:第三接收模块,用于接收区块链客户端发送的待处理数据
的数据标识和处理节点的标识,其中所述处理节点是存储所述待处理数据的应用链对应的
节点;获取模块,用于获取所述区块链客户端的身份标识;第四发送模块,用于将所述区块
链客户端的身份标识和所述处理节点的标识发送给所述身份链节点,以使得所述身份链节
点对所述区块链客户端和所述处理节点进行身份验证;第四接收模块,用于当所述区块链
客户端和所述处理节点的身份验证通过时,接收所述身份链节点发送的所述处理节点的服
务地址;第五发送模块,用于根据所述服务地址,向所述处理节点发送所述数据标识,以使
得所述处理节点对所述待处理数据进行处理。
[0288] 需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,
请参照本申请方法实施例的描述而理解。
[0289] 本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4
示出的方法。
[0290] 在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只
读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,
Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,
Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、
或光盘只读存储器(CD‑ROM,Compact Disk‑Read Only Memory)等存储器;也可以是包括上
述存储器之一或任意组合的各种设备。
[0291] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
[0292] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text 
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计
算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0293] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之
内。