CN113255014B - 一种基于区块链的数据处理方法以及相关设备 - Google Patents

一种基于区块链的数据处理方法以及相关设备 Download PDF

Info

Publication number
CN113255014B
CN113255014B CN202110765987.6A CN202110765987A CN113255014B CN 113255014 B CN113255014 B CN 113255014B CN 202110765987 A CN202110765987 A CN 202110765987A CN 113255014 B CN113255014 B CN 113255014B
Authority
CN
China
Prior art keywords
public key
service
consensus
node
identity information
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.)
Active
Application number
CN202110765987.6A
Other languages
English (en)
Other versions
CN113255014A (zh
Inventor
王宗友
朱耿良
蓝虎
时一防
廖志勇
刘区城
黄焕坤
刘攀
周开班
张劲松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110765987.6A priority Critical patent/CN113255014B/zh
Publication of CN113255014A publication Critical patent/CN113255014A/zh
Application granted granted Critical
Publication of CN113255014B publication Critical patent/CN113255014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Abstract

本发明公开了一种基于区块链的数据处理方法以及相关设备,该数据处理方法包括:业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;若共识网络对公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于公钥和业务身份信息所生成的公钥证书;从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和所述通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。采用本发明,可以降低区块链权限管理难度,且提高网络安全性。

Description

一种基于区块链的数据处理方法以及相关设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的数据处理方法以及相关设备。
背景技术
在税务电子发票区块链系统中,业务节点部署在处于公网的见证网络中,而运行区块链共识协议的记账节点则部署在私有的共识网络中,二者通过路由边界进行交互。由于共识网络处于相对安全的私有云中,而业务节点处于公共网络中,可能会被其他不确定的网络终端访问,因此业务节点以及其他可能的节点接入共识网络中的行为需要被严格控制。
现有区块链系统的权限控制方案中,可以通过业务层、账本层、网络层以及CA证书(Certificate Authority,证书颁发机构)四个方面来对业务节点进行身份管理和权限控制,提高区块链系统的安全。但是四个方面对应的安全加密方案不同,使用的安全工具也不同,例如,账本层对应账本的非对称秘钥,CA证书对应证书的非对称秘钥,网络层对应网络的非对称秘钥,这些非对称秘钥相互间没有关联、互不相同。使用者需要记录大量安全工具,管理复杂,且由于各个安全工具权限不统一,容易出现使用者的部分秘钥不可用,但部分秘钥仍然可用,导致出现无效请求甚至是攻击请求。
发明内容
本申请实施例提供一种基于区块链的数据处理方法,可以降低区块链权限管理难度,且提高网络安全性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;共识网络用于基于注册请求对公钥和业务身份信息进行共识处理;
若对公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于公钥和业务身份信息所生成的公钥证书;共识网络还用于将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
共识节点基于注册请求针对公钥和业务身份信息进行共识处理,得到共识处理结果;注册请求是由业务节点通过业务合约发起的针对公钥和业务身份信息的注册请求;
若共识处理结果为共识通过结果,则向证书认证节点发送公钥和业务身份信息,以使证书认证节点基于公钥和业务身份信息生成公钥证书;
接收证书认证节点所返回的公钥证书,将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
将公钥证书发送至业务节点,以使业务节点从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
注册请求模块,用于通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;共识网络用于基于注册请求对公钥和业务身份信息进行共识处理;
证书获取模块,用于若对公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于公钥和业务身份信息所生成的公钥证书;共识网络还用于将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
通信地址模块,用于从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址;
关系转发模块,用于将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
其中,注册请求模块,包括:
函数调用单元,用于业务节点调用业务合约中的注册功能函数,通过注册功能函数生成针对公钥和业务身份信息的注册请求;
请求发送单元,用于将注册请求发送给路由代理节点,以使路由代理节点将携带公钥和业务身份信息的注册请求转发至共识网络。
其中,上述数据处理装置,还包括:
交易签名模块,用于获取待上链交易数据,在业务合约中基于公钥对应的私钥对待上链交易数据进行签名处理,得到与待上链交易数据相关联的签名数据;
数据转发模块,用于通过业务合约将待上链交易数据、签名数据、待验证业务身份信息和待验证公钥发送至路由代理节点,以使路由代理节点基于从区块链账本中同步得到的业务身份信息和公钥,对待验证业务身份信息和待验证公钥进行验证处理,在验证结果为合法结果时,将待上链交易数据和签名数据转发至共识网络;共识网络还用于在对待上链交易数据和签名数据进行共识的过程中,基于公钥对签名数据进行验签处理;共识网络还用于在对待上链交易数据和签名数据共识通过时,将待上链交易数据和签名数据存储至区块链账本中与公钥对应的链上地址。
其中,关系转发模块,包括:
初始获取单元,用于获取点对点网络层中初始可通信业务节点的初始通信地址;
关系发送单元,用于基于初始通信地址将公钥和通信地址之间的绑定关系发送至初始可通信业务节点,以使初始可通信业务节点将公钥和通信地址之间的绑定关系添加至点对点网络层对应的路由信息表中,将更新后的路由信息表发送给更新后的路由信息表中每个通信地址对应的可通信业务节点;每个通信地址对应的可通信业务节点中包括业务节点。
其中,上述数据处理装置,还包括:
连接建立模块,用于从路由信息表中获取可通信业务节点对应的通信地址;
连接建立模块,还用于基于可通信业务节点对应的通信地址和可通信业务节点建立传输层连接,通过传输层连接将公钥证书发送给可通信业务节点,以使可通信业务节点根据公钥和通信地址之间的绑定关系确定公钥证书的合法性;
连接建立模块,用于通过传输层连接获取可通信业务节点的待验证公钥证书,从路由信息表中获取与可通信业务节点的通信地址具有绑定关系的目标公钥,根据目标公钥验证待验证公钥证书的合法性;
通信模块,用于若公钥证书和待验证公钥证书均为合法证书,则通过传输层连接与可通信业务节点进行业务通信。
其中,上述数据处理装置,还包括:
更新注册模块,用于通过业务合约向共识网络发起针对更新公钥和业务身份信息的更新注册请求;共识网络还用于基于更新注册请求对更新公钥和业务身份信息进行共识处理;
更新证书获取模块,用于若对更新公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于更新公钥和业务身份信息所生成的更新公钥证书;共识网络还用于将更新公钥证书中的业务身份信息和更新公钥之间的关联关系写入区块链账本中;
资产找回模块,用于基于更新公钥证书向管理员节点发送资产找回请求,以使管理员节点根据更新公钥证书中的业务身份信息确定待找回资产信息,通过管理员私钥对待找回资产信息进行签名处理,得到待找回签名数据,将更新公钥、待找回资产信息和待找回签名数据发送至共识网络;共识网络还用于在对更新公钥、待找回资产信息和待找回签名数据进行共识处理的过程中,根据管理员节点对应的管理员公钥对待找回签名数据进行验签处理;共识网络还用于在对更新公钥、待找回资产信息和待找回签名数据共识通过时,将待找回资产信息对应的资产转移至更新公钥对应的链上地址。
其中,上述数据处理装置,还包括:
解绑模块,用于通过业务合约向共识网络发起针对公钥和业务身份信息的身份解绑请求;共识网络还用于基于身份解绑请求,将业务身份信息和公钥之间的解绑关系写入区块链账本中。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
第一共识模块,用于基于注册请求针对公钥和业务身份信息进行共识处理;注册请求是由业务节点通过业务合约发起的针对公钥和业务身份信息的注册请求;
第一共识处理模块,用于若对公钥和业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送公钥和业务身份信息,以使证书认证节点基于公钥和业务身份信息生成公钥证书;
关系写入模块,用于接收证书认证节点所返回的公钥证书,将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
证书发送模块,用于将公钥证书发送至业务节点,以使业务节点从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
其中,第一共识模块,包括:
第一投票单元,用于根据携带公钥和业务身份信息的注册请求生成注册区块,对注册区块进行共识投票,得到第一投票结果;
第一投票单元,还用于将注册区块和第一投票结果广播至共识网络中的可通信共识节点,以使可通信共识节点对注册区块进行共识投票,得到第二投票结果;
第一结果确定单元,用于若第一投票结果和第二投票结果中属于赞同票结果的数量超过共识阈值,则确定对公钥和业务身份信息的共识处理结果为共识通过结果;
第一结果确定单元,还用于若共识投票结果为赞同票结果的数量不超过共识阈值,则确定对公钥和业务身份信息的共识处理结果为共识失败结果。
其中,上述数据处理装置,还包括:
数据接收模块,用于当针对待验证业务身份信息和待验证公钥的验证结果为合法结果时,接收路由代理节点转发的待上链交易数据和签名数据;验证结果是路由代理节点基于从区块链账本中同步得到的业务身份信息和公钥,对待验证业务身份信息和待验证公钥进行验证得到的验证结果;待上链交易数据、签名数据、待验证业务身份信息和待验证公钥是由业务节点发送给路由代理节点的;
第二共识模块,用于基于公钥对待上链交易数据和签名数据进行共识处理;
第二共识处理模块,用于若对待上链交易数据和签名数据的共识处理结果为共识通过结果,则将对待上链交易数据和签名数据存储至区块链账本中与公钥对应的链上地址。
其中,第二共识模块,包括:
合法验证单元,用于根据公钥对签名数据进行验签处理,得到签名验证结果;
合法验证单元,还用于对待上链交易数据进行合法性验证,得到交易数据验证结果;
第二投票单元,用于若签名验证结果为合法结果,且交易数据验证结果为合法结果,则根据待上链交易数据和签名数据生成待上链区块,根据签名验证结果和交易数据验证结果对待上链区块进行共识投票,得到第三投票结果;
第二投票单元,还用于将待上链区块和第三投票结果广播至可通信共识节点,以使可通信共识节点对待上链区块进行共识投票,得到第四投票结果;
第二结果确定单元,用于若第三投票结果和第四投票结果中属于赞同票结果的数量超过共识阈值,则确定对待上链交易数据和签名数据的共识处理结果为共识通过结果。
其中,上述数据处理装置,还包括:
第三共识模块,用于接收更新公钥和业务身份信息的更新注册请求;更新注册请求是业务节点通过业务合约发起的针对更新公钥和业务身份信息的更新注册请求;
第三共识模块,还用于基于更新注册请求对更新公钥和业务身份信息进行共识处理;
第三共识处理模块,用于若对更新公钥和业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送更新公钥和业务身份信息,以使证书认证节点基于更新公钥和业务身份信息生成更新公钥证书;
更新模块,用于接收证书认证节点所返回的更新公钥证书,将更新公钥证书中的业务身份信息和更新公钥之间的关联关系写入区块链账本中;
更新模块,还用于将公钥证书发送至业务节点,以使业务节点基于更新公钥证书向管理员节点发送资产找回请求;
资产转移模块,用于接收资产找回请求,根据资产找回请求和更新公钥证书中的业务身份信息确定待找回资产信息,通过管理员私钥对待找回资产信息进行签名处理,得到待找回签名数据;
资产转移模块,还用于基于管理员公钥对更新公钥、待找回资产信息和待找回签名数据进行共识处理;
资产转移模块,还用于若对更新公钥、待找回资产信息和待找回签名数据的共识处理结果为共识通过结果,则将待找回资产信息对应的资产转移至更新公钥所指示的链上地址。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求,在共识网络对公钥和业务身份信息进行共识处理,得到的共识处理结果为共识通过结果后,获取证书认证节点基于该公钥和业务身份信息所生成的公钥证书,然后从公钥证书中提取出公钥,根据该公钥生成点对点网络层中的通信地址,再将公钥和通信地址之间的绑定关系广播至所述点对点网络层中的可通信业务节点。其中,共识网络会将业务身份信息和公钥之间的关联关系写入区块链账本中,存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;其中,公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。采用本申请实施例提供的方法,业务节点在业务层使用的业务身份信息和公钥被绑定写入公钥证书中,该公钥证书中业务身份信息和公钥的关联关系又被写进了区块链账本中,且公钥可以对应该业务节点的资产在区块链中的链上地址,而且业务节点又基于可以公钥证书中的公钥生成点对点网络层中的通信地址,可以保证业务节点在业务层、账本层、网络层以及CA证书四个方面上的权限一致,可以降低区块链权限管理难度,提高网络安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链节点系统的结构示意图;
图2是本申请实施例提供的一种区块链电子票据场景下的系统架构图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图5是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图7是本申请实施例提供的一种权限一致性设计示意图;
图8是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图;
图10是本申请实施例提供的另一种基于区块链的数据处理装置的结构示意图;
图11是本申请实施例提供的另一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
具体的,请参见图1,图1是本申请实施例提供的一种区块链节点系统的结构示意图。区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链,区块链网络中包括共识节点,共识节点负责区块链全网的共识。
可以理解的是,区块(Block)是在区块链网络上承载交易数据(即交易业务)的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过网络的共识机制验证并确定区块中的交易。
可以理解的是,区块链系统中可以包括有智能合约,该智能合约可以是指一种区块链各节点(包括共识节点)可以理解并执行的代码,可以执行任意逻辑并得到结果。应当理解,区块链中可以包括一个或多个智能合约,这些智能合约可以通过标识号(Identitydocument,ID)或名称来进行区分,而交易业务请求中可以携带智能合约的标识号或名称,以此指定区块链需要运行的智能合约。
如图1所示的区块链节点系统可以对应于区块链网络,该区块链网络可以包括但不限于联盟链所对应的区块链网络,区块链节点系统是指用于进行区块链节点与区块链节点之间数据共享的系统,该区块链节点系统可以为税务电子发票区块链系统。如图1所示,该区块链节点系统架构可以分为三层,业务层10,路由代理层11和核心共识层12,其中,业务层10包括业务节点10a、业务节点10b、业务节点10c、业务节点10d、…、业务节点10n,业务层10中的每个业务节点部署在处于公共网络的见证网络中,可以被其他不确定的网络终端访问;路由代理层11起到对业务层10和核心共识层11的隔离作用,路由代理层11可以包括路由代理节点11a、…、路由代理节点11b;核心共识层12包括共识节点12a、共识节点12b、共识节点12c、共识节点12d、…、共识节点12n,核心共识层12中的每个共识节点部署在私有的共识网络中。其中,业务层10中的每个业务节点、路由代理层11中的每个路由代理节点以及核心共识层12中的每个共识节点,都可以称为区块链节点。其中,每个区块链节点在进行正常工作时可以接收到外界发送的数据,并基于接收到的数据进行区块上链处理,也可以向外界发送数据。如图1所示,为保证业务层10中业务节点之间数据相通,业务层10中的业务节点10a、业务节点10b、业务节点10c、业务节点10d、…、业务节点10n之间可以存在数据连接,比如业务节点10a和业务节点10b之间存在数据连接,业务节点10a和业务节点10c之间存在数据连接;为保证核心共识层12中共识节点之间的数据相通,核心共识层12中的共识节点12a、共识节点12b、共识节点12c、共识节点12d、…、共识节点12n之间可以存在数据连接,比如共识节点12a和共识节点12b之间存在数据连接,共识节点12a和共识节点12c之间存在数据连接。不过,业务层10中的任一业务节点要和核心共识层12中的任一共识节点不能直接进行数据连接,如果要进行数据交互,需要通过路由代理层11中的路由代理节点进行转发。因此,路由代理层11中的任一路由代理节点可以和业务层11中的任一业务节点之间存在数据连接,路由代理层11中的任一路由代理节点可以和核心共识层12中的任一共识节点之间存在数据连接。例如路由代理节点11a和业务节点10b之间存在数据连接,路由代理节点11a和业务节点12n之间存在数据连接,此时,业务节点10b向共识节点12n发送数据的过程,可以为:业务节点10b将数据发送给路由代理节点11a,再由路由代理节点11a转发给共识节点12n。
可以理解的是,上述的数据连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他连接方式,本申请在此不做限制。
可以理解的是,本申请实施例所提供的数据处理方法可以由计算机设备执行,计算机设备包括但不限于上述业务节点、路由代理节点、共识节点(可以为终端或服务器)。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
如图1所示,共识网络中的所有共识节点都有足够的资源,可以对区块(包含一批交易)进行共识,包括生成新区块,对新区块进行投票;在区块链中,在将一个新区块进行上链之前,该区块必须经过共识网络中的所有共识节点进行共识,在共识通过后才能将该区块添加到区块链上,将区块添加到区块链上,也可以表示为该区块对应的数据写入账本中。而业务网络中的业务节点不需要参与对新区块的共识,仅需要响应业务操作交互,生成待上链交易数据,将待上链交易数据发送给共识网络进行共识即可。
由于共识网络处于相对安全的私有云中,其互相访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制。而业务节点处于公开的见证网络中,可能会被其他不确定的网络终端访问,因此业务节点在区块链系统的账本层、业务层、网络层以及CA证书等四个方面的行为,均有相应的权限控制。如图1所示,每个业务节点都有对应的私钥和公钥证书,均能够基于该私钥和公钥证书完成在区块链系统的业务层、账本层、网络层以及CA证书四个方面的权限验证。其中,公钥证书包含业务节点的私钥对应的公钥和业务身份信息,公钥证书是共识网络针对业务节点的公钥和业务身份信息的共识处理结果为共识通过结果时,证书认证节点基于公钥和业务身份信息所生成的公钥证书。共识网络会将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中。其中,业务身份信息是针对该区块链节点系统的监管机构为该业务节点分配的唯一身份标识信息,比如区块链节点系统应用于税务的场景时,监管机构可以为税务局,该业务身份信息可以为纳税人识别号,还可以用于税务局的其他线下业务。有了业务身份信息标识业务节点在区块链节点系统中的身份,业务节点可以进行相应的业务操作。存储于区块链账本中的业务身份信息和公钥,可以对业务节点基于业务操作所生成的待上链交易数据相关联的签名数据进行身份验证和签名验证,如果身份验证和签名验证均通过,待上链交易数据会被写入区块链账本中。另外,业务节点之间的通信可以依靠点对点(Peer To Peer,P2P)网络层,其中,P2P协议是一个运行在传输控制协议(Transmission Control Protocol,TCP)协议之上的应用层协议。业务节点可以从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点。在业务节点与可通信业务节点之间的通信访问过程中,公钥和通信地址之间的绑定关系可以为可通信业务节点提供针对业务节点的身份验证依据。
为便于理解上述区块链网络的应用场景,以下将以将区块链网络应用于电子票据场景为例,对具体的场景架构进行阐述。请一并参见图2,图2是本申请实施例提供的一种区块链电子票据场景下的系统架构图。如图2所示,本申请实施例中的业务网络、路由代理网络以及核心共识网络组成了整个完整区块链业务体系。图2所示的核心链可以为核心共识网络所维护的包括完整区块数据的区块链。
可以理解的是,当区块链被用于政府(例如,税务系统)或者商业机构的一些场景中,为了提高数据的保密性和安全性,在区块链体系中涉及个人隐私或者国家安全等相关数据时,可以采用本申请实施例中的“业务网络—核心共识网络”这一分层区块链结构。
其中,该系统架构图可以应用于电子票据的流转过程,具体可以包括电子票据的申领、电子票据的开具、电子票据的报销、电子票据的报税等过程。其中,电子票据的开具也叫电子票据的生成过程。由于整个电子票据的流转过程将涉及到监管机构、开票方、报销方和报税方。因此,图2所示的业务网络中的业务节点可以包括电子税局对应的终端设备、企业用户对应的终端设备以及消费用户对应的终端设备。其中,电子税局可以是指监管专网中的监管机构(例如,省、市、区等税局对应的计算机设备),企业用户可以为公有云中的开票服务商、报销服务商或者零售企业(例如,KA企业,即大型零售客户和重点零售客户企业)等,消费用户可以为私有云中的支付服务商、流转服务商或者零售企业等。其中,业务网络中的业务节点可在执行交易业务的过程中,生成三种类型的待广播交易,具体可以包括携带独占标识的业务交易(即第一类交易)、未携带独占标识的业务交易(即第二类交易)以及用于竞拍第一类型区块(例如,独占区块)的竞拍交易。
其中,业务网络中的业务节点(可以为上述图1所对应实施例中的业务节点10a、业务节点10b、业务节点10c或者业务节点10d)在执行交易业务之前或者刚加入区块链业务网络时,需要先基于自己的公钥和业务身份信息发起针对公钥和业务身份信息的注册请求,然后等待共识网络基于该注册请求对公钥和业务身份信息进行共识处理,若对公钥和业务身份信息的共识处理结果为共识通过结果,共识网络会请求证书认证节点生成业务节点对应的公钥证书,然后将证书认证节点返回的公钥证书发送给业务节点,同时,共识网络中的共识节点还会将业务节点的公钥和业务身份信息写入区块链账本中。业务节点获取到自己的公钥证书以后,后续执行交易业务得到待上链交易数据后,可以使用私钥对该待上链交易数据进行签名,得到签名数据,然后将待上链交易数据、签名数据、待验证业务身份信息和待验证公钥一起转发给路由代理网络,再由路由代理网络验证后发送给共识网络进行共识,共识通过后存入区块链。业务节点还可以根据公钥证书中的公钥生成点对点网络层中的通信地址,然后将该公钥和通信地址之间的绑定关系广告给该点对点网络层中的可通信业务节点。之后,公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
其中,路由代理网络中的代理节点(可以为上述图1所对应实施例中的路由代理节点11a或者路由代理节点11b)可以用于对业务网络和核心共识网络进行网络隔离,代理节点可以具有点对点服务(即P2P服务)、路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在P2P网络中的服务,基于一类特定的网络协议,P2P网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点的基本功能,可以用于节点之间的通信,以对业务网络和核心共识网络进行网络隔离。证书缓存用于缓存各节点的身份证书,其中,这里的证书可以指公钥证书体系(Public Key Infrastructure,PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构进行颁发(CA)。基于公钥证书体系可以实现非对称加密和对于信息的数字签名。这里的公钥证书体系可以包括公私钥密码,x509证书,CA证书签发中心等等。认证服务可以用于对业务网络中的业务节点进行身份验证等。可以理解的是,在本申请实施例中,该代理节点可以将业务网络中的业务节点发送的待上链交易数据转发至核心共识网络,以使核心共识网络中的共识节点将其写入区块链。
其中,共识网络中的共识节点(可以为上述图1所对应实施例中的共识节点12a、共识节点12b、共识节点12c或者共识节点12d)可以对业务网络中业务节点发送的公钥和业务身份信息的注册请求进行共识处理,若对该公钥和业务身份信息的共识处理为共识通过结果,共识节点会将该公钥和业务身份信息发送给证书认证节点,然后证书认证节点会生成包含该公钥和业务身份信息的公钥证书,并将该公钥证书返回给共识节点,共识节点会将公钥证书的证书信息、公钥和业务身份信息之间的关联关系写进区块链账本中进行存储。之后,共识节点接收到该业务节点传来的待上链交易数据和与待上链交易数据相关联的签名数据后,可以根据区块链账本中存储的公钥和业务身份信息对该签名数据进行共识处理,共识通过就将待上链交易数据写入区块链账本中。
进一步地,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。其中,该方法可以由业务节点(例如上述图1所对应实施例中的业务节点10a、业务节点10b、业务节点10c或者业务节点10d)执行,下述以该方法由业务节点执行为例进行说明。如图3所示,该基于区块链的数据处理方法至少可以包括以下步骤S101-步骤S103:
步骤S101,业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;所述共识网络用于基于所述注册请求对所述公钥和所述业务身份信息进行共识处理。
具体的,在非对称加密算法中,需要两个密钥,一个公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥),公钥和私钥是一对,甲方可以用自己的私钥对机密信息签名后再发送给乙方,乙方可以通过甲方的公钥对接收的签名后的机密信息进行验签,从而确定该机密信息来源于甲方。业务身份信息可以是业务ID(Identity document,身份标识号),在业务合约中使用,用于标识业务节点身份的信息,不同业务节点的业务身份信息不同。业务身份信息可以由管理方分配,比如在税务区块链节点系统中,业务节点的业务身份信息可以是税局分配的,比如可以是纳税人识别号,此时该业务身份信息除了用在税务区块链节点系统中,还可以用于税局的其他子系统中,也可以用于线下发票业务中。
具体的,业务节点可以调用业务合约中的注册功能函数,通过该注册功能函数生成针对公钥和业务身份信息的注册请求;然后将注册请求发送给路由代理节点,以使路由代理节点将携带公钥和业务身份信息的注册请求转发至共识网络。
步骤S102,若对所述公钥和所述业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于所述公钥和所述业务身份信息所生成的公钥证书;所述共识网络还用于将所述公钥证书中的所述业务身份信息和所述公钥之间的关联关系写入区块链账本中;存储于所述区块链账本中的所述业务身份信息和所述公钥,用于对所述业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证。
具体的,证书认证节点是受到整个区块链节点系统中所有区块链节点信任的第三方节点,可以为CA(Certificate Authority,证书颁发机构)节点,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。本申请实施例中,共识网络对公钥和业务身份信息的共识处理结果为共识通过结果,说明该公钥和业务身份信息均合法,因此证书认证节点可以生成包含该公钥和业务身份信息的公钥证书,该公钥证书还包括证书认证节点基于自己私钥生成的签名。之后区块链网络中的区块链节点(如业务节点或共识节点等等)可以通过证书认证节点的公钥对公钥证书中的签名进行验证,确定该公钥证书是由证书认证节点生成,从而信任该公钥证书,确定该公钥证书中的业务身份信息和公钥的绑定关系是正确的。
具体的,证书认证节点生成公钥证书后,会将该公钥证书发送给共识网络中的共识节点,共识节点会将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中。存储于区块链账本中的上述业务身份信息和上述公钥,可以用于对上述业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证。该公钥还可以作为该业务节点对应资产的链上地址。
步骤S103,从所述公钥证书中提取所述公钥,基于所述公钥生成点对点网络层中的通信地址,将所述公钥和所述通信地址之间的绑定关系广播至所述点对点网络层中的可通信业务节点;所述公钥和所述通信地址之间的绑定关系,用于在所述业务节点与所述可通信业务节点之间的通信访问过程中,为所述可通信业务节点提供针对所述业务节点的身份验证依据。
具体的,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点的过程,可以为:获取点对点网络层中初始可通信业务节点的初始通信地址,然后基于该初始通信地址将公钥和通信地址之间的绑定关系发送至初始可通信业务节点。初始可通信业务节点接收到没有加入点对点网络层的业务节点传来的公钥和通信地址后,会将公钥和通信地址之间的绑定关系添加至点对点网络层对应的路由信息表中,然后将更新后的路由信息表发送给更新后的路由信息表中每个通信地址对应的可通信业务节点;每个通信地址对应的可通信业务节点中包括业务节点。比如,点对点网络层中包含可通信业务节点A、可通信业务节点B、可通信业务节点C,对应的路由信息表为{[A,公钥1,通信地址1]、[B,公钥2,通信地址2]、[C,公钥3,通信地址3]},其中,初始可通信业务节点可以为可通信业务节点A,此时,业务节点在根据公钥4生成通信地址4后,会将公钥4和通信地址4之间的绑定关系发送给可通信业务节点A,可通信业务节点A在确定该公钥4和通信地址4之间的绑定关系合法以后,会更新路由信息表,更新后的路由信息表就为{[A,公钥1,通信地址1]、[B,公钥2,通信地址2]、[C,公钥3,通信地址3],[业务节点,公钥4,通信地址4]},更新完路由信息表以后,可通信业务节点A会将更新后的路由信息表发送到其包含的每个通信地址(即通信地址1、通信地址2、通信地址3以及通信地址4)对应的可通信业务节点,当然也包括业务节点。更新后的路由信息表广播完毕后,业务节点就算正式加入了点对点网络层,之后就可以基于该路由信息表获取任一可通信业务节点的通信地址,与该可通信业务节点互相完成身份验证后进行通信。
可选的,业务节点和可通信业务节点互相完成身份验证后进行通信的过程,可以为:业务节点可以从路由信息表中获取可通信业务节点对应的通信地址;然后基于可通信业务节点对应的通信地址和可通信业务节点建立传输层连接,通过传输层连接将公钥证书发送给可通信业务节点,以使可通信业务节点根据公钥和通信地址之间的绑定关系确定公钥证书的合法性;同样的,业务节点也会通过传输层连接获取可通信业务节点的待验证公钥证书,然后从路由信息表中获取与可通信业务节点的通信地址具有绑定关系的目标公钥,根据目标公钥验证待验证公钥证书的合法性;若公钥证书和待验证公钥证书均为合法证书,则通过传输层连接与可通信业务节点进行业务通信。比如,在上述点对点网络层中,业务节点要和可通信业务节点B进行通信,业务节点会在路由信息表中获取可通信业务节点B对应的通信地址,然后,业务节点可以根据该通信地址和可通信业务节点B建立传输层连接,通过该传输层连接,业务节点会将自己的公钥证书发送给可通信业务节点B,可通信业务节点B也会将自己的公钥证书发送给业务节点。其中,传输层连接可以基于安全传输层协议(Transport Layer Security,TLS)建立。业务节点接收到可通信业务节点B传来的待验证公钥证书,可以从该公钥证书中提取到可通信业务节点B的公钥,作为标准公钥,然后,业务节点可以从路由信息表中获取与可通信业务节点B具有绑定关系的目标公钥,如果目标公钥和标准公钥相同,说明该待验证公钥证书合法,可通信业务节点B的身份验证通过,同样的,可通信业务节点B也可以根据路由信息表中业务节点的公钥和通信地址的绑定关系确定业务节点的公钥证书的合法性,从而确定业务节点的身份验证是否通过。如果双方均确定对方的公钥证书合法,可以通过该传输层连接进行业务通信。
采用本申请实施例提供的方法,业务节点可以在业务层使用的业务身份信息和公钥被绑定写入公钥证书中,该公钥证书中业务身份信息和公钥的关联关系又被写进了区块链账本中,且公钥可以对应该业务节点的资产在区块链中的链上地址,而且业务节点又基于可以公钥证书中的公钥生成点对点网络层中的通信地址,可以保证业务节点在业务层、账本层、网络层以及CA证书四个方面上的权限一致,可以降低权限管理难度,提高网络安全性。
进一步地,请参见图4,图4是本申请实施例提供的一种基于区块链数据处理方法的流程示意图,其中,该方法可以由业务节点(例如上述图1所对应的业务节点10a、业务节点10b、业务节点10c或者业务节点10d)执行,下述以该方法由业务节点执行为例进行说明。如图4所示,该基于区块链的数据处理方法至少可以包括以下步骤S201-步骤S204:
步骤S201,业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;所述共识网络用于基于所述注册请求对所述公钥和所述业务身份信息进行共识处理。
具体的,步骤S201的具体步骤,可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。
步骤S202,若对所述公钥和所述业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于所述公钥和所述业务身份信息所生成的公钥证书;所述共识网络还用于将所述公钥证书中的所述业务身份信息和所述公钥之间的关联关系写入区块链账本中。
具体的,步骤S202的具体步骤,可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
步骤S203,获取待上链交易数据,在所述业务合约中基于所述公钥对应的私钥对所述待上链交易数据进行签名处理,得到与所述待上链交易数据相关联的签名数据。
具体的,待上链交易数据中可以包含一个或多个交易对应的交易数据。其中,交易数据可以包含交易以及交易对应的函数名称,共识节点可以根据函数名称调用用于执行交易数据的智能合约中的交易执行函数。业务节点可以对待上链交易数据中每个交易对应的交易数据进行哈希运算,得到每个交易对应的哈希值,然后对所有交易分别对应的哈希值进行哈希运算,得到目标哈希值,然后,业务节点可以基于公钥对应的私钥对该目标哈希值进行签名处理,得到与待上链交易数据相关联的签名数据。其中,哈希(hash)值,也称作信息特征值或特征值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。可以理解的是,当待上链交易数据的数据量不大时,可以直接使用私钥对待上链交易数据进行签名处理。
步骤S204,通过所述业务合约将所述待上链交易数据、所述签名数据、待验证业务身份信息和待验证公钥发送至所述路由代理节点,以使路由代理节点和所述共识网络共同完成所述待上链交易数据的上链过程。
具体的,业务节点可以通过业务身份信息调用业务合约,然后将待上链交易数据、签名数据、待验证业务身份信息和待验证公钥发送至路由代理节点。然后,路由代理节点可以基于从区块链账本中事先同步得到的业务身份信息和公钥,对待验证业务身份信息和待验证公钥进行验证,在验证结果为合法结果时,将待上链交易数据和签名数据转发至共识网络。需要说明的是,共识网络在将公钥和业务身份信息的关联关系写入区块链账本后,还会将公钥和业务身份信息的关联关系发送给路由代理节点。路由代理节点获取到业务节点的待验证业务身份信息和待验证公钥后,会获取事先存储的该业务节点对应的业务身份信息和公钥,如果业务身份信息和待验证业务身份信息相同,且待验证公钥和公钥相同,则确定验证结果为合法结果。
具体的,共识网络会对接收到的待上链交易数据和签名数据进行共识,在对待上链交易数据和签名数据进行共识的过程中,可以通过该业务节点存储在区块链中的公钥对签名数据进行验签;共识网络还用于在对待上链交易数据和签名数据共识通过时,将待上链交易数据和签名数据存储至区块链账本中与公钥对应的链上地址。例如,共识网络发起对待上链交易数据和签名数据的共识后,共识网络中的共识节点可以在对待上链交易数据和签名数据进行共识的过程中,对待上链交易数据中每个交易对应的交易数据进行哈希运算,得到每个交易对应的哈希值,然后对所有交易分别对应的哈希值进行哈希运算,得到待验证哈希值,随后,共识节点会获取区块链账本中存储的业务节点对应的公钥,通过该公钥对签名数据进行解密处理,得到目标哈希值,如果待验证哈希值和目标哈希值相同,则确定签名验证结果为合法结果。如果共识网络中对该待上链交易数据和签名数据的签名验证结果为合法结果的共识节点的数量超过共识通过阈值,共识网络会确定对待上链交易数据和签名数据的共识通过。
可选的,业务节点还可以通过业务合约向共识网络发起针对更新公钥和业务身份信息的更新注册请求,共识网络可以基于更新注册请求对更新公钥和业务身份信息进行共识处理。若共识网络对更新公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于更新公钥和业务身份信息所生成的更新公钥证书;共识网络还用于将更新公钥证书中的业务身份信息和更新公钥之间的关联关系写入区块链账本中;基于更新公钥证书向管理员节点发送资产找回请求,以使管理员节点根据更新公钥证书中的业务身份信息确定待找回资产信息,通过管理员私钥对待找回资产信息进行签名处理,得到待找回签名数据,将待找回资产信息和待找回签名数据发送至共识网络;共识网络还用于在对待找回资产信息和待找回签名数据进行共识的过程中,根据管理员节点对应的管理员公钥对待找回签名数据进行验签;共识网络还用于在对待找回资产信息和待找回签名数据共识通过时,将待找回资产信息对应的资产转移至更新公钥对应的链上地址。
可选的,业务节点可以通过业务合约向共识网络发起针对公钥和业务身份信息的身份解绑请求。其中,共识网络还用于基于该身份解绑请求,将业务身份信息和公钥之间的解绑关系写入区块链账本中。
进一步地,请参见图5,图5是本申请实施例提供的一种基于区块链数据处理方法的流程示意图,其中,该方法可以由共识节点(例如上述图1所对应的共识节点10a、共识节点10b、共识节点10c或者共识节点10d)执行,下述以该方法由共识节点执行为例进行说明。如图5所示,该基于区块链的数据处理方法至少可以包括以下步骤S301-步骤S304:
步骤S301,共识节点基于注册请求针对公钥和业务身份信息进行共识处理;所述注册请求是由所述业务节点通过业务合约发起的针对所述公钥和所述业务身份信息的注册请求。
具体的,共识节点基于注册请求针对公钥和业务身份信息进行共识处理的过程,可以为:共识节点根据携带公钥和业务身份信息的注册请求生成注册区块,对注册区块进行共识投票,得到第一投票结果;将注册区块和第一投票结果广播至共识网络中的可通信共识节点,以使可通信共识节点对注册区块进行共识投票,得到第二投票结果;若第一投票结果和第二投票结果中属于赞同票结果的数量超过共识阈值,则确定对公钥和业务身份信息的共识处理结果为共识通过结果;若共识投票结果为赞同票结果的数量不超过共识阈值,则确定对公钥和业务身份信息的共识处理结果为共识失败结果。其中,第一投票结果可以包括共识节点针对注册区块投赞同票和共识节点针对注册区块投反对票,赞同票表示共识节点认可该注册区块,换言之,共识节点觉得注册区块中的公钥和业务身份信息可信;反对票表示共识节点不认可该注册区块。同理,第二投票结果可以包括可通信共识节点针对注册区块投赞同票和可通信共识节点针对注册区块投反对票。其中,可通信共识节点通常指共识网络中除了上述共识节点以外的其余共识节点,通常有多个,每个可通信共识节点均会对注册区块进行共识投票,得到一个第二投票结果。其中,共识阈值通常等于共识网络中所有共识节点的总数量的三分之二。
具体的,共识节点对注册区块对进行共识投票的过程,可以为:共识节点可以通过验证公钥的数据结构语法是否有效,长度是否在限制范围内等方法确定公钥是否有效,共识节点可以获取监管机构(即上述图1所述的监管机构,可以为业务节点分配唯一的业务身份信息。)公布的合法业务身份信息,确定该业务身份信息是否属于合法业务身份信息,来确定该业务身份信息是否有效,如果共识节点确定公钥和业务身份信息均有效,则共识节点的针对该注册区块投出赞同票,否则,共识节点会投出反对票。
步骤S302,若对所述公钥和所述业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送所述公钥和所述业务身份信息,以使所述证书认证节点基于所述公钥和所述业务身份信息生成公钥证书。
具体的,证书认证节点是公钥基础设施的核心,证书认证节点具有权威性,通过证书认证节点生成的证书是能够被区块链节点系统中的区块链节点认可的。证书认证节点基于公钥和业务身份信息生成公钥证书的过程为,根据自己的私钥对该公钥进行数字签名,随后按照证书规范(比如证书规范X.509)生成初始公钥证书,然后将业务身份信息写入初始公钥证书中的扩展字段,得到公钥证书。其中,证书规范X.509是一种非常通用的证书格式,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式)。因此,公钥证书中可能包括基本数据(版本、序列号) 、所签名对象信息(签名算法类型、签发者信息、有效期、被签发人、签发的公开密钥)、数字签名,业务身份信息,等等。其中,版本号指证书规范的版本号;序列号由证书认证节点维护的为它所发的每个证书分配的一的列号,用来追踪和撤销证书,只要拥有签发者信息和序列号,就可以唯一标识一个证书,最大不能过20个字节;签发者信息即证书认证节点的信息;有效期指证书的有效期限,包括起止时间;签名算法类型指证书认证节点使用私钥签名时使用的算法;被签发人这里指业务节点。
步骤S303,接收所述证书认证节点所返回的所述公钥证书,将所述公钥证书中的所述业务身份信息和所述公钥之间的关联关系写入区块链账本中;存储于所述区块链账本中的所述业务身份信息和所述公钥,用于对所述业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证。
具体的,共识节点接收到证书认证节点生成的公钥证书后,会将证书中业务身份信息和公钥之间的关联关系写入区块链账本中,还可以将证书的序列号、业务节点的基本信息同业务身份信息和公钥之间的关联关系一起写入区块链账本中,方便查阅。
步骤S304,将所述公钥证书发送至所述业务节点,以使所述业务节点从所述公钥证书中提取所述公钥,基于所述公钥生成点对点网络层中的通信地址,将所述公钥和所述通信地址之间的绑定关系广播至所述点对点网络层中的可通信业务节点;所述公钥和所述通信地址之间的绑定关系,用于在所述业务节点与所述可通信业务节点之间的通信访问过程中,为所述可通信业务节点提供针对所述业务节点的身份验证依据。
具体的,共识网络会将该公钥证书返回至业务节点,方便业务节点基于公钥证书中的公钥生成点对点网络层中的通信地址,业务节点根据通信地址和公钥的绑定关系完成与可通信业务节点的通信访问过程,可以参见上述图1所对应实施例步骤S103,这里不再进行赘述。
进一步地,请参见图6,图6是本申请实施例提供的一种基于区块链数据处理方法的流程示意图,其中,该方法可以由共识节点(例如上述图1所对应的共识节点10a、共识节点10b、共识节点10c或者共识节点10d)执行,下述以该方法由共识节点执行为例进行说明。如图6所示,该基于区块链的数据处理方法至少可以包括以下步骤S401-步骤S404:
步骤S401,共识节点基于注册请求针对公钥和业务身份信息进行共识处理,得到共识处理结果;所述注册请求是由所述业务节点通过业务合约发起的针对所述公钥和所述业务身份信息的注册请求。
具体的,步骤S401的具体实现过程,可以参见上述步骤S301,这里不再进行赘述。
步骤S402,若所述共识处理结果为共识通过结果,则向证书认证节点发送所述公钥和所述业务身份信息,以使所述证书认证节点基于所述公钥和所述业务身份信息生成公钥证书。
具体的,步骤S402的具体实现过程,可以参见上述步骤S302,这里不再进行赘述。
步骤S403,接收所述证书认证节点所返回的所述公钥证书,将所述公钥证书中的所述业务身份信息和所述公钥之间的关联关系写入区块链账本中。
具体的,步骤S403的具体实现过程,可以参见上述步骤S303,这里不再进行赘述。
步骤S404,当针对待验证业务身份信息和待验证公钥的验证结果为合法结果时,接收路由代理节点转发的待上链交易数据和签名数据。
具体的,验证结果是指路由代理节点基于从区块链账本中同步得到的业务节点的业务身份信息和公钥,对业务节点传来的待验证业务身份信息和待验证公钥进行验证得到的验证结果,具体验证过程可以参见上述图4对应的实施例中步骤S204的描述,这里不再进行赘述。待上链交易数据、签名数据、待验证业务身份信息和待验证公钥是业务节点一起发送给路由代理节点的。
步骤S405,基于所述公钥对所述待上链交易数据和所述签名数据进行共识处理;若对所述待上链交易数据和所述签名数据的共识处理结果为共识通过结果,则将对所述待上链交易数据和所述签名数据存储至所述区块链账本中与所述公钥对应的链上地址。
具体的,基于公钥对待上链交易数据和签名数据进行共识处理的过程,可以为:根据公钥对签名数据进行验签处理,得到签名验证结果;对待上链交易数据进行合法性验证,得到交易数据验证结果;若签名验证结果为合法结果,且交易数据验证结果为合法结果,则根据待上链交易数据和签名数据生成待上链区块,根据签名验证结果和交易数据验证结果对待上链区块进行共识投票,得到第三投票结果;将待上链区块和第三投票结果广播至可通信共识节点,以使可通信共识节点对待上链区块进行共识投票,得到第四投票结果;若第三投票结果和第四投票结果中属于赞同票结果的数量超过共识阈值,则确定对待上链交易数据和签名数据的共识处理结果为共识通过结果。其中,根据公钥对签名数据进行验签处理,得到签名验证结果的过程,可以为:通过公钥对签名数据进行解密处理,得到目标哈希值,然后对待上链交易数据中每个交易对应的交易数据进行哈希运算(应该与业务节点生成签名数据时,对待上链交易数据中每个交易对应的交易数据进行哈希运算时使用的哈希算法相同。),得到每个交易对应的哈希值,然后对所有交易分别对应的哈希值进行哈希运算,得到待验证哈希值,若待验证哈希值和目标哈希值相同,则确定签名验证结果为合法结果。其中,对待上链交易数据进行合法性验证,得到交易数据验证结果的过程,可以为:确定待上链交易数据的数据格式、大小、结构、语法等是否有效,待上链交易数据包含的交易是否合理等,如果待上链交易数据有效且合理,则确定交易数据验证结果为合法结果。其中,可通信共识节点对待上链区块进行共识投票的过程和上述可通信共识节点对注册区块进行共识投票的过程类似,这里不再进行赘述。
可选的,共识节点可以接收更新公钥和业务身份信息的更新注册请求,然后基于更新注册请求对更新公钥和业务身份信息进行共识处理;若对更新公钥和业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送更新公钥和业务身份信息,以使证书认证节点基于更新公钥和业务身份信息生成更新公钥证书;然后接收证书认证节点所返回的更新公钥证书,将更新公钥证书中的业务身份信息和更新公钥之间的关联关系写入区块链账本中;将公钥证书发送至业务节点。其中,更新注册请求是业务节点通过业务合约发起的针对更新公钥和业务身份信息的更新注册请求。当业务节点当前存储的公私钥丢失时,就可以通过更新注册请求为业务身份信息绑定更新公钥,当业务节点接收到更新公钥证书时,就可以根据公钥证书向管理员节点发送资产找回请求,将资产从原来的公钥对应的链上地址转移到更新公钥对应的链上地址。
可选的,区块链网络中可以包含管理员节点,管理员节点可以对业务节点的资产进行相关的管理操作,比如响应业务节点的资产找回请求等等。当共识节点为管理员节点时,可以接收业务节点发送的资产找回请求,然后根据资产找回请求和更新公钥证书中的业务身份信息确定待找回资产信息,然后通过管理员私钥对待找回资产信息进行签名处理,得到待找回签名数据。因为管理员节点同时为共识节点,可以直接基于管理员公钥对更新公钥、待找回资产信息和待找回签名数据进行共识处理;若对更新公钥、待找回资产信息和待找回签名数据的共识处理结果为共识通过结果,则将待找回资产信息对应的资产转移至更新公钥所指示的链上地址。其中,共识节点基于管理员公钥对更新公钥、待找回资产信息和待找回签名数据进行共识处理的过程,可以为:共识节点根据更新公钥、待找回资产信息以及待找回签名数据生成资产找回区块,然后对该资产找回区块进行共识投票,得到第五投票结果(共识投票的过程可以包括先对更新公钥和待找回资产信息的合法性验证,以及基于管理员公钥对待找回签名数据进行验签,然后若合法性验证不通过或验签不通过,则第五投票结果为反对票结果;若合法性验证和验签均通过,则第五投票结果为赞同票结果),然后将该资产找回区块和第五投票结果广播至共识网络中的可通信共识节点,可通信共识节点也会对该资产找回区块进行共识投票,得到第六投票结果;如果第五投票结果和第六投票结果中属于赞同票结果的数量超过共识阈值,则确定对资产找回区块中的更新公钥、待找回资产信息和待找回签名数据的共识处理结果为共识通过结果。然后,共识网络可以将资产找回区块添加至区块链中,将业务节点的待找回资产信息对应的资产转移至更新公钥对应的链上地址。之后,业务节点可以通过更新公钥对应的更新私钥来对更新公钥对应的链上地址中的资产进行操作。
进一步地,请参见图7,图7是本申请实施例提供的一种权限一致性设计示意图。如图7所示,整个区块链网络可以划分为业务层71、网络层72以及账本层73。其中,业务层71可以通过发票业务合约中的业务ID(即业务身份信息)来对业务节点的身份进行权限管理,由共识算法和合约虚拟机保证一致性。其中,网络层72中的业务节点可以进行点对点(P2P)加密通信。其中,账本层73即共识网络。如图7所示,业务层71中的业务节点启动身份认证,通过网络层72调用CA节点(即上述证书认证节点)将业务ID写入证书(即上述公钥证书,具体为写入证书中的扩展字段),将合约的安全性延伸到线下业务,具体实现可以参见上述图3所对应实施例中步骤S101-步骤S102的描述,这里不再进行赘述。这样区块链节点可以保证在调用业务ID对应的合约业务时,已经经过了证书的证明验证。且在一些非链上行为时,也可以通过该证书确认对方的业务ID身份。业务节点通过校验证书启动P2P,把证书对应的国密公钥(一种公钥类型)和节点通信地址(即上述点对点网络层中的通信地址)相绑定,具体实现可以参见上述图3所对应实施例中步骤S103的描述,这里不再进行赘述。证书的国密公钥就是P2P连接中的multi-addr(多地址),此时进行P2P通信的双方通过对方的证书和国密公钥的交换即可判断对方身份有效性,具体实现也可以参见上述图3所对应实施例中步骤S103的描述,这里不再进行赘述。P2P通信从原来仅可以完成TLS安全通信到可以实现基于身份判断的安全通信。如图7所示,国密公钥同时作为业务节点对应的链上地址,注册到发票业务合约中,绑定区块链中的密码学地址和业务ID。在发票业务合约里将国密公钥和业务ID记录到区块链上,标明业务ID身份、证书身份和国密公钥的绑定关系可以在链上查证,并且链上具有实时性决定权,即可以绑定也可以解绑。账本层73中的链上地址原本仅由业务节点是否拥有该链上地址对应的国密私钥决定,经过发票业务合约绑定业务ID和公钥证书后,可以通过公钥证书首先被验证的方式来使用国密私钥,在业务节点使用国密私钥时可以得到多一重的身份校验和保护。业务节点通过国密私钥可以进行上链交易,即通过国密私钥对待上链交易数据进行签名处理,得到签名数据后发给共识网络,共识网络会对待上链交易数据和签名数据进行共识处理,决定是否将待上链交易数据写入业务节点的国密公钥对应的链上地址。同时如果当业务节点的国密私钥丢失时,可以根据发票业务合约中业务ID身份的绑定关系,或者公钥证书中的身份信息和ID信息,通过链上合约将该国密公钥对应的链上地址的资产转移到另外一个链上地址,业务合约中业务ID和原有的链上地址解绑,和新的链上地址绑定,就完成身份找回的过程,具体实现可以参见上述图4对应实施例和上述图6对应实施例中对更新公钥的注册过程以及业务节点的资产找回过程的描述,这里不再进行赘述。
采用本申请实施例提供的方法,业务节点仅需要包含业务ID和国密公钥的公钥证书以及国密公钥对应的国密私钥,就可以保证业务节点在区块链的业务层、账本层、网络层以及CA证书四个方面上的权限一致,可以降低权限管理难度,提高网络安全性。
进一步地,请参见图8,图8是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,该数据处理装置1可以包括:注册请求模块101、证书获取模块102、通信地址模块103以及关系转发模块104。
注册请求模块101,用于通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;共识网络用于基于注册请求对公钥和业务身份信息进行共识处理;
证书获取模块102,用于若对公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于公钥和业务身份信息所生成的公钥证书;共识网络还用于将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
通信地址模块103,用于从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址;
关系转发模块104,用于将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
其中,注册请求模块101、证书获取模块102、通信地址模块103以及关系转发模块104的具体实现方式,可以参见上述图3所对应实施例中步骤S101-S103的描述,这里将不再进行赘述。
请参见图8,注册请求模块101可以包括:函数调用单元1011以及请求发送单元1012。
函数调用单元1011,用于业务节点调用业务合约中的注册功能函数,通过注册功能函数生成针对公钥和业务身份信息的注册请求;
请求发送单元1012,用于将注册请求发送给路由代理节点,以使路由代理节点将携带公钥和业务身份信息的注册请求转发至共识网络。
其中,函数调用单元1011以及请求发送单元1012的具体实现方式,可以参见上述图3所对应实施例中步骤S101的描述,这里将不再进行赘述。
请参见图8,上述数据处理装置1还可以包括:交易签名模块105以及数据转发模块106。
交易签名模块105,用于获取待上链交易数据,在业务合约中基于公钥对应的私钥对待上链交易数据进行签名处理,得到与待上链交易数据相关联的签名数据;
数据转发模块106,用于通过业务合约将待上链交易数据、签名数据、待验证业务身份信息和待验证公钥发送至路由代理节点,以使路由代理节点基于从区块链账本中同步得到的业务身份信息和公钥,对待验证业务身份信息和待验证公钥进行验证处理,在验证结果为合法结果时,将待上链交易数据和签名数据转发至共识网络;共识网络还用于在对待上链交易数据和签名数据进行共识处理的过程中,基于公钥对签名数据进行验签处理;共识网络还用于在对待上链交易数据和签名数据共识通过时,将待上链交易数据和签名数据存储至区块链账本中与公钥对应的链上地址。
其中,交易签名模块105以及数据转发模块106的具体实现方式,可以参见上述图4所对应实施例中步骤S203-步骤204的描述,这里将不再进行赘述。
请参见图8,关系转发模块104可以包括:初始获取单元1041以及关系发送单元1042。
初始获取单元1041,用于获取点对点网络层中初始可通信业务节点的初始通信地址;
关系发送单元1042,用于基于初始通信地址将公钥和通信地址之间的绑定关系发送至初始可通信业务节点,以使初始可通信业务节点将公钥和通信地址之间的绑定关系添加至点对点网络层对应的路由信息表中,将更新后的路由信息表发送给更新后的路由信息表中每个通信地址对应的可通信业务节点;每个通信地址对应的可通信业务节点中包括业务节点。
其中,初始获取单元1041以及关系发送单元1042的具体实现方式,可以参见上述图3所对应实施例中步骤S103的描述,这里将不再进行赘述。
请参见图8,上述数据处理装置1还可以包括:连接建立模块107以及通信模块108。
连接建立模块107,用于从路由信息表中获取可通信业务节点对应的通信地址;
连接建立模块107,还用于基于可通信业务节点对应的通信地址和可通信业务节点建立传输层连接,通过传输层连接将公钥证书发送给可通信业务节点,以使可通信业务节点根据公钥和通信地址之间的绑定关系确定公钥证书的合法性;
连接建立模块107,用于通过传输层连接获取可通信业务节点的待验证公钥证书,从路由信息表中获取与可通信业务节点的通信地址具有绑定关系的目标公钥,根据目标公钥验证待验证公钥证书的合法性;
通信模块108,用于若公钥证书和待验证公钥证书均为合法证书,则通过传输层连接与可通信业务节点进行业务通信。
其中,连接建立模块107以及通信模块108的具体实现方式,可以参见上述图3所对应实施例中步骤S103的描述,这里将不再进行赘述。
请参见图8,上述数据处理装置1还可以包括:更新注册模块109、更新证书获取模块110以及资产找回模块111。
更新注册模块109,用于通过业务合约向共识网络发起针对更新公钥和业务身份信息的更新注册请求;共识网络还用于基于更新注册请求对更新公钥和业务身份信息进行共识处理;
更新证书获取模块110,用于若对更新公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于更新公钥和业务身份信息所生成的更新公钥证书;共识网络还用于将更新公钥证书中的业务身份信息和更新公钥之间的关联关系写入区块链账本中;
资产找回模块111,用于基于更新公钥证书向管理员节点发送资产找回请求,以使管理员节点根据更新公钥证书中的业务身份信息确定待找回资产信息,通过管理员私钥对待找回资产信息进行签名处理,得到待找回签名数据,将更新公钥、待找回资产信息和待找回签名数据发送至共识网络;共识网络还用于在对更新公钥、待找回资产信息和待找回签名数据进行共识处理的过程中,根据管理员节点对应的管理员公钥对待找回签名数据进行验签处理;共识网络还用于在对更新公钥、待找回资产信息和待找回签名数据共识通过时,将待找回资产信息对应的资产转移至更新公钥对应的链上地址。
其中,更新注册模块109、更新证书获取模块110以及资产找回模块111的具体实现方式,可以参见上述图4所对应实施例中步骤S204的描述,这里将不再进行赘述。
请参见图8,上述数据处理装置1还可以包括:解绑模块112;
解绑模块112,用于通过业务合约向共识网络发起针对公钥和业务身份信息的身份解绑请求;共识网络还用于基于身份解绑请求,将业务身份信息和公钥之间的解绑关系写入区块链账本中。
其中,解绑模块112的具体实现方式,可以参见上述图4所对应实施例中步骤S204的描述,这里将不再进行赘述。
进一步地,请参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,上述图8所对应实施例中的数据处理装置1可以应用于上述计算机设备1000,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;共识网络用于基于注册请求对公钥和业务身份信息进行共识处理;
若对公钥和业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于公钥和业务身份信息所生成的公钥证书;共识网络还用于将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文各个实施例中对该访问控制方法的描述,也可执行前文图8所对应实施例中对该数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,当上述处理器加载并执行上述计算机程序时,能够执行前文任一实施例对上述访问控制方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步地,请参见图10,图10是本申请实施例提供的另一种基于区块链的数据处理装置的结构示意图。上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该数据处理装置2可以包括:第一共识模块201、第一共识处理模块202、关系写入模块203以及证书发送模块204。
第一共识模块201,用于基于注册请求针对公钥和业务身份信息进行共识处理;注册请求是由业务节点通过业务合约发起的针对公钥和业务身份信息的注册请求;
第一共识处理模块202,用于若对公钥和业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送公钥和业务身份信息,以使证书认证节点基于公钥和业务身份信息生成公钥证书;
关系写入模块203,用于接收证书认证节点所返回的公钥证书,将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
证书发送模块204,用于将公钥证书发送至业务节点,以使业务节点从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
其中,第一共识模块201、第一共识处理模块202、关系写入模块203以及证书发送模块204的具体实现方式,可以参见上述图5所对应实施例中步骤S301-S304的描述,这里将不再进行赘述。
请参见图10,第一共识模块201可以包括:第一投票单元2011以及第一结果确定单元2012。
第一投票单元2011,用于根据携带公钥和业务身份信息的注册请求生成注册区块,对注册区块进行共识投票,得到第一投票结果;
第一投票单元2011,还用于将注册区块和第一投票结果广播至共识网络中的可通信共识节点,以使可通信共识节点对注册区块进行共识投票,得到第二投票结果;
第一结果确定单元2012,用于若第一投票结果和第二投票结果中属于赞同票结果的数量超过共识阈值,则确定对公钥和业务身份信息的共识处理结果为共识通过结果;
第一结果确定单元2012,还用于若共识投票结果为赞同票结果的数量不超过共识阈值,则确定对公钥和业务身份信息的共识处理结果为共识失败结果。
其中,第一投票单元2011以及第一结果确定单元2012的具体实现方式,可以参见上述图5所对应实施例中步骤S301的描述,这里将不再进行赘述。
请参见图10,上述数据处理装置2还可以包括:数据接收模块205、第二共识模块206以及第二共识处理模块207。
数据接收模块205,用于当针对待验证业务身份信息和待验证公钥的验证结果为合法结果时,接收路由代理节点转发的待上链交易数据和签名数据;验证结果是路由代理节点基于从区块链账本中同步得到的业务身份信息和公钥,对待验证业务身份信息和待验证公钥进行验证得到的验证结果;待上链交易数据、签名数据、待验证业务身份信息和待验证公钥是由业务节点发送给路由代理节点的;
第二共识模块206,用于基于公钥对待上链交易数据和签名数据进行共识处理;
第二共识处理模块207,用于若对待上链交易数据和签名数据的共识处理结果为共识通过结果,则将对待上链交易数据和签名数据存储至区块链账本中与公钥对应的链上地址。
其中,数据接收模块205、第二共识模块206以及第二共识处理模块207的具体实现方式,可以参见上述图6所对应实施例中步骤S404-S406的描述,这里将不再进行赘述。
请参见图10,第二共识模块206可以包括:合法验证单元2061、第二投票单元2062以及第二结果确定单元2063。
合法验证单元2061,用于根据公钥对签名数据进行验签处理,得到签名验证结果;
合法验证单元2061,还用于对待上链交易数据进行合法性验证,得到交易数据验证结果;
第二投票单元2062,用于若签名验证结果为合法结果,且交易数据验证结果为合法结果,则根据待上链交易数据和签名数据生成待上链区块,根据签名验证结果和交易数据验证结果对待上链区块进行共识投票,得到第三投票结果;
第二投票单元2062,还用于将待上链区块和第三投票结果广播至可通信共识节点,以使可通信共识节点对待上链区块进行共识投票,得到第四投票结果;
第二结果确定单元2063,用于若第三投票结果和第四投票结果中属于赞同票结果的数量超过共识阈值,则确定对待上链交易数据和签名数据的共识处理结果为共识通过结果。
其中,合法验证单元2061、第二投票单元2062以及第二结果确定单元2063的具体实现方式,可以参见上述图6所对应实施例中步骤S405的描述,这里将不再进行赘述。
请参见图10,上述数据处理装置2还可以包括:第三共识模块208、第三共识处理模块209、更新模块210以及资产转移模块211。
第三共识模块208,用于接收更新公钥和业务身份信息的更新注册请求;更新注册请求是业务节点通过业务合约发起的针对更新公钥和业务身份信息的更新注册请求;
第三共识模块208,还用于基于更新注册请求对更新公钥和业务身份信息进行共识处理;
第三共识处理模块209,用于若对更新公钥和业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送更新公钥和业务身份信息,以使证书认证节点基于更新公钥和业务身份信息生成更新公钥证书;
更新模块210,用于接收证书认证节点所返回的更新公钥证书,将更新公钥证书中的业务身份信息和更新公钥之间的关联关系写入区块链账本中;
更新模块210,还用于将公钥证书发送至业务节点,以使业务节点基于更新公钥证书向管理员节点发送资产找回请求;
资产转移模块211,用于接收资产找回请求,根据资产找回请求和更新公钥证书中的业务身份信息确定待找回资产信息,通过管理员私钥对待找回资产信息进行签名处理,得到待找回签名数据;
资产转移模块211,还用于基于管理员公钥对更新公钥、待找回资产信息和待找回签名数据进行共识处理;
资产转移模块211,还用于若对更新公钥、待找回资产信息和待找回签名数据的共识处理结果为共识通过结果,则将待找回资产信息对应的资产转移至更新公钥所指示的链上地址。
其中,第三共识模块208、第三共识处理模块209、更新模块210以及资产转移模块211的具体实现方式,可以参见上述图6所对应实施例中步骤406的描述,这里将不再进行赘述。
进一步地,请参见图11,图11是本申请实施例提供的另一种计算机设备的结构示意图。如图11所示,上述图10所对应实施例中的数据处理装置2可以应用于上述计算机设备2000,上述计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述计算机设备2000还包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
共识节点基于注册请求针对公钥和业务身份信息进行共识处理,得到共识处理结果;注册请求是由业务节点通过业务合约发起的针对公钥和业务身份信息的注册请求;
若共识处理结果为共识通过结果,则向证书认证节点发送公钥和业务身份信息,以使证书认证节点基于公钥和业务身份信息生成公钥证书;
接收证书认证节点所返回的公钥证书,将公钥证书中的业务身份信息和公钥之间的关联关系写入区块链账本中;存储于区块链账本中的业务身份信息和公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
将公钥证书发送至业务节点,以使业务节点从公钥证书中提取公钥,基于公钥生成点对点网络层中的通信地址,将公钥和通信地址之间的绑定关系广播至点对点网络层中的可通信业务节点;公钥和通信地址之间的绑定关系,用于在业务节点与可通信业务节点之间的通信访问过程中,为可通信业务节点提供针对业务节点的身份验证依据。
应当理解,本申请实施例中所描述的计算机设备2000可执行前文各个实施例中对该访问控制方法的描述,也可执行前文图10所对应实施例中对该数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理装置2所执行的计算机程序,当上述处理器加载并执行上述计算机程序时,能够执行前文任一实施例对上述访问控制方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital, SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (13)

1.一种基于区块链的数据处理方法,其特征在于,包括:
业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;所述共识网络用于基于所述注册请求对所述公钥和所述业务身份信息进行共识处理;
若对所述公钥和所述业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于所述公钥和所述业务身份信息所生成的公钥证书;所述共识网络还用于将所述公钥证书中的所述业务身份信息和所述公钥之间的关联关系写入区块链账本中;存储于所述区块链账本中的所述业务身份信息和所述公钥,用于对所述业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
从所述公钥证书中提取所述公钥,基于所述公钥生成点对点网络层中的通信地址,将所述公钥和所述通信地址之间的绑定关系广播至所述点对点网络层中的可通信业务节点;所述公钥和所述通信地址之间的绑定关系,用于在所述业务节点与所述可通信业务节点之间的通信访问过程中,为所述可通信业务节点提供针对所述业务节点的身份验证依据;
获取待上链交易数据,在所述业务合约中基于所述公钥对应的私钥对所述待上链交易数据进行签名处理,得到与所述待上链交易数据相关联的签名数据;
通过所述业务合约将所述待上链交易数据、所述签名数据、待验证业务身份信息和待验证公钥发送至路由代理节点,以使所述路由代理节点基于从所述区块链账本中同步得到的所述业务身份信息和所述公钥,对所述待验证业务身份信息和所述待验证公钥进行验证处理,在验证结果为合法结果时,将所述待上链交易数据和所述签名数据转发至所述共识网络;所述共识网络还用于在对所述待上链交易数据和所述签名数据进行共识处理的过程中,基于所述公钥对所述签名数据进行验签处理;所述共识网络还用于在对所述待上链交易数据和所述签名数据共识通过时,将所述待上链交易数据和所述签名数据存储至所述区块链账本中与所述公钥对应的链上地址。
2.根据权利要求1所述的方法,其特征在于,所述业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求,包括:
业务节点调用业务合约中的注册功能函数,通过所述注册功能函数生成针对公钥和业务身份信息的注册请求;
将所述注册请求发送给路由代理节点,以使所述路由代理节点将携带所述公钥和所述业务身份信息的所述注册请求转发至共识网络。
3.根据权利要求1所述的方法,其特征在于,所述将所述公钥和所述通信地址之间的绑定关系广播至所述点对点网络层中的可通信业务节点,包括:
获取点对点网络层中初始可通信业务节点的初始通信地址;
基于所述初始通信地址将所述公钥和所述通信地址之间的绑定关系发送至所述初始可通信业务节点,以使所述初始可通信业务节点将所述公钥和所述通信地址之间的绑定关系添加至所述点对点网络层对应的路由信息表中,将更新后的路由信息表发送给所述更新后的路由信息表中每个通信地址对应的可通信业务节点;所述每个通信地址对应的可通信业务节点中包括所述业务节点。
4.根据权利要求3所述的方法,其特征在于,还包括:
从所述路由信息表中获取可通信业务节点对应的通信地址;
基于所述可通信业务节点对应的通信地址和所述可通信业务节点建立传输层连接,通过所述传输层连接将所述公钥证书发送给所述可通信业务节点,以使所述可通信业务节点根据所述公钥和所述通信地址之间的绑定关系确定所述公钥证书的合法性;
通过所述传输层连接获取所述可通信业务节点的待验证公钥证书,从所述路由信息表中获取与所述可通信业务节点的通信地址具有绑定关系的目标公钥,根据所述目标公钥验证所述待验证公钥证书的合法性;
若所述公钥证书和所述待验证公钥证书均为合法证书,则通过所述传输层连接与所述可通信业务节点进行业务通信。
5.根据权利要求1所述的方法,其特征在于,还包括:
通过所述业务合约向所述共识网络发起针对更新公钥和所述业务身份信息的更新注册请求;所述共识网络还用于基于所述更新注册请求对所述更新公钥和所述业务身份信息进行共识处理;
若对所述更新公钥和所述业务身份信息的共识处理结果为共识通过结果,则获取所述证书认证节点基于所述更新公钥和所述业务身份信息所生成的更新公钥证书;所述共识网络还用于将所述更新公钥证书中的所述业务身份信息和所述更新公钥之间的关联关系写入所述区块链账本中;
基于所述更新公钥证书向管理员节点发送资产找回请求,以使所述管理员节点根据所述更新公钥证书中的所述业务身份信息确定待找回资产信息,通过管理员私钥对所述待找回资产信息进行签名处理,得到待找回签名数据,将所述更新公钥、所述待找回资产信息和所述待找回签名数据发送至所述共识网络;所述共识网络还用于在对所述更新公钥、所述待找回资产信息和所述待找回签名数据进行共识处理的过程中,根据所述管理员节点对应的管理员公钥对所述待找回签名数据进行验签处理;所述共识网络还用于在对所述更新公钥、所述待找回资产信息和所述待找回签名数据共识通过时,将所述待找回资产信息对应的资产转移至所述更新公钥对应的链上地址。
6.根据权利要求5所述的方法,其特征在于,还包括:
通过所述业务合约向所述共识网络发起针对所述公钥和所述业务身份信息的身份解绑请求;所述共识网络还用于基于所述身份解绑请求,将所述业务身份信息和所述公钥之间的解绑关系写入区块链账本中。
7.一种基于区块链的数据处理方法,其特征在于,包括:
共识节点基于注册请求针对公钥和业务身份信息进行共识处理;所述注册请求是由业务节点通过业务合约发起的针对所述公钥和所述业务身份信息的注册请求;
若对所述公钥和所述业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送所述公钥和所述业务身份信息,以使所述证书认证节点基于所述公钥和所述业务身份信息生成公钥证书;
接收所述证书认证节点所返回的所述公钥证书,将所述公钥证书中的所述业务身份信息和所述公钥之间的关联关系写入区块链账本中;存储于所述区块链账本中的所述业务身份信息和所述公钥,用于对所述业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
将所述公钥证书发送至所述业务节点,以使所述业务节点从所述公钥证书中提取所述公钥,基于所述公钥生成点对点网络层中的通信地址,将所述公钥和所述通信地址之间的绑定关系广播至所述点对点网络层中的可通信业务节点;所述公钥和所述通信地址之间的绑定关系,用于在所述业务节点与所述可通信业务节点之间的通信访问过程中,为所述可通信业务节点提供针对所述业务节点的身份验证依据;
当针对待验证业务身份信息和待验证公钥的验证结果为合法结果时,接收路由代理节点转发的待上链交易数据和签名数据;所述验证结果是所述路由代理节点基于从所述区块链账本中同步得到的所述业务身份信息和所述公钥,对所述待验证业务身份信息和所述待验证公钥进行验证得到的验证结果;所述待上链交易数据、所述签名数据、所述待验证业务身份信息和所述待验证公钥是由所述业务节点发送给所述路由代理节点的;
基于所述公钥对所述待上链交易数据和所述签名数据进行共识处理;
若对所述待上链交易数据和所述签名数据的共识处理结果为共识通过结果,则将对所述待上链交易数据和所述签名数据存储至所述区块链账本中与所述公钥对应的链上地址。
8.根据权利要求7所述的方法,其特征在于,所述共识节点基于注册请求针对公钥和业务身份信息进行共识处理,包括:
共识节点根据携带公钥和业务身份信息的注册请求生成注册区块,对所述注册区块进行共识投票,得到第一投票结果;
将所述注册区块和所述第一投票结果广播至共识网络中的可通信共识节点,以使所述可通信共识节点对所述注册区块进行共识投票,得到第二投票结果;
若所述第一投票结果和所述第二投票结果中属于赞同票结果的数量超过共识阈值,则确定对所述公钥和所述业务身份信息的共识处理结果为共识通过结果;
若所述共识投票结果为赞同票结果的数量不超过共识阈值,则确定对所述公钥和所述业务身份信息的共识处理结果为共识失败结果。
9.根据权利要求7所述的方法,其特征在于,所述基于所述公钥对所述待上链交易数据和所述签名数据进行共识处理,包括:
根据所述公钥对所述签名数据进行验签处理,得到签名验证结果;
对所述待上链交易数据进行合法性验证,得到交易数据验证结果;
若所述签名验证结果为合法结果,且所述交易数据验证结果为合法结果,则根据所述待上链交易数据和所述签名数据生成待上链区块,根据所述签名验证结果和所述交易数据验证结果对所述待上链区块进行共识投票,得到第三投票结果;
将所述待上链区块和所述第三投票结果广播至可通信共识节点,以使所述可通信共识节点对所述待上链区块进行共识投票,得到第四投票结果;
若所述第三投票结果和所述第四投票结果中属于赞同票结果的数量超过共识阈值,则确定对所述待上链交易数据和所述签名数据的共识处理结果为共识通过结果。
10.根据权利要求7所述的方法,其特征在于,所述共识节点为管理员节点;所述方法还包括:
接收更新公钥和所述业务身份信息的更新注册请求;所述更新注册请求是所述业务节点通过所述业务合约发起的针对所述更新公钥和所述业务身份信息的更新注册请求;
基于所述更新注册请求对所述更新公钥和所述业务身份信息进行共识处理;
若对所述更新公钥和所述业务身份信息的共识处理结果为共识通过结果,则向证书认证节点发送所述更新公钥和所述业务身份信息,以使所述证书认证节点基于所述更新公钥和所述业务身份信息生成更新公钥证书;
接收所述证书认证节点所返回的所述更新公钥证书,将所述更新公钥证书中的所述业务身份信息和所述更新公钥之间的关联关系写入所述区块链账本中;
将所述公钥证书发送至所述业务节点,以使所述业务节点基于所述更新公钥证书向所述管理员节点发送资产找回请求;
接收所述资产找回请求,根据所述资产找回请求和所述更新公钥证书中的所述业务身份信息确定待找回资产信息,通过管理员私钥对所述待找回资产信息进行签名处理,得到待找回签名数据;
基于管理员公钥对所述更新公钥、所述待找回资产信息和所述待找回签名数据进行共识处理;
若对所述更新公钥、所述待找回资产信息和所述待找回签名数据的共识处理结果为共识通过结果,则将所述待找回资产信息对应的资产转移至所述更新公钥所指示的链上地址。
11.一种基于区块链的数据处理装置,其特征在于,包括:
注册请求模块,用于业务节点通过业务合约向共识网络发起针对公钥和业务身份信息的注册请求;所述共识网络用于基于所述注册请求对所述公钥和所述业务身份信息进行共识处理;
证书获取模块,用于若对所述公钥和所述业务身份信息的共识处理结果为共识通过结果,则获取证书认证节点基于所述公钥和所述业务身份信息所生成的公钥证书;所述共识网络还用于将所述公钥证书中的所述业务身份信息和所述公钥之间的关联关系写入区块链账本中;存储于所述区块链账本中的所述业务身份信息和所述公钥,用于对业务节点所发送的待上链交易数据相关联的签名数据进行身份验证和签名验证;
通信地址模块,用于从所述公钥证书中提取所述公钥,基于所述公钥生成点对点网络层中的通信地址;
关系转发模块,用于将所述公钥和所述通信地址之间的绑定关系广播至所述点对点网络层中的可通信业务节点;所述公钥和所述通信地址之间的绑定关系,用于在所述业务节点与所述可通信业务节点之间的通信访问过程中,为所述可通信业务节点提供针对所述业务节点的身份验证依据;
交易签名模块,用于获取待上链交易数据,在业务合约中基于公钥对应的私钥对待上链交易数据进行签名处理,得到与待上链交易数据相关联的签名数据;
数据转发模块,用于通过业务合约将待上链交易数据、签名数据、待验证业务身份信息和待验证公钥发送至路由代理节点,以使路由代理节点基于从区块链账本中同步得到的业务身份信息和公钥,对待验证业务身份信息和待验证公钥进行验证处理,在验证结果为合法结果时,将待上链交易数据和签名数据转发至共识网络;共识网络还用于在对待上链交易数据和签名数据进行共识的过程中,基于公钥对签名数据进行验签处理;共识网络还用于在对待上链交易数据和签名数据共识通过时,将待上链交易数据和签名数据存储至区块链账本中与公钥对应的链上地址。
12.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1-10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行权利要求1-10任一项所述的方法。
CN202110765987.6A 2021-07-07 2021-07-07 一种基于区块链的数据处理方法以及相关设备 Active CN113255014B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110765987.6A CN113255014B (zh) 2021-07-07 2021-07-07 一种基于区块链的数据处理方法以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110765987.6A CN113255014B (zh) 2021-07-07 2021-07-07 一种基于区块链的数据处理方法以及相关设备

Publications (2)

Publication Number Publication Date
CN113255014A CN113255014A (zh) 2021-08-13
CN113255014B true CN113255014B (zh) 2021-09-28

Family

ID=77190960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110765987.6A Active CN113255014B (zh) 2021-07-07 2021-07-07 一种基于区块链的数据处理方法以及相关设备

Country Status (1)

Country Link
CN (1) CN113255014B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499952B (zh) * 2021-12-23 2024-04-09 中电科大数据研究院有限公司 一种联盟链共识身份认证方法
CN114448735B (zh) * 2022-04-11 2022-06-17 江苏通付盾科技有限公司 基于点对点通信的区块链身份注册和验证方法、装置
CN114884702A (zh) * 2022-04-19 2022-08-09 海南大学 身份注册方法、身份认证方法及身份管理系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
CN110537346B (zh) * 2017-03-06 2023-03-24 诺基亚技术有限公司 安全去中心化域名系统
CN110457942B (zh) * 2018-12-07 2022-11-04 深圳市智税链科技有限公司 对上链数据区块的签名验证方法、业务节点和介质
CN111027970B (zh) * 2018-12-07 2024-02-23 深圳市智税链科技有限公司 区块链系统的认证管理方法、装置、介质及电子设备
CN109756589B (zh) * 2019-02-20 2020-11-13 中国互联网络信息中心 一种基于区块链多方共治的域名信息维护系统
CN110944004B (zh) * 2019-09-12 2021-09-10 腾讯科技(深圳)有限公司 区块链网络中的数据处理方法、装置、存储介质和设备
CN111600871B (zh) * 2020-05-13 2022-08-02 中国联合网络通信集团有限公司 一种防止攻击方法及装置
CN111680282B (zh) * 2020-06-01 2021-08-24 腾讯科技(深圳)有限公司 基于区块链网络的节点管理方法、装置、设备及介质
CN112085504B (zh) * 2020-11-16 2021-02-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113255014A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN111970129B (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
US11038670B2 (en) System and method for blockchain-based cross-entity authentication
US20210126916A1 (en) System and method for decentralized-identifier authentication
WO2021000419A1 (en) System and method for blockchain-based cross-entity authentication
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
CN112685505B (zh) 一种交易数据处理方法、装置、计算机设备及存储介质
CN111144881A (zh) 对资产转移数据的选择性访问
CN110633963B (zh) 电子票据处理方法、装置、计算机可读存储介质和设备
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
CN111476572B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN110597911A (zh) 一种区块链网络的证书处理方法、装置、电子设备及存储介质
WO2020088074A1 (zh) 基于区块链的隐私交易方法、装置及其应用方法、装置
CN113328997B (zh) 联盟链跨链系统及方法
CN111275555A (zh) 区块链交易处理方法、交易节点以及区块链系统
CN109936620B (zh) 基于区块链的存储方法及装置、系统与存储介质
CN113256297A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN115705601A (zh) 数据处理方法、装置、计算机设备及存储介质
CN111311412B (zh) 去中心化的交易确认方法、装置及服务器
CN116743377B (zh) 基于区块链密钥的数据处理方法、装置、设备及存储介质
WO2023134282A1 (zh) 基于区块链的数据处理方法、装置、设备、存储介质及程序产品
CN116366254A (zh) 跨链信息生成方法、跨链信息验证方法及跨链信息验证系统
CN117294753A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN115375304A (zh) 一种基于区块链的数据处理方法、装置、设备以及介质
CN117459237A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40050031

Country of ref document: HK