HK40086064A - A data processing method based on blockchain network and related equipment - Google Patents
A data processing method based on blockchain network and related equipment Download PDFInfo
- Publication number
- HK40086064A HK40086064A HK42023075100.0A HK42023075100A HK40086064A HK 40086064 A HK40086064 A HK 40086064A HK 42023075100 A HK42023075100 A HK 42023075100A HK 40086064 A HK40086064 A HK 40086064A
- Authority
- HK
- Hong Kong
- Prior art keywords
- data
- node
- identity
- blockchain
- request
- Prior art date
Links
Description
技术领域Technical Field
本申请涉及计算机技术领域,具体涉及人工智能领域,尤其涉及一种基于区块链网络的数据处理方法、一种基于区块链网络的数据处理装置、一种基于区块链网络的数据处理设备、一种计算机可读存储介质及一种程序产品。This application relates to the field of computer technology, specifically to the field of artificial intelligence, and in particular to a data processing method based on a blockchain network, a data processing device based on a blockchain network, a data processing equipment based on a blockchain network, a computer-readable storage medium, and a program product.
背景技术Background Technology
随着计算机技术的快速发展,越来越多的用户或企业选择采用数字身份来证明自己的真实身份;数字身份是通过将用户的身份信息(如用户姓名、行为信息等)数字化得到的,数字身份能够在一定程度上提高身份识别效率。With the rapid development of computer technology, more and more users or enterprises are choosing to use digital identities to prove their true identity. Digital identities are obtained by digitizing users' identity information (such as user names, behavioral information, etc.), and digital identities can improve the efficiency of identity recognition to a certain extent.
但实践发现,现有的数字身份的流通和存储方式存在数据泄露的风险;例如,在产生数字身份的发行方直接将用户的数字身份发送至持有方的过程中,数字身份很可能被截获而泄露用户的隐私身份信息。因此,如何提高数据的安全性成为研究热点话题。However, practice has revealed that existing methods of circulating and storing digital identities pose a risk of data leakage. For example, when the issuer of a digital identity directly sends the user's digital identity to the holder, the digital identity could be intercepted, potentially leading to the leakage of the user's private information. Therefore, improving data security has become a hot research topic.
发明内容Summary of the Invention
本申请实施例提供一种基于区块链网络的数据处理方法及相关设备,能够提高数据的安全性。This application provides a data processing method and related equipment based on a blockchain network, which can improve data security.
一方面,本申请实施例提供了一种基于区块链网络的数据处理方法,该方法包括:On one hand, embodiments of this application provide a data processing method based on a blockchain network, the method comprising:
向区块链网络的共识节点发送第一数据清分请求,并接收共识节点响应于第一数据清分请求而返回的与区块链网络中持有节点相关的声明数据;Send a first data clearing request to the consensus node of the blockchain network, and receive the declaration data related to the holding node in the blockchain network returned by the consensus node in response to the first data clearing request;
根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份;Based on the declared data, identity representation data corresponding to the holding node is generated. The identity representation data is used to indicate the identity of the holding node.
设置能够访问身份表达数据的第一可见节点标识;Set the identifier of the first visible node that can access the identity representation data;
将身份表达数据及可见节点标识存储至区块链网络的区块链。The blockchain stores identity representation data and visible node identifiers in the blockchain network.
另一方面,本申请实施例提供了一种基于区块链网络的数据处理方法,该方法包括:On the other hand, embodiments of this application provide a data processing method based on a blockchain network, the method comprising:
接收区块链网络中持有节点发送的第一数据清分请求,第一数据清分请求用于请求清分与持有节点相关的声明数据;Receive the first data clearing request sent by the holding node in the blockchain network. The first data clearing request is used to request the clearing of the claim data related to the holding node.
响应于第一数据清分请求清分得到与持有节点相关的声明数据,并将声明数据返回至持有节点,以使持有节点根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份,以及设置能够访问身份表达数据的第一可见节点标识;In response to the first data clearing request, the declaration data related to the holding node is cleared and returned to the holding node, so that the holding node can generate identity expression data corresponding to the holding node based on the declaration data. The identity expression data is used to indicate the identity of the holding node and to set the first visible node identifier that can access the identity expression data.
接收持有节点发送的第一存储请求,并响应于第一存储请求,将第一存储请求中包含的身份表达数据和第一可见节点标识,存储至区块链网络的区块链。Receive the first storage request sent by the holding node, and in response to the first storage request, store the identity expression data and the first visible node identifier contained in the first storage request to the blockchain of the blockchain network.
另一方面,本申请实施例提供了一种基于区块链网络的数据处理装置,该装置包括:On the other hand, embodiments of this application provide a data processing apparatus based on a blockchain network, the apparatus comprising:
发送单元,用于向区块链网络的共识节点发送第一数据清分请求,并接收共识节点响应于第一数据清分请求而返回的与区块链网络中持有节点相关的声明数据;The sending unit is used to send a first data clearing request to the consensus node of the blockchain network and to receive the declaration data related to the holding node in the blockchain network returned by the consensus node in response to the first data clearing request.
处理单元,用于根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份;The processing unit is used to generate identity representation data corresponding to the holding node based on the declaration data. The identity representation data is used to indicate the identity of the holding node.
处理单元,还用于设置能够访问身份表达数据的第一可见节点标识;The processing unit is also used to set the first visible node identifier that can access identity expression data;
处理单元,还用于将身份表达数据及可见节点标识存储至区块链网络的区块链。The processing unit is also used to store identity representation data and visible node identifiers into the blockchain of the blockchain network.
在一种实现方式中,处理单元用于根据声明数据生成持有节点对应的身份表达数据时,具体用于:In one implementation, when the processing unit generates identity representation data corresponding to the holding node based on the declared data, it specifically performs the following functions:
对声明数据进行签名生成持有节点对应的身份表达数据。Sign the declared data to generate identity representation data corresponding to the holding node.
在一种实现方式中,处理单元,还用于:In one implementation, the processing unit is further used for:
向区块链网络的发行节点发送声明申请请求,使发行节点依据声明申请请求执行响应处理,以将声明数据存储至区块链。Send a claim request to the issuing node of the blockchain network, and the issuing node will execute a response process based on the claim request to store the claim data in the blockchain.
在一种实现方式中,声明申请请求中携带持有节点对应的对象标识以及候选对象数据;响应处理的流程包括:In one implementation, the declaration request carries the object identifier corresponding to the holding node and candidate object data; the response processing flow includes:
根据声明申请请求对持有节点进行身份校验处理,得到身份校验结果;Based on the declaration application request, the identity verification process of the holding node is performed to obtain the identity verification result;
若身份校验结果为身份校验成功,则生成持有节点对应的声明数据,并设置能够访问声明数据的第二可见节点标识;If the identity verification result is successful, then the declaration data corresponding to the holding node is generated, and the second visible node identifier that can access the declaration data is set.
将声明数据和第二可见节点标识存储至区块链。Store the declared data and the second visible node identifier in the blockchain.
在一种实现方式中,身份校验处理的流程,包括:In one implementation, the identity verification process includes:
由发行节点向共识节点发送身份查询请求,身份查询请求中携带持有节点对应的对象标识;The issuing node sends an identity query request to the consensus node, and the identity query request carries the object identifier corresponding to the holding node;
接收共识节点返回的与对象标识关联的参考对象数据;Receive reference object data associated with the object identifier returned by the consensus node;
将参考对象数据与候选对象数据进行比较,得到身份校验结果。The identity verification result is obtained by comparing the reference object data with the candidate object data.
在一种实现方式中,处理单元用于将身份表达数据及第一可见节点标识存储至区块链时,具体用于:In one implementation, when the processing unit stores the identity representation data and the identifier of the first visible node into the blockchain, it is specifically used for:
基于身份表达数据和第一可见节点标识生成表达交易数据;Generate expression transaction data based on identity expression data and the identifier of the first visible node;
将表达交易数据发送至共识节点,以使共识节点基于表达交易数据生成区块,并将区块添加至区块链中。The transaction data is sent to the consensus node, which then generates a block based on the transaction data and adds the block to the blockchain.
另一方面,本申请实施例提供一种基于区块链网络的数据处理装置,该装置包括:On the other hand, embodiments of this application provide a data processing apparatus based on a blockchain network, the apparatus comprising:
接收单元,用于接收区块链网络中持有节点发送的第一数据清分请求,第一数据清分请求用于请求清分与持有节点相关的声明数据;The receiving unit is used to receive the first data clearing request sent by the holding node in the blockchain network. The first data clearing request is used to request the clearing of the declaration data related to the holding node.
处理单元,用于响应于第一数据清分请求清分得到与持有节点相关的声明数据,并将声明数据返回至持有节点,以使持有节点根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份,以及设置能够访问身份表达数据的第一可见节点标识;The processing unit is configured to clear the declaration data related to the holding node in response to the first data clearing request, and return the declaration data to the holding node so that the holding node can generate identity expression data corresponding to the holding node based on the declaration data. The identity expression data is used to indicate the identity of the holding node and to set the first visible node identifier that can access the identity expression data.
处理单元,还用于接收持有节点发送的第一存储请求,并响应于第一存储请求,将第一存储请求中包含的身份表达数据和第一可见节点标识,存储至区块链网络的区块链。The processing unit is also configured to receive a first storage request sent by the holding node, and in response to the first storage request, store the identity expression data and the first visible node identifier contained in the first storage request into the blockchain of the blockchain network.
在一种实现方式中,第一数据清分请求中包括持有节点期望同步的待处理区块的待处理区块高度h1,h1为大于零的整数;处理单元用于响应于第一数据清分请求清分得到与持有节点相关的声明数据时,具体用于:In one implementation, the first data clearing request includes the block height h1 of the block to be processed that the holding node expects to synchronize, where h1 is a positive integer; the processing unit, in response to the first data clearing request, clears the declaration data related to the holding node, specifically for:
获取区块链的最高区块高度H1,H1为大于1的整数;Get the highest block height H1 of the blockchain, where H1 is an integer greater than 1;
根据待处理区块高度h1与最高区块高度H1,对区块链进行数据清分处理,得到与持有节点相关的声明数据。Based on the height h1 of the block to be processed and the height H1 of the highest block, the blockchain is cleared to obtain the declaration data related to the holding node.
在一种实现方式中,处理单元用于根据待处理区块高度h1与最高区块高度H1,对区块链进行数据清分处理,得到与持有节点相关的声明数据时,具体用于:In one implementation, the processing unit is used to perform data clearing processing on the blockchain based on the height h1 of the block to be processed and the height H1 of the highest block. Specifically, when obtaining the declaration data related to the holding node, it is used for:
若待处理区块高度h1与最高区块高度H1之间满足高度条件,则获取区块链中待处理区块高度h1对应的待处理区块;其中,待处理区块高度h1与最高区块高度H1之间满足高度条件包括:若共识节点的节点类型为轻节点,则待处理区块高度h1小于等于最高区块高度H1;或者,若共识节点的节点类型为全节点,则待处理区块高度h1小于最高区块高度H1;If the height h1 of the block to be processed satisfies a height condition with the highest block height H1 , then the block to be processed corresponding to the height h1 in the blockchain is obtained. The height condition between the height h1 of the block to be processed and the highest block height H1 includes: if the consensus node is a light node, then the height h1 of the block to be processed is less than or equal to the highest block height H1 ; or, if the consensus node is a full node, then the height h1 of the block to be processed is less than the highest block height H1 .
对待处理区块所包含的第一候选交易数据进行可见性检测,得到第一可见性检测结果;The visibility of the first candidate transaction data contained in the block to be processed is checked to obtain the first visibility check result;
若第一可见性检测结果满足可见条件,则将第一候选交易数据确定为与持有节点相关的声明数据;其中,第一可见性检测结果满足可见条件包括:持有节点能够访问第一候选交易数据,且第一候选交易数据中包含声明数据;If the first visibility detection result meets the visibility condition, then the first candidate transaction data is determined as the claim data related to the holding node; wherein, the first visibility detection result meeting the visibility condition includes: the holding node can access the first candidate transaction data, and the first candidate transaction data contains claim data;
若第一可见性检测结果不满足可见条件,则令新的待处理区块高度h1=h1+1,并获取区块链网络中更新后的区块链的最高区块高度H2,H2为大于1的整数,若新的待处理区块高度h1与区块高度H2之间满足高度条件,则继续执行根据新的待处理区块高度h1与区块高度H2,进行数据清分处理得到与持有节点相关的声明数据的步骤。If the first visibility detection result does not meet the visibility condition, then let the new block height h1 = h1 + 1, and obtain the highest block height H2 of the updated blockchain in the blockchain network, where H2 is an integer greater than 1. If the new block height h1 and the block height H2 meet the height condition, then continue to execute the step of data clearing processing based on the new block height h1 and the block height H2 to obtain the declaration data related to the holding node.
在一种实现方式中,处理单元还用于:In one implementation, the processing unit is also used for:
接收区块链网络中的发行节点发送的第二存储请求,第二存储请求中携带持有节点对应的声明数据以及能够访问声明数据的第二可见节点标识;Receive a second storage request sent by the issuing node in the blockchain network. The second storage request carries the claim data corresponding to the holding node and the identifier of the second visible node that can access the claim data.
响应于第二存储请求,将声明数据以及第二可见节点标识存储至区块链。In response to the second storage request, the declared data and the identifier of the second visible node are stored in the blockchain.
在一种实现方式中,处理单元还用于:In one implementation, the processing unit is also used for:
接收区块链网络中的验证节点发送的第二数据清分请求,第二数据清分请求用于请求与验证节点相关的身份表达数据;Receive a second data clearing request sent by a verification node in the blockchain network. The second data clearing request is used to request identity representation data related to the verification node.
响应于第二数据清分请求清分得到与验证节点相关的身份表达数据;In response to the second data clearing request, the identity representation data related to the verification node is cleared.
将身份表达数据返回至验证节点,以使验证节点基于身份表达数据对持有节点进行身份验证处理。The identity representation data is returned to the verification node so that the verification node can perform identity verification processing on the holding node based on the identity representation data.
另一方面,本申请实施例提供一种基于区块链网络的数据处理设备,该设备包括:On the other hand, embodiments of this application provide a data processing device based on a blockchain network, the device comprising:
处理器,适于执行计算机程序;A processor, adapted to execute computer programs;
计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述的基于区块链网络的数据处理方法。A computer-readable storage medium storing a computer program, which, when executed by a processor, implements the data processing method based on a blockchain network as described above.
另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行如上述的基于区块链网络的数据处理方法。On the other hand, embodiments of this application provide a computer-readable storage medium storing a computer program adapted to be loaded by a processor and executed as described above for data processing based on a blockchain network.
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据处理设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该数据处理设备执行上述的基于区块链网络的数据处理方法。On the other hand, embodiments of this application provide a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a data processing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the data processing device to perform the aforementioned data processing method based on a blockchain network.
本申请实施例中,持有节点可以向共识节点发送第一数据清分请求,使得共识节点响应于第一数据清分请求从区块链中清分并返回与持有节点相关的声明数据;持有节点再基于声明数据生成身份表达数据,并将身份表达数据以及能够访问身份表达数据的第一可见节点标识一同存储至区块链网络的区块链中。上述方案中,持有节点相关的声明数据和身份表达数据均存储于区块链网络的区块链中,实现对声明数据和身份表达数据的去中心化存储,且通过持有节点的数据清分能力在区块链上进行声明数据和身份表达数据的数据流转和可见节点的设置,使得只有指定的可见节点才能对声明数据和身份表达数据进行访问,有效降低数据被泄露的风险,提高数据的安全性。In this embodiment, the holding node can send a first data clearing request to the consensus node, causing the consensus node to clear and return the claim data related to the holding node from the blockchain in response to the first data clearing request. The holding node then generates identity expression data based on the claim data and stores the identity expression data along with the identifier of the first visible node that can access the identity expression data in the blockchain of the blockchain network. In the above scheme, both the claim data and identity expression data related to the holding node are stored in the blockchain of the blockchain network, realizing decentralized storage of the claim data and identity expression data. Furthermore, the data flow of the claim data and identity expression data and the setting of visible nodes are carried out on the blockchain through the data clearing capability of the holding node, so that only the designated visible nodes can access the claim data and identity expression data, effectively reducing the risk of data leakage and improving data security.
附图说明Attached Figure Description
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
图1a示出了本申请一个示例性实施例提供的一种数据共享系统的架构示意图;Figure 1a shows a schematic diagram of the architecture of a data sharing system provided in an exemplary embodiment of this application;
图1b示出了本申请一个示例性实施例提供的一种区块的结构示意图;Figure 1b shows a schematic diagram of the structure of a block provided in an exemplary embodiment of this application;
图1c示出了本申请一个示例性实施例提供的一种数据处理系统的架构示意图;Figure 1c shows a schematic diagram of the architecture of a data processing system provided in an exemplary embodiment of this application;
图1d示出了本申请一个示例性实施例提供的一种数据处理系统的结构示意图;Figure 1d shows a schematic diagram of the structure of a data processing system provided in an exemplary embodiment of this application;
图1e示出了本申请一个示例性实施例提供的一种学历认证场景的场景示意图;Figure 1e shows a schematic diagram of an academic qualification verification scenario provided by an exemplary embodiment of this application;
图2示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理方法的流程示意图;Figure 2 shows a flowchart illustrating a data processing method based on a blockchain network provided in an exemplary embodiment of this application;
图3示出了本申请一个示例性实施例提供的一种标识命中处理的示意图;Figure 3 illustrates a schematic diagram of an identifier hit processing provided in an exemplary embodiment of this application;
图4示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理方法的流程示意图;Figure 4 shows a flowchart illustrating a data processing method based on a blockchain network provided in an exemplary embodiment of this application;
图5示出了本申请一个示例性实施例提供的一种数据清分处理的流程示意图;Figure 5 illustrates a flowchart of a data clearing process provided in an exemplary embodiment of this application;
图6示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理方法的流程示意图;Figure 6 shows a flowchart illustrating a data processing method based on a blockchain network provided in an exemplary embodiment of this application;
图7示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理装置;Figure 7 illustrates a data processing apparatus based on a blockchain network provided in an exemplary embodiment of this application;
图8示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理装置;Figure 8 illustrates a data processing apparatus based on a blockchain network provided in an exemplary embodiment of this application;
图9示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理设备。Figure 9 illustrates a data processing device based on a blockchain network provided in an exemplary embodiment of this application.
具体实施方式Detailed Implementation
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
本申请实施例涉及区块链技术,下面对区块链技术的相关术语及概念进行简要介绍:This application relates to blockchain technology. The following is a brief introduction to the relevant terms and concepts of blockchain technology:
区块链网络可以理解为一个数据共享系统100,数据共享系统100可是指用于进行节点与节点之间数据共享的系统,该数据共享系统100的一种示例性结构可参见图1a;如图1a所示,该数据共享系统100中可以包括多个节点101,多个节点101可以是指数据共享系统100中各个客户端(或终端设备、服务器等)。为了保证数据共享系统100内的信息互通,数据共享系统100中的每个节点之间可以存在信息连接,以使节点之间可以实现信息传输,进而实现信息共享。其中,节点之间实现信息连接的方式可包括:对于数据共享系统100中的每个节点,均具有与其对应的节点标识,而且数据共享系统100中的每个节点均可以存储有数据共享系统100中其他节点的节点标识,这样任一节点可根据其他节点的节点标识,实现信息共享(如将生成的区块广播至数据共享系统100中的其他节点)。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明:A blockchain network can be understood as a data sharing system 100, which refers to a system for data sharing between nodes. An exemplary structure of this data sharing system 100 is shown in Figure 1a. As shown in Figure 1a, the data sharing system 100 may include multiple nodes 101, which can refer to various clients (or terminal devices, servers, etc.) within the data sharing system 100. To ensure information interoperability within the data sharing system 100, information connections can exist between each node in the data sharing system 100, enabling information transmission and sharing. The methods for establishing information connections between nodes may include: each node in the data sharing system 100 has a corresponding node identifier, and each node in the data sharing system 100 can store the node identifiers of other nodes in the data sharing system 100. Thus, any node can share information based on the node identifiers of other nodes (e.g., broadcasting generated blocks to other nodes in the data sharing system 100). Each node can maintain a node identifier list as shown in the table below, storing the node name and node identifier in this list. The node identifier can be an IP (Internet Protocol) address or any other information that can be used to identify the node. Table 1 uses IP addresses as an example only:
表1节点标识列表Table 1 Node Identifier List
数据共享系统100中的每个节点均存储一条相同的区块链。区块链(blockchain或block chain)是分布式数据存储、P2P(Peer to Peer,点对点)传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链由多个区块组成,每个区块中包括输入信息,节点通过存储区块链实现存储输入信息。其中,区块的结构示意图可参见图1b,如图1b所示,区块的创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。其中,数据共享系统100中的节点对输入信息进行共识,并在共识成功后将输入信息生成的区块上链(即将区块添加至区块链)的过程可包括:当数据共享系统100中的任意节点接收到输入信息时,数据共享系统100中的其他节点便根据共识算法对该输入信息进行共识,并在共识成功后将该输入信息生成区块,以及将该区块添加至区块链,进而实现对该输入信息的分布式存储,使得数据共享系统100中全部节点上存储的数据均一致。其中,上述提及的根据共识算法对输入信息进行共识的节点,通常被称为共识节点,在此说明。Each node in the data sharing system 100 stores the same blockchain. A blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer (P2P) transmission, consensus mechanisms, and cryptographic algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain consists of multiple blocks, each including input information. Nodes store this input information by storing the blockchain. The structural diagram of the block can be seen in Figure 1b. As shown in Figure 1b, the genesis block of a block includes a block header and a block body. The block header stores the input information feature value, version number, timestamp, and difficulty value, while the block body stores the input information. The next block of the genesis block takes the genesis block as its parent block. The next block also includes a block header and a block body. The block header stores the input information feature value of the current block, the block header feature value of the parent block, the version number, the timestamp, and the difficulty value, and so on. This ensures that the block data stored in each block of the blockchain is related to the block data stored in the parent block, guaranteeing the security of the input information in the block. The process by which nodes in the data sharing system 100 reach consensus on input information and, upon successful consensus, add the generated block to the blockchain (i.e., add the block to the blockchain) may include: when any node in the data sharing system 100 receives input information, other nodes in the data sharing system 100 reach consensus on the input information according to the consensus algorithm, generate a block based on the input information upon successful consensus, and add the block to the blockchain, thereby achieving distributed storage of the input information and ensuring that the data stored on all nodes in the data sharing system 100 is consistent. The nodes that reach consensus on the input information according to the consensus algorithm mentioned above are typically referred to as consensus nodes, and this is explained here.
正如前述对区块链中区块的相关介绍可知,区块链中的区块包括区块头和区块主体,区块主体用于存储输入信息,那么根据节点所包含的区块链中区块是否包含全量的输入信息,具体是区块链中各个区块的区块主体中是否包含全量的输入信息,可以将区块链网络中的节点区分为全节点和轻节点。其中,区分全节点和轻节点是通过判断节点是否包含有区块的全量数据实现的。全节点中的区块链同步有区块的所有数据(即全量的输入信息),包括区块的区块头、区块主体、交易数据等相关信息。而轻节点只同步区块链网络中各个区块的区块头,以及与该轻节点相关的交易数据;一种实现方式中,轻节点中各个区块头未连接成区块链,即轻节点中不包含区块链;在另一种实现方式中,轻节点中各个区块头仍然可以连接形成区块链,且该区块链中部分区块的区块主体为空(如不包含输入信息),部分区块的区块主体不为空(如包含与该轻节点相关的交易数据)。为便于区分包含全量数据的区块链和只包含区块头(以及部分交易数据)的区块链,本申请实施例将包含全量数据的区块链称为区块链,将只包含区块头(或部分输入信息)的区块链称为子区块链,在此说明。As mentioned earlier regarding blocks in a blockchain, a block consists of a block header and a block body. The block body stores input information. Based on whether a node contains all the input information within its blockchain blocks—specifically, whether the block body of each block contains all the input information—nodes in a blockchain network can be categorized as full nodes and light nodes. This distinction is made by determining whether the node contains the complete data of the block. A full node's blockchain synchronously contains all the data of the block (i.e., the complete input information), including the block header, block body, transaction data, and other relevant information. Light nodes only synchronize the block headers of each block in the blockchain network, as well as the transaction data associated with the light node. In one implementation, the block headers in the light node are not connected to form a blockchain, meaning the light node does not contain a blockchain. In another implementation, the block headers in the light node can still be connected to form a blockchain, and some blocks in this blockchain have empty block bodies (e.g., no input information), while some blocks have non-empty block bodies (e.g., containing transaction data associated with the light node). To easily distinguish between a blockchain containing all data and a blockchain containing only block headers (and some transaction data), this application refers to a blockchain containing all data as a blockchain, and a blockchain containing only block headers (or some input information) as a sub-blockchain, as explained here.
另外,轻节点可包括SPV(Special Purpose Vehicle,载体)节点,该SPV节点具有数据清分能力,所谓数据清分能力可以简单理解为:从全节点(具体是全节点所包含的区块链)中同步与自己(即SPV节点)相关的交易数据,且支持设置能够访问上传至区块链中的交易数据的可见节点标识的能力,这样只有设置的可见节点标识对应的节点可以从区块链中获取到该交易数据,这在一定程序上提高数据的安全性。在本申请实施例中以轻节点中包含子区块链,且该子区块链中部分区块的区块主体包含与该轻节点相关的交易数据为例进行介绍,特在此说明。Additionally, light nodes may include SPV (Special Purpose Vehicle) nodes. These SPV nodes possess data clearing capabilities. This data clearing capability can be simply understood as: synchronizing transaction data related to themselves (i.e., the SPV node) from full nodes (specifically, the blockchain contained within the full node). Furthermore, they support the ability to set visible node identifiers that can access transaction data uploaded to the blockchain. This ensures that only the node corresponding to the set visible node identifier can retrieve the transaction data from the blockchain, thus improving data security to a certain extent. In this embodiment, an example is provided where a light node contains a sub-blockchain, and the block body of some blocks in this sub-blockchain contains transaction data related to the light node.
基于上述对区块链技术的相关介绍,本申请实施例提出一种基于区块链网络的数据处理系统,该数据处理系统可称为去中心化身份认证系统(Decentrali zed ID,DID);在不同身份认证场景下,该数据处理系统可实现不同身份认证场景涉及的数据的链上流通和去中心化存储(即数据分布式存储在区块链网络所包含的共识节点中)。例如:在身份认证场景为学历认证场景中,该数据处理系统可实现去中心化存储用户的学历证书(如用于证明用户的学历的信息或凭证),以及在链上实现学历证书的流通;这在一定程度上提高学历证书的安全性。Based on the above introduction to blockchain technology, this application proposes a data processing system based on a blockchain network, which can be called a decentralized identity authentication system (DID). In different identity authentication scenarios, this data processing system can realize on-chain circulation and decentralized storage of data involved in different identity authentication scenarios (i.e., data is distributed and stored in consensus nodes included in the blockchain network). For example, in an identity authentication scenario involving academic qualification verification, this data processing system can achieve decentralized storage of users' academic certificates (such as information or credentials used to prove users' academic qualifications) and realize the circulation of academic certificates on the blockchain; this improves the security of academic certificates to a certain extent.
其中,该数据处理系统的整体结构的示意图可参见图1c,如图1c所示,该数据处理系统自顶向下包括:应用层、服务接口层、持久化层;其中,应用层提供基于区块链的应用服务给用户使用,服务接口层包括分解器,用于对外提供去中心化服务以及数据获取等功能,持久化层包括服务接口(如API接口、SQL接口等),为上层应用场景提供区块链基础服务的功能。进一步地,图1c所示的数据处理系统还可以表示为图1d所示的结构示意图;如图1d所示,该数据处理系统包括:共识节点102、发行节点103、持有节点104以及验证节点105。其中,数据处理系统所包含的各个节点(如共识节点102、发行节点103、持有节点104以及验证节点105)可以是指:计算机设备或运行于计算机设备中的应用程序(可简称为应用)。其中:计算机设备可包括但不限于:智能手机、平板电脑、便携式个人计算机、移动互联网设备、智能电视、车载设备、头戴设备等智能设备;计算机设备中运行的应用程序可是指为完成某项或多项特定功能的计算机程序,可包括但不限于:安装在计算机设备中的客户端、无需下载安装即可使用的小程序、通过浏览器打开的web应用程序等等。需要说明的是,本申请实施例对数据处理系统所包含的节点的数量和种类不作限定;例如,在图1a中共识节点102的数量为1个,验证节点105的数量为1个,但实际应用中,共识节点102的数量可能大于1个(如100个),验证节点105的数量可能大于1个(如50个)。The overall structure of the data processing system can be seen in Figure 1c. As shown in Figure 1c, the data processing system, from top to bottom, includes: an application layer, a service interface layer, and a persistence layer. The application layer provides blockchain-based application services to users. The service interface layer includes a decomposer, used to provide decentralized services and data acquisition functions. The persistence layer includes service interfaces (such as API interfaces and SQL interfaces), providing basic blockchain services for upper-layer application scenarios. Furthermore, the data processing system shown in Figure 1c can also be represented as the structural diagram shown in Figure 1d. As shown in Figure 1d, the data processing system includes: a consensus node 102, an issuing node 103, a holding node 104, and a verification node 105. The nodes included in the data processing system (such as consensus node 102, issuing node 103, holding node 104, and verification node 105) can refer to computer devices or applications running on computer devices (referred to as applications). The computer equipment may include, but is not limited to, smart devices such as smartphones, tablets, portable personal computers, mobile internet devices, smart TVs, in-vehicle devices, and head-mounted devices. The applications running on the computer equipment can refer to computer programs designed to perform one or more specific functions, and may include, but are not limited to, clients installed on the computer equipment, small programs that can be used without downloading and installation, and web applications opened through a browser. It should be noted that this application embodiment does not limit the number and type of nodes included in the data processing system; for example, in Figure 1a, the number of consensus nodes 102 is 1, and the number of verification nodes 105 is 1, but in actual applications, the number of consensus nodes 102 may be greater than 1 (e.g., 100), and the number of verification nodes 105 may be greater than 1 (e.g., 50).
基于图1d所示的数据处理系统,本申请实施例提出一种基于区块链网络的数据处理方案,在该数据处理方案中,数据在各个轻节点(如发行节点101、持有节点102以及验证节点105)之间的流通过程是通过区块链实现的,且数据存储在全节点包含的区块链中,避免数据被泄露的风险,提高数据的安全性。下面结合图1d所示的数据处理系统所包含的各个节点,以及以图1e所示的学历证书认证场景为例,给出数据处理方案的大致流程,其中:Based on the data processing system shown in Figure 1d, this application proposes a data processing scheme based on a blockchain network. In this scheme, the flow of data between various light nodes (such as issuing node 101, holding node 102, and verification node 105) is realized through the blockchain, and the data is stored in the blockchain contained in the full node, avoiding the risk of data leakage and improving data security. The following section, using the nodes included in the data processing system shown in Figure 1d and taking the academic certificate authentication scenario shown in Figure 1e as an example, gives the general flow of the data processing scheme, wherein:
(1)持有节点104。(1) Holding node 104.
持有节点104是具有申请声明数据(如学历证书)的需求的目标用户(如任一用户)所使用的节点。例如:若学生“小明”具有向XX学校申请学历证书的需求,那么学生“小明”可通过持有节点104向发行节点103(如XX学校所使用的节点)发送声明申请请求;发行节点103响应该声明申请请求生成学生“小明”的学历证书。其中,持有节点104的节点类型是轻节点,即持有节点104所包含的区块链中只存在部分区块包括有与持有节点104相关的交易数据(如学生“小明”的入学信息、学历信息等)Holding node 104 is a node used by a target user (such as any user) who needs to apply for declared data (such as an academic certificate). For example, if student "Xiaoming" needs to apply for an academic certificate from XX school, then student "Xiaoming" can send a declaration application request to issuing node 103 (such as the node used by XX school) through holding node 104; issuing node 103 responds to the declaration application request and generates student "Xiaoming's" academic certificate. The node type of holding node 104 is a light node, meaning that only a portion of the blocks in the blockchain containing holding node 104 contain transaction data related to holding node 104 (such as student "Xiaoming's" enrollment information, academic information, etc.).
(2)发行节点103。(2) Issuance node 103.
发行节点103是用于签发声明数据的用户所使用的节点。在学历认证场景中,发行节点103可以是XX学校所使用的节点,这样当发行节点103接收到持有节点104发送的声明申请请求时,发行节点103可利用声明申请请求所携带的持有节点104对象的对象标识(如使用持有节点的对象学生“小明”的身份标识(如用户姓名、用户编号、用户ID等)签发学生“小明”的学历证书;并设置能够访问学生“小明”的学历证书的第二可见节点标识,如区块链网络中节点X的节点标识被设置为第二可见节点标识,则节点X可从区块链中获取(如下载、缓存)学生“小明”的学历证书;发行节点103再将学生“小明”的学历证书和能够访问学历证书的第二可见节点标识发送至共识节点102,以便于共识节点102在对学历证书共识成功后上传至区块链中进行存储。其中,发行节点103的节点类型为轻节点,如发行节点103中只包含与自己相关的数据,如包含历史签发的一个或多个学生的学历证书。Issuing node 103 is the node used by users to issue declared data. In the academic qualification verification scenario, issuing node 103 can be a node used by XX school. When issuing node 103 receives a declaration application request from holding node 104, it can use the object identifier of the holding node 104 object carried in the declaration application request (e.g., the identity identifier of the student "Xiaoming" on the holding node object, such as user name, user number, user ID, etc.) to issue the academic qualification certificate of student "Xiaoming". It also sets a second visible node identifier that can access the academic qualification certificate of student "Xiaoming". For example, if the node identifier of node X in the blockchain network is set as the second visible node identifier, then node X can obtain (e.g., download, cache) the academic qualification certificate of student "Xiaoming" from the blockchain. Issuing node 103 then sends the academic qualification certificate of student "Xiaoming" and the second visible node identifier that can access the academic qualification certificate to consensus node 102, so that consensus node 102 can upload it to the blockchain for storage after successful consensus on the academic qualification certificate. The node type of issuing node 103 is a light node, meaning that issuing node 103 only contains data related to itself, such as academic qualification certificates of one or more students issued in the past.
(3)共识节点102。(3) Consensus node 102.
共识节点102是能够采用共识算法对接收到的数据进行共识处理,并在共识成功后将数据生成区块存储至区块链的节点;其中,共识算法可包括但不限于:工作量证明、权益证明、委托权益证明等等,在不同业务场景下所采用的共识算法并不相同,本申请实施例对共识算法的类型不作限定。基于上述描述不难得知,共识节点102的节点类型为全节点,即共识节点102所包含的区块链中包含区块链网络中的全量数据。具体地,当共识节点102接收到发行节点103发送的学历证书和能够访问学历证书的第二可见节点标识后,可以对学历证书和第二可见节点标识进行共识,并在共识成功后基于学历证书和第二可见节点标识生成区块,并将该区块存储至区块链,实现在区块链网络中对区块(即学历证书和第二可见节点标识)的广播,这样区块链网络中的其他节点(全节点和/或轻节点)可从该共识节点的区块链中同步包含学历证书和第二可见节点标识的区块。例如,如果设置持有节点104的节点标识是能够访问学历证书的第二节点可见标识,那么持有节点104可以向共识节点发送第一数据清分请求,以便于共识节点在区块链中清分与持有节点104相关的声明数据,并将声明数据返回至持有节点104;以便于持有节点104对声明数据进行签名处理,并将身份表达数据(如签名后的学历证书)和能够访问身份表达数据的第一可见节点标识存储至区块链中。Consensus node 102 is a node capable of using a consensus algorithm to process received data and, upon successful consensus, generating a block and storing it in the blockchain. The consensus algorithm may include, but is not limited to, Proof-of-Work, Proof-of-Stake, and Delegated Proof-of-Stake, etc. The consensus algorithm used varies depending on the business scenario, and this application embodiment does not limit the type of consensus algorithm. Based on the above description, it is clear that consensus node 102 is a full node, meaning that the blockchain contained within consensus node 102 contains all the data in the blockchain network. Specifically, when consensus node 102 receives the academic certificate and the second visible node identifier that can access the academic certificate from issuing node 103, it can reach a consensus on the academic certificate and the second visible node identifier. Upon successful consensus, it generates a block based on the academic certificate and the second visible node identifier and stores the block in the blockchain, thus broadcasting the block (i.e., the academic certificate and the second visible node identifier) in the blockchain network. This allows other nodes in the blockchain network (full nodes and/or light nodes) to synchronously access the block containing the academic certificate and the second visible node identifier from the consensus node's blockchain. For example, if the node identifier of holding node 104 is set to be a second visible node identifier that can access the academic certificate, then holding node 104 can send a first data clearing request to the consensus node so that the consensus node can clear the declaration data related to holding node 104 in the blockchain and return the declaration data to holding node 104; so that holding node 104 can sign the declaration data and store the identity expression data (such as the signed academic certificate) and the first visible node identifier that can access the identity expression data in the blockchain.
(4)验证节点105。(4) Verify node 105.
验证节点105是具有验证身份表达数据(如学历证书)的用户所使用的节点;在学历认证场景中,该验证节点105可以是招聘单位(如具有招聘员工需求的企业X)所使用的节点,这样验证节点105可以从区块链网络中的区块链中去同步与自己相关的交易数据,并在获取到交易数据后,对交易数据所包含的身份表达数据进行身份验证。例如,区块链网络中的区块链中包含学生“小明”通过持有节点104上传的签名后的学历证书,且在上传该签名后的学历证书时,将验证节点X的节点标识设置为能够访问签名后的学历证书的第一可见节点标识,则验证节点X可从区块链中同步到该签名后的学历证书,并对该签名后的学历证书进行身份校验,此处的身份校验可是校验签名后的学历证书的真实性等,本申请实施例对身份校验的实现方式不作限定,在此说明。Verification node 105 is a node used by a user to verify identity representation data (such as an academic certificate). In an academic qualification verification scenario, verification node 105 can be a node used by a recruiting unit (such as company X, which needs to recruit employees). Verification node 105 can synchronize transaction data related to itself from the blockchain in the blockchain network, and after obtaining the transaction data, verify the identity representation data contained in the transaction data. For example, the blockchain in the blockchain network contains a signed academic certificate uploaded by student "Xiaoming" through node 104. When uploading the signed academic certificate, if the node identifier of verification node X is set to the first visible node identifier that can access the signed academic certificate, then verification node X can synchronize the signed academic certificate from the blockchain and perform identity verification on the signed academic certificate. This identity verification can verify the authenticity of the signed academic certificate, etc. This embodiment of the application does not limit the implementation method of identity verification, but it is described here.
基于上述描述可知,本申请实施例提及的基于区块链网络的数据处理方案,结合区块链的不可篡改性,将数据(如上述提及的声明数据或身份表达数据)进行上链,实现数据的去中心化存储;并且,通过持有节点的数据清分能力在区块链上进行数据的数据流转和可见节点标识(如上述提及的第一可见节点标识和第二可见节点标识)的设置,有效保护数据在发行节点、持有节点和验证节点三方之间的安全流转,使得只有指定的节点才能对数据进行访问,有效降低数据被泄露的风险,提高数据的安全性。As described above, the data processing scheme based on a blockchain network mentioned in this application embodiment, combined with the immutability of the blockchain, uploads data (such as the aforementioned declaration data or identity expression data) to the chain to achieve decentralized data storage. Furthermore, by leveraging the data clearing capabilities of holding nodes to perform data flow and set visible node identifiers (such as the aforementioned first visible node identifier and second visible node identifier), it effectively protects the secure flow of data among the issuing node, holding node, and verification node, ensuring that only designated nodes can access the data, effectively reducing the risk of data leakage and improving data security.
基于上述描述的基于区块链网络的数据处理方案,本申请实施例提出更为详细的基于区块链网络的数据处理方法,下面将结合附图对本申请实施例提出的基于区块链网络的数据处理方法进行详细介绍。Based on the data processing scheme based on the blockchain network described above, this application proposes a more detailed data processing method based on the blockchain network. The data processing method based on the blockchain network proposed in this application will be described in detail below with reference to the accompanying drawings.
请参见图2,图2示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理方法的流程示意图;该数据处理方法可以由图1d所示系统中的持有节点104来执行,该数据处理方法包括但不限于步骤S201-S204:Please refer to Figure 2, which shows a flowchart illustrating a data processing method based on a blockchain network according to an exemplary embodiment of this application; this data processing method can be executed by the holding node 104 in the system shown in Figure 1d, and the data processing method includes, but is not limited to, steps S201-S204:
S201:向区块链网络的共识节点发送第一数据清分请求,并接收共识节点响应于第一数据清分请求而返回的与区块链网络中持有节点相关的声明数据。S201: Send a first data clearing request to the consensus node of the blockchain network and receive the declaration data related to the holding node in the blockchain network returned by the consensus node in response to the first data clearing request.
第一数据清分请求用于请求从共识节点中清分与持有节点相关的声明数据;所谓与持有节点相关的声明数据是指可验证声明(Verifiable Claims,VC),是由发行节点根据持有节点对应的对象标识对持有节点的属性背书形成的声明文件;例如,在学历认证场景中,发行节点可是指学校所使用的节点,声明数据是指学校根据学生的身份标识DID(如学生ID、编号等)所签发的学历证书。具体地,第一数据清分请求中可携带持有节点对应的对象标识,这样共识节点响应于第一数据清分请求,可根据第一数据清分请求所携带的身份标识DID从区块链中清分与持有节点相关的声明数据;其中,持有节点对应的对象标识可是指使用持有节点进行声明申请的目标用户的身份标识DID,是一种身份标识符,用于代表目标用户的身份;身份标识符可是由多个字符组成的字符串,字符可包括以下至少一种:中文字符(即汉字)、英文字符(即字母)、数字和标点符号(如逗号“,”、句号“。”、方括号“【】”)。The first data clearing request is used to request the clearing of claim data related to the holding node from the consensus node. Claim data related to the holding node refers to verifiable claims (VCs), which are claim documents formed by the issuing node endorsing the attributes of the holding node based on the object identifier corresponding to the holding node. For example, in an academic qualification verification scenario, the issuing node can refer to the node used by the school, and the claim data refers to the academic certificate issued by the school based on the student's identity identifier DID (such as student ID, number, etc.). Specifically, the first data clearing request can carry the object identifier corresponding to the holding node. In response to the first data clearing request, the consensus node can clear the claim data related to the holding node from the blockchain based on the identity identifier DID carried in the first data clearing request. The object identifier corresponding to the holding node can refer to the identity identifier DID of the target user who used the holding node to make the claim application; it is an identity identifier used to represent the identity of the target user. The identity identifier can be a string composed of multiple characters, which can include at least one of the following: Chinese characters (i.e., 汉字), English characters (i.e., letters), numbers, and punctuation marks (such as commas ",", periods ".", square brackets "【】").
S202:根据声明数据生成持有节点对应的身份表达数据。S202: Generate identity representation data corresponding to the holding node based on the declared data.
S203:设置能够访问身份表达数据的第一可见节点标识。S203: Set the identifier of the first visible node that can access the identity representation data.
步骤S202-S203中,身份表达数据可是指可验证表达(Verifiable Presentation,VP),是由持有节点根据声明数据生成的,用于表示持有节点的身份的一种数据。具体地,持有节点在从共识节点中清分得到声明数据后,可对该声明数据进行签名以生成持有节点对应的身份表达数据。其中,对声明数据进行签名可是指对声明数据进行数字签名,所谓数字签名是只有信息发送者(如持有节点)才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息发送者发送的信息的真实性的一个有效证明。数字签名的方法可包括但不限于:HASH算法(如信息摘要(Message-Digest,MD)、安全散列算法(SecureHashAlgorithm,SHA)、Digital Signature Algorithm(DSA)、ECDSA(Elliptic Cur veDigital Signature Algorithm)、椭圆曲线数字签名算法等;本申请实施例对具体采用哪种数字签名算法对声明数据进行签名不作限定,在此说明。In steps S202-S203, the identity expression data can refer to a verifiable presentation (VP), which is generated by the holding node based on the declaration data and is used to represent the identity of the holding node. Specifically, after obtaining the declaration data from the consensus node, the holding node can sign the declaration data to generate the identity expression data corresponding to the holding node. Signing the declaration data can refer to digitally signing the declaration data. A digital signature is a string of numbers that only the information sender (such as the holding node) can generate and that cannot be forged by others. This string of numbers also serves as valid proof of the authenticity of the information sent by the information sender. Digital signature methods can include, but are not limited to, HASH algorithms (such as Message-Digest (MD), Secure Hash Algorithm (SHA), Digital Signature Algorithm (DSA), ECDSA (Elliptic Curve Digital Signature Algorithm), Elliptic Curve Digital Signature Algorithm, etc.). This application embodiment does not limit the specific digital signature algorithm used to sign the declaration data; this is only a description of the specific algorithm used.
举例来说,在学历认证场景中对声明数据(如学生“小明”的学历证书)进行签名可包括:学生“小明”通过持有节点对学历证书进行签名,生成签名后的学历证书(即身份表达数据);由于签名后的学历证书中包含学生“小明”的数字签名,因此基于该签名后的学历证书可以有效证明该签名后的学历证书的真实性。For example, in an academic qualification verification scenario, signing declared data (such as student "Xiaoming's" academic certificate) may include: student "Xiaoming" signing the academic certificate through the holding node to generate a signed academic certificate (i.e., identity expression data); since the signed academic certificate contains student "Xiaoming's" digital signature, the authenticity of the signed academic certificate can be effectively proven based on the signed academic certificate.
本申请实施例还支持持有节点对身份表达数据进行可见性设置,所谓可见性设置可简单理解为持有节点设置能够访问身份表达数据的节点标识的过程。在身份认证场景中,持有节点(具体是使用持有节点的目标用户)能够设置不同的节点具有访问身份表达数据的权限;例如,在学历认证场景中,如果学生“小明”希望招聘单位A、招聘单位B能够访问自己签名后的学历证书,而希望招聘单位C不能访问自己签名后的学历证书,则学生“小明”可以设置能够访问签名后的学历证书的第一可见节点标识为招聘单位A和招聘单位B对应的节点标识。通过对身份表达数据的可见性设置,使得只有指定的节点才能访问到身份表达数据,较大程度的减小身份表达数据的泄露风险,提高数据的安全性。This application also supports the holding node to set visibility of identity representation data. Visibility setting can be simply understood as the process by which the holding node sets the node identifiers that can access the identity representation data. In identity authentication scenarios, the holding node (specifically, the target user using the holding node) can set different nodes to have access permissions to the identity representation data. For example, in an academic qualification authentication scenario, if student "Xiaoming" wants employers A and B to be able to access his signed academic certificate, but wants employer C to be unable to access it, then student "Xiaoming" can set the first visible node identifiers that can access the signed academic certificate to the node identifiers corresponding to employers A and B. By setting the visibility of identity representation data, only specified nodes can access the identity representation data, greatly reducing the risk of identity representation data leakage and improving data security.
S204:将身份表达数据及第一可见节点标识存储至区块链网络的区块链。S204: A blockchain that stores identity representation data and the identifier of the first visible node in the blockchain network.
具体地,可以基于身份表达数据和第一可见节点标识生成表达交易数据,再将表达交易数据发送至区块链网络中的共识节点,以使共识节点基于表达交易数据生成区块,并将该区块添加至区块链中,实现将身份表达数据和第一可见节点标识存储至区块链网络的区块链中。需要说明的是,本申请实施例支持设置多个能够访问身份表达数据的第一可见节点标识,这样本申请实施例提供的表达交易数据中可包括可见列表,可见列表中包含能够访问身份表达数据的一个或多个第一可见节点标识;当存在访问身份表达数据的访问请求时,共识节点可以根据表达交易数据中包含的可见列表来对可见列表进行标识命中处理,以检测发送该访问请求的访问节点是否具有访问身份表达数据的权限,如果可见列表中包含发送该访问请求的访问节点的节点标识,则确定访问节点具有访问身份表达数据的权限,并将包含身份表达数据的表达交易数据发送至访问节点;反之,如果可见列表中不包含发送该访问请求的访问节点的节点标识,则确定访问节点不具有访问身份表达数据的权限。Specifically, expression transaction data can be generated based on identity expression data and the first visible node identifier. This expression transaction data is then sent to a consensus node in the blockchain network, enabling the consensus node to generate a block based on the expression transaction data and add the block to the blockchain. This achieves the storage of identity expression data and the first visible node identifier in the blockchain network. It should be noted that this application embodiment supports setting multiple first visible node identifiers capable of accessing the identity expression data. Thus, the expression transaction data provided in this application embodiment may include a visibility list containing one or more first visible node identifiers capable of accessing the identity expression data. When an access request for accessing the identity expression data exists, the consensus node can perform an identifier matching process on the visibility list contained in the expression transaction data to detect whether the accessing node sending the access request has permission to access the identity expression data. If the visibility list contains the node identifier of the accessing node sending the access request, it is determined that the accessing node has permission to access the identity expression data, and the expression transaction data containing the identity expression data is sent to the accessing node. Conversely, if the visibility list does not contain the node identifier of the accessing node sending the access request, it is determined that the accessing node does not have permission to access the identity expression data.
一种示例性的通过从可见列表中判断是否包含访问节点的节点标识来判断访问节点是否访问身份表达数据的示例性过程可参见图3,如图3所示,可见列表301中包含第一可见节点标识1、第一可见节点标识2、……、第一可见节点标识N,N为大于2的整数;共识节点102接收到访问节点302发送的访问身份表达数据的访问请求,则共识节点102可根据访问节点302的节点标识对可见列表301进行标识命中处理,具体地可遍历可见列表301;如果在遍历可见列表301中过程中存在访问节点302的节点标识,则确定访问节点302的节点标识为第一可见节点标识,表示访问节点302能够访问身份表达数据,并返回表达交易数据至访问节点302;反之,如果遍历完可见列表301未检测到任一第一可见节点标识与访问节点301的节点标识相同,则确定访问节点302不能访问身份表达数据。An exemplary process for determining whether an access node can access identity expression data by judging whether the node identifier of the access node is contained in the visible list can be seen in Figure 3. As shown in Figure 3, the visible list 301 contains first visible node identifier 1, first visible node identifier 2, ..., first visible node identifier N, where N is an integer greater than 2. When the consensus node 102 receives the access request for accessing identity expression data sent by the access node 302, the consensus node 102 can perform identifier matching processing on the visible list 301 according to the node identifier of the access node 302. Specifically, it can traverse the visible list 301. If the node identifier of the access node 302 exists during the traversal of the visible list 301, the node identifier of the access node 302 is determined to be the first visible node identifier, indicating that the access node 302 can access the identity expression data, and the expression transaction data is returned to the access node 302. Conversely, if no first visible node identifier is found to be the same as the node identifier of the access node 301 after traversing the visible list 301, it is determined that the access node 302 cannot access the identity expression data.
本申请实施例中,持有节点可以向共识节点发送第一数据清分请求,使得共识节点响应于第一数据清分请求从区块链中清分并返回与持有节点相关的声明数据;持有节点再基于声明数据生成身份表达数据,并将身份表达数据以及能够访问身份表达数据的第一可见节点标识一同存储至区块链网络的区块链中。上述方案中,持有节点相关的声明数据和身份表达数据均存储于区块链网络的区块链中,实现对声明数据和身份表达数据的去中心化存储,且通过持有节点的数据清分能力在区块链上进行声明数据和身份表达数据的数据流转过程和可见节点的设置,使得只有指定的节点才能对声明数据和身份表达数据进行访问,有效降低数据被泄露的风险,提高数据的安全性。In this embodiment, the holding node can send a first data clearing request to the consensus node, causing the consensus node to clear and return the claim data related to the holding node from the blockchain in response to the first data clearing request. The holding node then generates identity expression data based on the claim data and stores the identity expression data along with the identifier of the first visible node that can access the identity expression data in the blockchain of the blockchain network. In the above scheme, both the claim data and identity expression data related to the holding node are stored in the blockchain of the blockchain network, realizing decentralized storage of the claim data and identity expression data. Furthermore, the data clearing capability of the holding node enables the data flow process of the claim data and identity expression data and the setting of visible nodes on the blockchain, ensuring that only designated nodes can access the claim data and identity expression data, effectively reducing the risk of data leakage and improving data security.
请参见图4,图4示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理方法的流程示意图;该数据处理方法可以由图1d所示系统中的共识节点102来执行,该数据处理方法包括但不限于步骤S401-S403:Please refer to Figure 4, which shows a flowchart illustrating a data processing method based on a blockchain network according to an exemplary embodiment of this application; this data processing method can be executed by the consensus node 102 in the system shown in Figure 1d, and includes, but is not limited to, steps S401-S403:
S401:接收区块链网络中持有节点发送的第一数据清分请求。S401: Receive the first data clearing request sent by the holding node in the blockchain network.
S402:响应于第一数据清分请求清分得到与持有节点相关的声明数据,并将声明数据返回至持有节点。S402: In response to the first data clearing request, clear the claim data related to the holding node and return the claim data to the holding node.
正如前述所描述的,持有节点的节点类型为轻节点,则持有节点具有从共识网络中清分与自己相关的声明数据的数据清分能力;那么当使用持有节点的目标用户具有从区块链中获取声明数据的需求时,目标用户可通过持有节点向区块链网络中的共识节点发送第一数据清分请求,以便于共识节点响应第一数据清分请求清分并返回与持有节点相关的声明数据。需要说明的是,接收第一数据清分请求的共识节点可是指:区块链网络中与持有节点之间的距离最近的共识节点,这样可提高数据传输效率。或者,共识节点还可以是指:区块链网络中网络信号最高的节点,确保数据传输的快速性和稳定性。或者,共识节点还可以连接一个或多个轻节点,共识节点可以与连接的一个或多个轻节点之间进行直接或间接的信息通信,实现数据传输;在这种实现方式下,持有节点可以将第一数据清分请求发送至与共识节点连接的一个轻节点,进而通过该轻节点从共识节点中清分到与持有节点相关的声明数据;例如,共识节点连接有轻节点1,轻节点1连接有轻节点2,持有节点可以将第一数据清分请求发送至轻节点2,这样通过轻节点2以及轻节点1间接从共识节点中清分与持有节点相关的声明数据。本申请实施例对接收第一数据清分请求的共识节点具体为上述哪种情况不作限定,在此说明。As described above, if the holding node is a light node, it has the ability to clear the declared data associated with itself from the consensus network. Therefore, when a target user using the holding node needs to retrieve declared data from the blockchain, the target user can send a first data clearing request to a consensus node in the blockchain network through the holding node. The consensus node will then respond to the first data clearing request, clear the data, and return the declared data associated with the holding node. It should be noted that the consensus node receiving the first data clearing request can be the consensus node in the blockchain network that is closest to the holding node, thus improving data transmission efficiency. Alternatively, the consensus node can also be the node with the highest network signal in the blockchain network, ensuring the speed and stability of data transmission. Alternatively, the consensus node can connect to one or more light nodes. The consensus node can communicate directly or indirectly with these connected light nodes to achieve data transmission. In this implementation, the holding node can send a first data clearing request to a light node connected to the consensus node, and then clear the declared data related to the holding node from the consensus node through that light node. For example, if the consensus node is connected to light node 1, and light node 1 is connected to light node 2, the holding node can send the first data clearing request to light node 2, thus indirectly clearing the declared data related to the holding node from the consensus node through light node 2 and light node 1. This application embodiment does not limit the specific type of consensus node receiving the first data clearing request; this is only a description of the specific circumstances described above.
下面结合图5所示的数据清分处理的流程示意图,对从共识节点中清分得到与持有节点相关的声明数据的实现方式进行说明,如图5所示的下级节点为持有节点(或验证节点),上级节点为共识节点或与共识节点连接的轻节点;其中,数据清分处理的流程可包括:The following explanation, using the data clearing process flowchart shown in Figure 5, illustrates how to clear the declared data related to the holding node from the consensus node. As shown in Figure 5, the lower-level node is the holding node (or verification node), and the upper-level node is the consensus node or a light node connected to the consensus node. The data clearing process may include:
①接收持有节点发送的第一数据清分请求,该第一数据清分请求用于请求清分与持有节点相关的声明数据,该第一数据清分请求中包括持有节点期望同步的待处理区块的待处理区块高度h1,h1为大于零的整数;该待处理区块高度h1,是持有节点当前所包含的区块链的最高区块高度h0加1得到的。在具体实现中,持有节点中包含的子区块链与共识节点所包含的区块链并不相同,持有节点所包含的区块链中只存储有与持有节点相关的部分数据,而共识节点所包含的区块链中存储有区块链网络中的全量数据,这样持有节点期望同步的待处理区块往往是持有节点所包含的子区块链中未同步的下一个区块;例如,持有节点所包含的子区块链的当前最高区块高度为5,则持有节点所期望同步的待处理区块的待处理区块高度h1=6。① Receive a first data clearing request sent by the holding node. This first data clearing request is used to request the clearing of declaration data related to the holding node. The first data clearing request includes the unprocessed block height h1 of the unprocessed block that the holding node expects to synchronize, where h1 is a positive integer. The unprocessed block height h1 is obtained by adding 1 to the highest block height h0 of the blockchain currently contained by the holding node. In specific implementations, the sub-blockchains contained by the holding node are not the same as the blockchain contained by the consensus node. The blockchain contained by the holding node only stores a portion of the data related to the holding node, while the blockchain contained by the consensus node stores all the data in the blockchain network. Thus, the unprocessed block that the holding node expects to synchronize is often the next unsynchronized block in the sub-blockchain contained by the holding node. For example, if the current highest block height of the sub-blockchain contained by the holding node is 5, then the unprocessed block height h1 of the unprocessed block that the holding node expects to synchronize is 6.
②共识节点接收第一数据清分请求,响应于第一数据清分请求,获取区块链的最高区块高度H1,H1为大于1的整数;根据待处理区块高度h1与获取得到的最高区块高度H1,对区块链进行数据清分处理,得到与持有节点相关的声明数据。详细地,共识节点比较待处理区块高度h1与获取得到的最高区块高度H1之间是否满足高度条件;其中,待处理区块高度h1与最高区块高度H1之间满足高度条件是指:若共识节点的节点类型为轻节点,即与共识节点连接的轻节点接收了第一数据清分请求,则待处理区块高度h1小于等于最高区块高度H1;或者,若共识节点的节点类型为全节点,即共识节点本身接收到第一数据清分请求,则待处理区块高度h1小于最高区块高度H1。② The consensus node receives the first data clearing request and, in response, obtains the highest block height H1 of the blockchain, where H1 is an integer greater than 1. Based on the block height h1 to be processed and the obtained highest block height H1 , the node performs data clearing processing on the blockchain to obtain the declaration data related to the holding node. Specifically, the consensus node compares whether the block height h1 to be processed and the obtained highest block height H1 satisfy a height condition. This height condition means that: if the consensus node's node type is a light node (i.e., a light node connected to the consensus node receives the first data clearing request ) , then the block height h1 to be processed is less than or equal to the highest block height H1 ; or, if the consensus node's node type is a full node (i.e., the consensus node itself receives the first data clearing request), then the block height h1 to be processed is less than the highest block height H1 .
其中,若待处理区块高度h1与获取得到的最高区块高度H1之间不满足高度条件,表示持有节点请求的待处理区块的待处理区块高度太高,即共识节点所包含的区块链中还未同步到待处理区块高度对应的待处理区块,则返回通知消息至持有节点,以提示持有节点未同步到待处理区块高度对应的待处理区块。若待处理区块高度h1与获取得到的最高区块高度H1之间满足高度条件,表示共识节点所包含的区块链中已经同步待处理区块高度对应的待处理区块,则从区块链中获取待处理区块高度对应的待处理区块,并对待处理区块所包含的第一候选交易数据进行可见性检测,得到第一可见性检测结果。其中,对待处理区块所包含的第一候选交易数据进行可见性检测可包括:查询与第一候选交易数据对应的智能合约,该智能合约中包含IsReadable函数,用于对第一候选交易数据进行可见性检测;调用IsReadable函数在第一候选交易数据所包含的可见列表中进行标识命中处理,以检测可见列表中是否包含持有节点的节点标识;并根据标识命中处理的命中结果以及该第一候选交易数据所包含的数据,生成第一可见性检测结果。If the height h1 of the block to be processed does not meet the height condition with the highest obtained block height H1 , it means that the height of the block to be processed requested by the holding node is too high, i.e., the blockchain contained in the consensus node has not yet synchronized the block to be processed corresponding to the height of the block to be processed. In this case, a notification message is returned to the holding node to indicate that the holding node has not synchronized the block to be processed corresponding to the height of the block to be processed. If the height h1 of the block to be processed meets the height condition with the highest obtained block height H1 , it means that the blockchain contained in the consensus node has already synchronized the block to be processed corresponding to the height of the block to be processed. In this case, the block to be processed corresponding to the height of the block to be processed is obtained from the blockchain, and visibility detection is performed on the first candidate transaction data contained in the block to be processed to obtain the first visibility detection result. The visibility detection of the first candidate transaction data contained in the block to be processed may include: querying the smart contract corresponding to the first candidate transaction data, which contains the IsReadable function for performing visibility detection on the first candidate transaction data; calling the IsReadable function to perform identifier hit processing in the visible list contained in the first candidate transaction data to detect whether the visible list contains the node identifier of the holding node; and generating a first visibility detection result based on the hit result of the identifier hit processing and the data contained in the first candidate transaction data.
③判断第一可见性检测结果是否满足可见条件。其中,第一可见性检测结果满足可见条件包括:持有节点能够访问第一候选交易数据,即第一候选交易数据中的可见列表中包含持有节点的节点标识,且第一候选交易数据中包含的数据为声明数据。第一可见性检测结果不满足可见条件包括:持有节点不能够访问第一候选交易数据,即第一候选交易数据中的可见列表中不包含持有节点的节点标识;或者,持有节点能够访问第一候选交易数据,且第一候选交易数据中不包含声明数据;或者,智能合约中不包含IsReadable函数;或者,调用IsReadable函数的过程中出现异常;等等;本申请实施例对第一可见性检测结果不满足可见条件的具体情况不作限定。③ Determine whether the first visibility detection result meets the visibility conditions. The first visibility detection result meeting the visibility conditions includes: the holding node can access the first candidate transaction data, that is, the visible list of the first candidate transaction data contains the node identifier of the holding node, and the data contained in the first candidate transaction data is declaration data. The first visibility detection result not meeting the visibility conditions includes: the holding node cannot access the first candidate transaction data, that is, the visible list of the first candidate transaction data does not contain the node identifier of the holding node; or, the holding node can access the first candidate transaction data, and the first candidate transaction data does not contain declaration data; or, the smart contract does not contain the IsReadable function; or, an exception occurs during the call to the IsReadable function; etc. This application embodiment does not limit the specific circumstances under which the first visibility detection result does not meet the visibility conditions.
其中,若第一可见性检测结果满足可见条件,则将第一候选交易数据确定为与持有节点相关的声明数据,并将第一候选交易数据返回至持有节点。反之,若第一可见性检测结果不满足可见条件,则查询第一候选交易数据不能被持有节点访问的不可见原因,当不可见原因为:所述第一候选交易数据中不包含持有节点的节点标识时,表示持有节点未被设置为能够访问第一候选交易数据的节点,或者,不可见原因为:持有节点能够访问第一候选交易数据,且第一候选交易数据中不包含声明数据时,或者,不可见原因为:智能合约中不包含IsReadable函数;则令新的待处理区块高度h1=h1+1,并获取区块链网络中更新后的区块链的最高区块高度H2,H2为大于1的整数,若新的待处理区块高度h1与区块高度H2之间满足高度条件,则继续执行根据新的待处理区块高度h1与区块高度H2,进行数据清分处理得到与持有节点相关的声明数据的步骤。当不可见原因为:调用IsReadable函数的过程中出现异常;或其他原因时,终止数据清分处理,并向持有节点发送报错通知,该报错通知用于通知持有节点当前数据清分处理出现异常,需修复后重试。If the first visibility detection result meets the visibility condition, the first candidate transaction data is determined as the claim data related to the holding node, and the first candidate transaction data is returned to the holding node. Conversely, if the first visibility detection result does not meet the visibility condition, the reason why the first candidate transaction data cannot be accessed by the holding node is queried. When the reason for invisibility is: the first candidate transaction data does not contain the node identifier of the holding node, it means that the holding node has not been set as a node that can access the first candidate transaction data; or, the reason for invisibility is: the holding node can access the first candidate transaction data, and the first candidate transaction data does not contain declaration data; or, the reason for invisibility is: the smart contract does not contain the IsReadable function. Then, the new block height h1 = h1 + 1 is set, and the highest block height H2 of the updated blockchain in the blockchain network is obtained, where H2 is an integer greater than 1. If the new block height h1 and the block height H2 meet the height condition, the step of performing data clearing processing based on the new block height h1 and the block height H2 to obtain the declaration data related to the holding node is continued. When the data becomes invisible due to an exception during the IsReadable function call or other reasons, the data clearing process is terminated, and an error notification is sent to the holding node. This error notification informs the holding node that the current data clearing process has encountered an exception and needs to be repaired before retrying.
通过上述步骤①-③所示的具体实现过程,持有节点可从共识节点中清分得到与持有节点相关的声明数据;这种利用轻节点SPV(如持有节点)的数据清分能力从共识节点中只清分与持有节点相关的数据(如声明数据)的方式,在一定程度上确保不能被持有节点访问的数据的安全性,且减少持有节点对不相关的数据的存储,降低存储压力。Through the specific implementation process shown in steps ①-③ above, the holding node can obtain the declaration data related to the holding node from the consensus node. This method of using the data clearing capability of the light node SPV (such as the holding node) to clear only the data (such as the declaration data) related to the holding node from the consensus node, to a certain extent, ensures the security of data that cannot be accessed by the holding node, and reduces the storage of unrelated data by the holding node, thereby reducing storage pressure.
S403:接收持有节点发送的第一存储请求,并响应于第一存储请求将第一存储请求中包含的身份表达数据和第一可见节点标识,存储至区块链网络的区块链。S403: Receive the first storage request sent by the holding node, and in response to the first storage request, store the identity representation data and the first visible node identifier contained in the first storage request to the blockchain of the blockchain network.
具体地,第一存储请求中携带持有节点产生的身份表达数据和设置的能够访问身份表达数据的第一可见节点标识,并对身份表达数据和第一可见节点标识进行共识,此处的共识可是对身份表达数据的正确性进行校验,如校验身份表达数据是否是持有节点签名生成的、校验身份表达数据是否满足法律道德要求等等;并在共识成功后生成新的区块,并将该新的区块添加至区块链中,实现将身份表达数据和第一可见节点标识存储至区块链网络的区块链中,提高身份表达数据和第一可见节点标识的存储和流转的安全性。Specifically, the first storage request carries identity representation data generated by the holding node and a first visible node identifier that can access the identity representation data. Consensus is reached on the identity representation data and the first visible node identifier, which verifies the correctness of the identity representation data, such as whether the identity representation data was generated by the holding node's signature or whether it meets legal and ethical requirements. After successful consensus, a new block is generated and added to the blockchain, thus storing the identity representation data and the first visible node identifier in the blockchain network, improving the security of the storage and transfer of these data.
本申请实施例中,共识节点可接收持有节点发送的第一数据清分请求,并响应第一数据清分请求从区块链中清分与持有节点相关的声明数据,这避免将与持有节点不相关的数据清分至持有节点,维护区块链中存储的数据的安全性,也减少持有节点的存储压力;共识节点还可以接收持有节点发送的第一存储请求,并在对第一存储请求中携带的身份表达数据共识成功后,将身份表达数据和第一可见节点标识生成区块,添加至区块链中,这种将身份表达数据和第一可见节点标识存储区块链的方式可提高身份表达数据和第一可见节点标识的安全性。In this embodiment, the consensus node can receive a first data clearing request sent by the holding node and, in response to the first data clearing request, clear the declaration data related to the holding node from the blockchain. This avoids clearing data unrelated to the holding node to the holding node, maintains the security of the data stored in the blockchain, and reduces the storage pressure on the holding node. The consensus node can also receive a first storage request sent by the holding node, and after successfully reaching consensus on the identity expression data carried in the first storage request, generate a block by the identity expression data and the first visible node identifier and add it to the blockchain. This method of storing the identity expression data and the first visible node identifier in the blockchain can improve the security of the identity expression data and the first visible node identifier.
请参见图6,图6示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理方法的流程示意图;该数据处理方法可以由图1d所示系统中的共识节点102、发行节点103、持有节点104以及验证节点105共同执行,该数据处理方法包括但不限于步骤S601-S613:Please refer to Figure 6, which shows a flowchart of a data processing method based on a blockchain network provided by an exemplary embodiment of this application; the data processing method can be jointly executed by the consensus node 102, issuing node 103, holding node 104, and verification node 105 in the system shown in Figure 1d, and the data processing method includes, but is not limited to, steps S601-S613:
S601:持有节点向区块链网络中的发行节点发送声明申请请求。S601: The holding node sends a claim request to the issuing node in the blockchain network.
S602:发行节点响应声明申请请求执行响应处理。S602: Issuing node responds to statement request and executes response processing.
S603:发行节点向共识节点发送第二存储请求。S603: The issuing node sends a second storage request to the consensus node.
步骤S601-S603中,当使用持有节点的目标用户具有申请声明数据的需求时,目标用户可通过持有节点向发行节点发送声明申请请求,以便于发行节点依据声明申请请求执行响应处理,以生成持有节点对应的声明数据,并将声明数据存储至区块链。其中,声明申请请求中包含待申请声明数据的持有节点对应的对象标识和候选对象数据,此处的候选对象数据可是指使用持有节点进行声明申请的目标用户的身份信息,如用户姓名、用户性别、用户年龄等相关信息。In steps S601-S603, when a target user using a holding node needs to apply for declaration data, the target user can send a declaration application request to the issuing node through the holding node. The issuing node then performs a response process based on the declaration application request to generate the declaration data corresponding to the holding node and store the declaration data in the blockchain. The declaration application request includes the object identifier corresponding to the holding node for which the declaration data is to be applied and candidate object data. Here, the candidate object data may refer to the identity information of the target user using the holding node to make the declaration application, such as the user's name, gender, age, and other relevant information.
具体地,发行节点响应声明申请请求的响应处理流程可包括:首先,根据声明申请请求对持有节点进行身份校验处理,得到身份校验结果;此处的身份校验处理的过程可简单包括:由发行节点向共识节点发送身份查询请求,该身份查询请求中携带持有节点对应的对象标识,共识节点响应身份查询请求查询并返回与对象标识关联的参考对象数据,这样发行节点可接收共识节点返回的与对象标识关联的参考对象数据,再将参考对象数据与候选对象数据进行比较,得到身份校验结果;若参考对象数据与候选对象数据相匹配,则确定身份校验结果为身份校验成功,反之,若参考对象数据与候选对象数据不匹配,则确定身份校验结果为身份校验失败。其次,若身份校验结果为身份校验成功,表明发行节点对持有节点的身份校验成功,则生成持有节点对应的声明数据,并设置能够访问声明数据的第二可见节点标识;其中,发行节点包含公钥基础设施(Public Key Infrastructure,PKI),能够将相关秘钥对和证书持有者的身份相互绑定,以为用户提供方便的相关证书管理的功能,基于此,发行节点可采用PKI为持有节点签发声明数据。最后,发行节点将声明数据和第二可见节点标识存储至区块链;具体地,在发行节点为持有节点签发声明数据和设置能够访问声明数据的第二可见节点标识后,发行节点可以基于声明数据和第二可见节点标识生成第二存储请求,并将该第二存储请求发送至共识节点,以便于共识节点对声明数据和第二可见节点标识存储至区块链中。Specifically, the response process for an issuing node to a claim application request may include: First, performing identity verification on the holding node according to the claim application request to obtain an identity verification result. This identity verification process can be simplified as follows: the issuing node sends an identity query request to the consensus node, carrying the object identifier corresponding to the holding node. The consensus node responds to the identity query request by querying and returning reference object data associated with the object identifier. The issuing node then receives the reference object data returned by the consensus node and compares it with candidate object data to obtain the identity verification result. If the reference object data matches the candidate object data, the identity verification result is determined to be successful; otherwise, if the reference object data does not match the candidate object data, the identity verification result is determined to be unsuccessful. Secondly, if the identity verification result is successful, it indicates that the issuing node has successfully verified the identity of the holding node. The issuing node then generates claim data corresponding to the holding node and sets a second visible node identifier that can access the claim data. The issuing node includes Public Key Infrastructure (PKI), which binds relevant key pairs to the identity of the certificate holder, providing users with convenient certificate management functions. Based on this, the issuing node can use PKI to issue claim data to the holding node. Finally, the issuing node stores the claim data and the second visible node identifier in the blockchain. Specifically, after the issuing node issues claim data to the holding node and sets a second visible node identifier that can access the claim data, the issuing node can generate a second storage request based on the claim data and the second visible node identifier and send this second storage request to the consensus node, so that the consensus node can store the claim data and the second visible node identifier in the blockchain.
S604:共识节点响应于第二存储请求将声明数据和第二可见节点标识存储至区块链。S604: The consensus node responds to the second storage request by storing the declared data and the second visible node identifier into the blockchain.
共识节点在接收到发行节点发送的第二存储请求后,响应于第二存储请求对第二存储请求中携带的声明数据和第二可见节点标识进行共识,并在共识成功后基于声明数据和第二可见节点标识生成新的区块,并将新的区块添加至区块链中,实现对声明数据和第二可见节点标识的上链存储,提高声明数据和第二可见节点标识的存储和流转的安全性。其中,共识节点对声明数据和第二可见节点标识进行共识是为了校验声明数据和第二可见节点标识的正确性,本申请实施例对具体的共识校验过程不作限定,在此说明。After receiving a second storage request from the issuing node, the consensus node responds by reaching a consensus on the declared data and the second visible node identifier carried in the second storage request. Upon successful consensus, a new block is generated based on the declared data and the second visible node identifier, and this new block is added to the blockchain. This achieves on-chain storage of the declared data and the second visible node identifier, improving the security of their storage and transfer. The consensus process for verifying the correctness of the declared data and the second visible node identifier is not limited in this embodiment, but is described herein.
S605:持有节点向共识节点发送第一数据清分请求。S605: The holding node sends the first data clearing request to the consensus node.
S606:共识节点响应于第一数据清分请求清分与持有节点相关的声明数据。S606: The consensus node responds to the first data clearing request by clearing the declared data related to the holding node.
S607:共识节点将清分得到的与持有节点相关的声明数据返回至持有节点。S607: The consensus node returns the cleared declaration data related to the holding node to the holding node.
S608:持有节点根据声明数据生成持有节点对应的身份表达数据,并设置能够访问身份表达数据的第一可见节点标识。S608: The holding node generates identity expression data corresponding to the holding node based on the declared data, and sets the first visible node identifier that can access the identity expression data.
S609:持有节点向共识节点发送第一存储请求。S609: The holding node sends the first storage request to the consensus node.
S610:共识节点响应于第一存储请求将身份表达数据和第一可见节点标识存储至区块链。S610: The consensus node responds to the first storage request by storing the identity representation data and the first visible node identifier to the blockchain.
需要说明的是,步骤S65-S610所示的具体实施过程可参见图2以及图4所示实施例中的具体实施过程的相关描述,在此不做赘述。It should be noted that the specific implementation process shown in steps S65-S610 can be found in the relevant descriptions of the specific implementation process in the embodiments shown in Figure 2 and Figure 4, and will not be repeated here.
S611:验证节点向共识节点发送第二数据清分请求。S611: The validator node sends a second data clearing request to the consensus node.
S612:共识节点响应于第二数据清分请求清分与验证节点相关的身份表达数据。S612: The consensus node responds to the second data clearing request by clearing the identity representation data associated with the verification node.
S613:共识节点将清分得到的身份表达数据返回至验证节点,以使验证节点根据身份表达数据对持有节点进行身份验证。S613: The consensus node returns the identity representation data obtained from the clearing to the verification node, so that the verification node can verify the identity of the holding node based on the identity representation data.
步骤S611-S613中,当验证节点就有获取持有节点的身份表达数据的需求时,如在学历认证场景中招聘单位往往具有获取学生“小明”的签名后的学历证书的需求,那么验证节点可以向共识节点发送第二数据清分请求,该第二数据清分请求用于请求与验证节点相关的身份表达数据。共识节点接收到验证节点发送的第二数据清分请求,并响应第二数据清分请求清分与验证节点相关的身份表达数据,并将身份表达数据返回至验证节点,具体是将身份表达数据和能够访问身份表达数据的第一可见节点标识(或基于身份表达数据和能够访问身份表达数据的第一可见节点标识生成的表达交易数据)返回至验证节点,这样验证节点可基于身份表达数据和能够访问身份表达数据的第一可见节点标识对持有节点进行身份验证。其中,共识节点依据第二数据清分请求进行数据清分处理的具体实现方式可参见图5所示数据清分处理的流程示意图,在此不做赘述。In steps S611-S613, when a verification node needs to obtain the identity representation data of the holding node (e.g., in an academic qualification verification scenario, a recruiting unit often needs to obtain the signed academic certificate of student "Xiaoming"), the verification node can send a second data clearing request to the consensus node. This second data clearing request is used to request the identity representation data related to the verification node. The consensus node receives the second data clearing request from the verification node, responds by clearing the identity representation data related to the verification node, and returns the identity representation data to the verification node. Specifically, it returns the identity representation data and the identifier of the first visible node that can access the identity representation data (or representation transaction data generated based on the identity representation data and the identifier of the first visible node that can access the identity representation data) to the verification node. In this way, the verification node can verify the identity of the holding node based on the identity representation data and the identifier of the first visible node that can access the identity representation data. The specific implementation method of the consensus node performing data clearing processing according to the second data clearing request can be seen in the flowchart of data clearing processing shown in Figure 5, and will not be elaborated here.
举例来说,在学历认证场景中,假设验证节点为招聘单位X,当招聘单位X具有邀请学生“小明”进行简历投递的需求时,招聘单位X可向共识节点发送第二数据清分请求,该第二数据清分请求中可携带学生“小明”的身份标识DID,这样共识节点可响应第二数据清分请求清分到学生“小明”签名后的学历证书(如身份表达数据),并将学历证书返回至招聘单位X,以便于招聘单位X校验学历证书的真实性。For example, in an academic qualification verification scenario, assuming the verification node is the hiring unit X, when hiring unit X needs to invite student "Xiaoming" to submit his resume, hiring unit X can send a second data clearing request to the consensus node. This second data clearing request can carry the student "Xiaoming's" identity identifier DID. In this way, the consensus node can respond to the second data clearing request to clear the academic qualification certificate (such as identity expression data) signed by student "Xiaoming" and return the academic qualification certificate to hiring unit X so that hiring unit X can verify the authenticity of the academic qualification certificate.
需要说明的是,当验证节点欲获取区块链中与自己相关的所有用户的身份表达数据时,验证节点发送的第二数据清分请求也可以携带全部用户的身份标识DID,或者第二数据清分请求中不携带任一用户的身份标识DID,而只携带验证节点的节点标识,这样共识节点可以返回区块链中存储的与验证节点相关的所有身份表达数据;具体第二数据清分请求中携带哪种或多种内容,本申请实施例对此不作限定。另外,验证节点具体根据身份表达数据进行身份验证的过程是与具体的身份认证场景相关的,本申请实施例对验证节点进行身份验证的过程不作限制,特在此说明。另外,验证节点是具有验证身份表达数据的需求的节点,这样区块链网络中的发行节点以及持有节点等均可以作为验证节点,本申请实施例对验证节点不作限定。It should be noted that when a validator node wants to obtain the identity representation data of all users related to itself in the blockchain, the second data clearing request sent by the validator node can carry the identity identifiers (DIDs) of all users, or the second data clearing request can not carry the identity identifiers (DIDs) of any user, but only carry the node identifier of the validator node. In this way, the consensus node can return all the identity representation data related to the validator node stored in the blockchain. This application embodiment does not limit which type or multiple types of content are carried in the second data clearing request. Furthermore, the specific process by which the validator node performs identity verification based on the identity representation data is related to the specific identity authentication scenario. This application embodiment does not limit the identity verification process of the validator node, and this is hereby explained. In addition, a validator node is a node that has the need to verify identity representation data; therefore, issuing nodes and holding nodes in the blockchain network can all act as validator nodes. This application embodiment does not limit the validator node.
本申请实施例中,发行节点在签发持有节点的声明数据后,可将声明数据上链至区块链中,这样持有节点可从区块链中去获取声明数据,并在对声明数据进去签名后将签名得到的身份表达数据上链至区块链,以便于验证节点从区块链中获取身份表达数据。上述方案中,持有节点相关的声明数据和身份表达数据均存储于区块链网络的区块链中,实现对声明数据和身份表达数据的去中心化存储,且通过持有节点的数据清分能力在区块链上进行声明数据和身份表达数据的数据流转过程和可见节点的设置,使得只有指定的节点才能对声明数据和身份表达数据进行访问,有效降低数据被泄露的风险,提高数据的安全性。In this embodiment, after issuing the claim data for the holding node, the issuing node can upload the claim data to the blockchain. The holding node can then retrieve the claim data from the blockchain, sign it, and upload the resulting identity expression data to the blockchain, allowing the verification node to retrieve the identity expression data from the blockchain. In this scheme, both the claim data and identity expression data related to the holding node are stored on the blockchain network, achieving decentralized storage. Furthermore, the data clearing capability of the holding node enables the data flow process of the claim data and identity expression data and the setting of visible nodes on the blockchain, ensuring that only designated nodes can access the claim data and identity expression data, effectively reducing the risk of data leakage and improving data security.
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方法,相应地,下面提供了本申请实施例的装置。The methods of the embodiments of this application have been described in detail above. In order to facilitate better implementation of the methods of the embodiments of this application, the apparatus of the embodiments of this application is provided below.
图7示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理装置的结构示意图,该基于区块链网络的数据处理装置可以是运行于持有节点中的一个计算机程序(包括程序代码);该基于区块链网络的数据处理装置可以用于执行图2、图6所示的方法实施例中的部分或全部步骤,该基于区块链网络的数据处理装置包括如下单元:Figure 7 shows a schematic diagram of a data processing device based on a blockchain network according to an exemplary embodiment of this application. The data processing device can be a computer program (including program code) running on a holding node. The data processing device can be used to execute some or all of the steps in the method embodiments shown in Figures 2 and 6. The data processing device includes the following units:
发送单元701,用于向区块链网络的共识节点发送第一数据清分请求,并接收共识节点响应于第一数据清分请求而返回的与区块链网络中持有节点相关的声明数据;The sending unit 701 is used to send a first data clearing request to the consensus node of the blockchain network and receive the declaration data related to the holding node in the blockchain network returned by the consensus node in response to the first data clearing request.
处理单元702,用于根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份;Processing unit 702 is used to generate identity expression data corresponding to the holding node based on the declaration data, and the identity expression data is used to indicate the identity of the holding node;
处理单元702,还用于设置能够访问身份表达数据的第一可见节点标识;The processing unit 702 is also used to set the first visible node identifier that can access the identity expression data;
处理单元702,还用于将身份表达数据及可见节点标识存储至区块链网络的区块链。The processing unit 702 is also used to store identity expression data and visible node identifiers to the blockchain of the blockchain network.
在一种实现方式中,处理单元702用于根据声明数据生成持有节点对应的身份表达数据时,具体用于:In one implementation, when processing unit 702 generates identity representation data corresponding to the holding node based on the declaration data, it is specifically used for:
对声明数据进行签名生成持有节点对应的身份表达数据。Sign the declared data to generate identity representation data corresponding to the holding node.
在一种实现方式中,处理单元702,还用于:In one implementation, the processing unit 702 is further configured to:
向区块链网络的发行节点发送声明申请请求,使发行节点依据声明申请请求执行响应处理,以将声明数据存储至区块链。Send a claim request to the issuing node of the blockchain network, and the issuing node will execute a response process based on the claim request to store the claim data in the blockchain.
在一种实现方式中,声明申请请求中携带持有节点对应的对象标识以及候选对象数据;响应处理的流程包括:In one implementation, the declaration request carries the object identifier corresponding to the holding node and candidate object data; the response processing flow includes:
根据声明申请请求对持有节点进行身份校验处理,得到身份校验结果;Based on the declaration application request, the identity verification process of the holding node is performed to obtain the identity verification result;
若身份校验结果为身份校验成功,则生成持有节点对应的声明数据,并设置能够访问声明数据的第二可见节点标识;If the identity verification result is successful, then the declaration data corresponding to the holding node is generated, and the second visible node identifier that can access the declaration data is set.
将声明数据和第二可见节点标识存储至区块链。Store the declared data and the second visible node identifier in the blockchain.
在一种实现方式中,身份校验处理的流程,包括:In one implementation, the identity verification process includes:
由发行节点向共识节点发送身份查询请求,身份查询请求中携带持有节点对应的对象标识;The issuing node sends an identity query request to the consensus node, and the identity query request carries the object identifier corresponding to the holding node;
接收共识节点返回的与对象标识关联的参考对象数据;Receive reference object data associated with the object identifier returned by the consensus node;
将参考对象数据与候选对象数据进行比较,得到身份校验结果。The identity verification result is obtained by comparing the reference object data with the candidate object data.
在一种实现方式中,处理单元702用于将身份表达数据及第一可见节点标识存储至区块链时,具体用于:In one implementation, when the processing unit 702 stores the identity representation data and the first visible node identifier into the blockchain, it is specifically used for:
基于身份表达数据和第一可见节点标识生成表达交易数据;Generate expression transaction data based on identity expression data and the identifier of the first visible node;
将表达交易数据发送至共识节点,以使共识节点基于表达交易数据生成区块,并将区块添加至区块链中。The transaction data is sent to the consensus node, which then generates a block based on the transaction data and adds the block to the blockchain.
根据本申请的一个实施例,图7所示的基于区块链网络的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该基于区块链网络的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2、图6所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的基于区块链网络的数据处理装置,以及来实现本申请实施例的基于区块链网络的数据处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。According to one embodiment of this application, the various units in the blockchain-based data processing device shown in FIG. 7 can be individually or entirely merged into one or more other units, or some of the units can be further divided into multiple functionally smaller units. This can achieve the same operation without affecting the technical effect of the embodiment of this application. The above-mentioned units are based on logical function division. In practical applications, the function of one unit can also be implemented by multiple units, or the function of multiple units can be implemented by one unit. In other embodiments of this application, the blockchain-based data processing device may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented by multiple units working together. According to another embodiment of this application, the blockchain-based data processing device shown in FIG. 7 and the blockchain-based data processing method of the embodiment of this application can be implemented by running a computer program (including program code) capable of executing the steps involved in the corresponding methods shown in FIG. 2 and FIG. 6 on a general-purpose computing device, such as a computer, which includes processing elements and storage elements such as a central processing unit (CPU), random access storage medium (RAM), and read-only storage medium (ROM). Computer programs can be recorded on, for example, a computer-readable recording medium, loaded onto the aforementioned computing device via the computer-readable recording medium, and run therein.
本申请实施例中,发送单元701用于可以向共识节点发送第一数据清分请求,使得共识节点响应于第一数据清分请求从区块链中清分并返回与持有节点相关的声明数据;处理单元702再基于声明数据生成身份表达数据,并将身份表达数据以及能够访问身份表达数据的第一可见节点标识一同存储至区块链网络的区块链中。上述方案中,持有节点相关的声明数据和身份表达数据均存储于区块链网络的区块链中,实现对声明数据和身份表达数据的去中心化存储,且通过持有节点的数据清分能力在区块链上进行声明数据和身份表达数据的数据流转和可见节点的设置,使得只有指定的可见节点才能对声明数据和身份表达数据进行访问,有效降低数据被泄露的风险,提高数据的安全性。In this embodiment, the sending unit 701 is configured to send a first data clearing request to the consensus node, causing the consensus node to clear the data from the blockchain and return the declaration data related to the holding node in response to the first data clearing request. The processing unit 702 then generates identity expression data based on the declaration data and stores the identity expression data and the identifier of the first visible node that can access the identity expression data together in the blockchain of the blockchain network. In the above scheme, both the declaration data and the identity expression data related to the holding node are stored in the blockchain of the blockchain network, realizing decentralized storage of the declaration data and the identity expression data. Furthermore, the data flow of the declaration data and the identity expression data and the setting of visible nodes are carried out on the blockchain through the data clearing capability of the holding node, so that only the designated visible nodes can access the declaration data and the identity expression data, effectively reducing the risk of data leakage and improving data security.
图8示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理装置的结构示意图,该基于区块链网络的数据处理装置可以是运行于持有节点中的一个计算机程序(包括程序代码);该基于区块链网络的数据处理装置可以用于执行图4、图6所示的方法实施例中的部分或全部步骤,该基于区块链网络的数据处理装置包括如下单元:Figure 8 shows a schematic diagram of a data processing device based on a blockchain network according to an exemplary embodiment of this application. The data processing device can be a computer program (including program code) running on a holding node. The data processing device can be used to execute some or all of the steps in the method embodiments shown in Figures 4 and 6. The data processing device includes the following units:
接收单元801,用于接收区块链网络中持有节点发送的第一数据清分请求,第一数据清分请求用于请求清分与持有节点相关的声明数据;The receiving unit 801 is used to receive a first data clearing request sent by a holding node in the blockchain network. The first data clearing request is used to request the clearing of the declaration data related to the holding node.
处理单元802,用于响应于第一数据清分请求清分得到与持有节点相关的声明数据,并将声明数据返回至持有节点,以使持有节点根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份,以及设置能够访问身份表达数据的第一可见节点标识;The processing unit 802 is configured to clear the declaration data related to the holding node in response to the first data clearing request, and return the declaration data to the holding node so that the holding node can generate identity expression data corresponding to the holding node based on the declaration data. The identity expression data is used to indicate the identity of the holding node and to set the first visible node identifier that can access the identity expression data.
处理单元802,还用于接收持有节点发送的第一存储请求,并响应于第一存储请求,将第一存储请求中包含的身份表达数据和第一可见节点标识,存储至区块链网络的区块链。The processing unit 802 is also configured to receive a first storage request sent by the holding node, and in response to the first storage request, store the identity expression data and the first visible node identifier contained in the first storage request into the blockchain of the blockchain network.
在一种实现方式中,第一数据清分请求中包括持有节点期望同步的待处理区块的待处理区块高度h1,h1为大于零的整数;处理单元802用于响应于第一数据清分请求清分得到与持有节点相关的声明数据时,具体用于:In one implementation, the first data clearing request includes the block height h1 of the block to be processed that the holding node expects to synchronize, where h1 is a positive integer; the processing unit 802 is used to clear the declaration data related to the holding node in response to the first data clearing request, specifically for:
获取区块链的最高区块高度H1,H1为大于1的整数;Get the highest block height H1 of the blockchain, where H1 is an integer greater than 1;
根据待处理区块高度h1与最高区块高度H1,对区块链进行数据清分处理,得到与持有节点相关的声明数据。Based on the height h1 of the block to be processed and the height H1 of the highest block, the blockchain is cleared to obtain the declaration data related to the holding node.
在一种实现方式中,处理单元802用于根据待处理区块高度h1与最高区块高度H1,对区块链进行数据清分处理,得到与持有节点相关的声明数据时,具体用于:In one implementation, the processing unit 802 is used to perform data clearing processing on the blockchain based on the height h1 of the block to be processed and the height H1 of the highest block, and to obtain the declaration data related to the holding node, specifically for:
若待处理区块高度h1与最高区块高度H1之间满足高度条件,则获取区块链中待处理区块高度h1对应的待处理区块;其中,待处理区块高度h1与最高区块高度H1之间满足高度条件包括:若共识节点的节点类型为轻节点,则待处理区块高度h1小于等于最高区块高度H1;或者,若共识节点的节点类型为全节点,则待处理区块高度h1小于最高区块高度H1;If the height h1 of the block to be processed satisfies a height condition with the highest block height H1 , then the block to be processed corresponding to the height h1 in the blockchain is obtained. The height condition between the height h1 of the block to be processed and the highest block height H1 includes: if the consensus node is a light node, then the height h1 of the block to be processed is less than or equal to the highest block height H1 ; or, if the consensus node is a full node, then the height h1 of the block to be processed is less than the highest block height H1 .
对待处理区块所包含的第一候选交易数据进行可见性检测,得到第一可见性检测结果;The visibility of the first candidate transaction data contained in the block to be processed is checked to obtain the first visibility check result;
若第一可见性检测结果满足可见条件,则将第一候选交易数据确定为与持有节点相关的声明数据;其中,第一可见性检测结果满足可见条件包括:持有节点能够访问第一候选交易数据,且第一候选交易数据中包含声明数据;If the first visibility detection result meets the visibility condition, then the first candidate transaction data is determined as the claim data related to the holding node; wherein, the first visibility detection result meeting the visibility condition includes: the holding node can access the first candidate transaction data, and the first candidate transaction data contains claim data;
若第一可见性检测结果不满足可见条件,则令新的待处理区块高度h1=h1+1,并获取区块链网络中更新后的区块链的最高区块高度H2,H2为大于1的整数,若新的待处理区块高度h1与区块高度H2之间满足高度条件,则继续执行根据新的待处理区块高度h1与区块高度H2,进行数据清分处理得到与持有节点相关的声明数据的步骤。If the first visibility detection result does not meet the visibility condition, then let the new block height h1 = h1 + 1 , and obtain the highest block height H2 of the updated blockchain in the blockchain network, where H2 is an integer greater than 1. If the new block height h1 and the block height H2 meet the height condition, then continue to execute the step of data clearing processing based on the new block height h1 and the block height H2 to obtain the declaration data related to the holding node.
在一种实现方式中,处理单元802还用于:In one implementation, the processing unit 802 is further configured to:
接收区块链网络中的发行节点发送的第二存储请求,第二存储请求中携带持有节点对应的声明数据以及能够访问声明数据的第二可见节点标识;Receive a second storage request sent by the issuing node in the blockchain network. The second storage request carries the claim data corresponding to the holding node and the identifier of the second visible node that can access the claim data.
响应于第二存储请求,将声明数据以及第二可见节点标识存储至区块链。In response to the second storage request, the declared data and the identifier of the second visible node are stored in the blockchain.
在一种实现方式中,处理单元802还用于:In one implementation, the processing unit 802 is further configured to:
接收区块链网络中的验证节点发送的第二数据清分请求,第二数据清分请求用于请求与验证节点相关的身份表达数据;Receive a second data clearing request sent by a verification node in the blockchain network. The second data clearing request is used to request identity representation data related to the verification node.
响应于第二数据清分请求清分得到与验证节点相关的身份表达数据;In response to the second data clearing request, the identity representation data related to the verification node is cleared.
将身份表达数据返回至验证节点,以使验证节点基于身份表达数据对持有节点进行身份验证处理。The identity representation data is returned to the verification node so that the verification node can perform identity verification processing on the holding node based on the identity representation data.
根据本申请的一个实施例,图8所示的基于区块链网络的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该基于区块链网络的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4、图6所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8中所示的基于区块链网络的数据处理装置,以及来实现本申请实施例的基于区块链网络的数据处理方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。According to one embodiment of this application, the various units in the blockchain-based data processing device shown in FIG8 can be individually or entirely merged into one or more other units, or some of the units can be further divided into multiple functionally smaller units. This can achieve the same operation without affecting the technical effect of the embodiment of this application. The above-mentioned units are based on logical function division. In practical applications, the function of one unit can also be implemented by multiple units, or the function of multiple units can be implemented by one unit. In other embodiments of this application, the blockchain-based data processing device may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented by multiple units working together. According to another embodiment of this application, the blockchain-based data processing device shown in FIG8 and the blockchain-based data processing method of the embodiment of this application can be constructed by running a computer program (including program code) capable of executing the steps involved in the corresponding methods shown in FIG4 and FIG6 on a general-purpose computing device including processing elements and storage elements such as a computer, such as a central processing unit (CPU), random access storage medium (RAM), and read-only storage medium (ROM). Computer programs can be recorded on, for example, a computer-readable recording medium, loaded onto the aforementioned computing device via the computer-readable recording medium, and run therein.
本申请实施例中,接收单元801可接收持有节点发送的第一数据清分请求,处理单元802可响应第一数据清分请求从区块链中清分与持有节点相关的声明数据,这避免将与持有节点不相关的数据清分至持有节点,维护区块链中存储的数据的安全性,也减少持有节点的存储压力;共识节点还可以接收持有节点发送的第一存储请求,并在对第一存储请求中携带的身份表达数据共识成功后,将身份表达数据和第一可见节点标识生成区块,添加至区块链中,这种将身份表达数据和第一可见节点标识存储区块链的方式可提高身份表达数据和第一可见节点标识的安全性。In this embodiment, the receiving unit 801 can receive a first data clearing request sent by the holding node, and the processing unit 802 can respond to the first data clearing request to clear the declaration data related to the holding node from the blockchain. This avoids clearing data unrelated to the holding node to the holding node, maintains the security of the data stored in the blockchain, and also reduces the storage pressure on the holding node. The consensus node can also receive a first storage request sent by the holding node, and after successfully reaching consensus on the identity expression data carried in the first storage request, generate a block by the identity expression data and the first visible node identifier and add it to the blockchain. This method of storing the identity expression data and the first visible node identifier in the blockchain can improve the security of the identity expression data and the first visible node identifier.
图9示出了本申请一个示例性实施例提供的一种基于区块链网络的数据处理设备的结构示意图。请参见图9,该终端包括处理器901、通信接口902以及计算机可读存储介质903。其中,处理器901、通信接口902以及计算机可读存储介质903可通过总线或者其它方式连接。其中,通信接口902用于接收和发送数据。计算机可读存储介质903可以存储在终端的存储器中,计算机可读存储介质903用于存储计算机程序,计算机程序包括程序指令,处理器901用于执行计算机可读存储介质903存储的程序指令。处理器901(或称CPU(CentralProcessing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。Figure 9 shows a schematic diagram of a data processing device based on a blockchain network according to an exemplary embodiment of this application. Referring to Figure 9, the terminal includes a processor 901, a communication interface 902, and a computer-readable storage medium 903. The processor 901, communication interface 902, and computer-readable storage medium 903 can be connected via a bus or other means. The communication interface 902 is used to receive and send data. The computer-readable storage medium 903 can be stored in the terminal's memory and is used to store a computer program, including program instructions. The processor 901 is used to execute the program instructions stored in the computer-readable storage medium 903. The processor 901 (or CPU (Central Processing Unit)) is the computing and control core of the terminal, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions to achieve corresponding method flows or corresponding functions.
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的处理系统。并且,在该存储空间中还存放了适于被处理器901加载并执行的一条或多条的指令,这些指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。This application embodiment also provides a computer-readable storage medium (Memory), which is a memory device in a terminal for storing programs and data. It is understood that the computer-readable storage medium here can include both the built-in storage medium in the terminal and extended storage media supported by the terminal. The computer-readable storage medium provides storage space that stores the terminal's processing system. Furthermore, the storage space also stores one or more instructions suitable for loading and execution by the processor 901. These instructions can be one or more computer programs (including program code). It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device; optionally, it can also be at least one computer-readable storage medium located remotely from the aforementioned processor.
在一个实施例中,该计算机可读存储介质中存储有一条或多条指令;由处理器901加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述基于区块链网络的数据处理方法实施例中的相应步骤;具体实现中,计算机可读存储介质中的一条或多条指令由处理器901加载并执行如下步骤:In one embodiment, the computer-readable storage medium stores one or more instructions; the processor 901 loads and executes one or more instructions stored in the computer-readable storage medium to implement the corresponding steps in the above-described embodiment of the data processing method based on a blockchain network; specifically, the processor 901 loads and executes one or more instructions in the computer-readable storage medium for the following steps:
向区块链网络的共识节点发送第一数据清分请求,并接收共识节点响应于第一数据清分请求而返回的与区块链网络中持有节点相关的声明数据;Send a first data clearing request to the consensus node of the blockchain network, and receive the declaration data related to the holding node in the blockchain network returned by the consensus node in response to the first data clearing request;
根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份;Based on the declared data, identity representation data corresponding to the holding node is generated. The identity representation data is used to indicate the identity of the holding node.
设置能够访问身份表达数据的第一可见节点标识;Set the identifier of the first visible node that can access the identity representation data;
将身份表达数据及可见节点标识存储至区块链网络的区块链。The blockchain stores identity representation data and visible node identifiers in the blockchain network.
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器901加载并在执行根据声明数据生成持有节点对应的身份表达数据时,具体执行如下步骤:In one implementation, when one or more instructions in the computer-readable storage medium are loaded by the processor 901 and executed to generate identity representation data corresponding to the holding node based on the claim data, the following steps are specifically performed:
对声明数据进行签名生成持有节点对应的身份表达数据。Sign the declared data to generate identity representation data corresponding to the holding node.
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器901加载并还执行如下步骤:In one implementation, one or more instructions in a computer-readable storage medium are loaded by processor 901 and the following steps are also performed:
向区块链网络的发行节点发送声明申请请求,使发行节点依据声明申请请求执行响应处理,以将声明数据存储至区块链。Send a claim request to the issuing node of the blockchain network, and the issuing node will execute a response process based on the claim request to store the claim data in the blockchain.
在一种实现方式中,声明申请请求中携带持有节点对应的对象标识以及候选对象数据;响应处理的流程包括:In one implementation, the declaration request carries the object identifier corresponding to the holding node and candidate object data; the response processing flow includes:
根据声明申请请求对持有节点进行身份校验处理,得到身份校验结果;Based on the declaration application request, the identity verification process of the holding node is performed to obtain the identity verification result;
若身份校验结果为身份校验成功,则生成持有节点对应的声明数据,并设置能够访问声明数据的第二可见节点标识;If the identity verification result is successful, then the declaration data corresponding to the holding node is generated, and the second visible node identifier that can access the declaration data is set.
将声明数据和第二可见节点标识存储至区块链。Store the declared data and the second visible node identifier in the blockchain.
在一种实现方式中,身份校验处理的流程,包括:In one implementation, the identity verification process includes:
由发行节点向共识节点发送身份查询请求,身份查询请求中携带持有节点对应的对象标识;The issuing node sends an identity query request to the consensus node, and the identity query request carries the object identifier corresponding to the holding node;
接收共识节点返回的与对象标识关联的参考对象数据;Receive reference object data associated with the object identifier returned by the consensus node;
将参考对象数据与候选对象数据进行比较,得到身份校验结果。The identity verification result is obtained by comparing the reference object data with the candidate object data.
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器901加载并在执行将身份表达数据及第一可见节点标识存储至区块链时,具体执行如下步骤:In one implementation, when one or more instructions in the computer-readable storage medium are loaded by the processor 901 and executed to store the identity representation data and the first visible node identifier into the blockchain, the following steps are specifically performed:
基于身份表达数据和第一可见节点标识生成表达交易数据;Generate expression transaction data based on identity expression data and the identifier of the first visible node;
将表达交易数据发送至共识节点,以使共识节点基于表达交易数据生成区块,并将区块添加至区块链中。The transaction data is sent to the consensus node, which then generates a block based on the transaction data and adds the block to the blockchain.
在另一个实施例中,该计算机可读存储介质中存储有一条或多条指令;由处理器901加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述基于区块链网络的数据处理方法实施例中的相应步骤;具体实现中,计算机可读存储介质中的一条或多条指令由处理器901加载并执行如下步骤:In another embodiment, the computer-readable storage medium stores one or more instructions; the processor 901 loads and executes one or more instructions stored in the computer-readable storage medium to implement the corresponding steps in the above-described embodiment of the data processing method based on a blockchain network; specifically, the processor 901 loads and executes one or more instructions in the computer-readable storage medium for the following steps:
接收区块链网络中持有节点发送的第一数据清分请求,第一数据清分请求用于请求清分与持有节点相关的声明数据;Receive the first data clearing request sent by the holding node in the blockchain network. The first data clearing request is used to request the clearing of the claim data related to the holding node.
响应于第一数据清分请求清分得到与持有节点相关的声明数据,并将声明数据返回至持有节点,以使持有节点根据声明数据生成持有节点对应的身份表达数据,身份表达数据用于表明持有节点的身份,以及设置能够访问身份表达数据的第一可见节点标识;In response to the first data clearing request, the declaration data related to the holding node is cleared and returned to the holding node, so that the holding node can generate identity expression data corresponding to the holding node based on the declaration data. The identity expression data is used to indicate the identity of the holding node and to set the first visible node identifier that can access the identity expression data.
接收持有节点发送的第一存储请求,并响应于第一存储请求,将第一存储请求中包含的身份表达数据和第一可见节点标识,存储至区块链网络的区块链。Receive the first storage request sent by the holding node, and in response to the first storage request, store the identity expression data and the first visible node identifier contained in the first storage request to the blockchain of the blockchain network.
在一种实现方式中,第一数据清分请求中包括持有节点期望同步的待处理区块的待处理区块高度h1,h1为大于零的整数;计算机可读存储介质中的一条或多条指令由处理器901加载并在执行响应于第一数据清分请求清分得到与持有节点相关的声明数据时,具体执行如下步骤:In one implementation, the first data clearing request includes the block height h1 of the block to be processed that the holding node expects to synchronize, where h1 is a positive integer; one or more instructions in the computer-readable storage medium are loaded by the processor 901 and, when clearing the declared data related to the holding node in response to the first data clearing request, specifically perform the following steps:
获取区块链的最高区块高度H1,H1为大于1的整数;Get the highest block height H1 of the blockchain, where H1 is an integer greater than 1;
根据待处理区块高度h1与最高区块高度H1,对区块链进行数据清分处理,得到与持有节点相关的声明数据。Based on the height h1 of the block to be processed and the height H1 of the highest block, the blockchain is cleared to obtain the declaration data related to the holding node.
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器901加载并在执行根据待处理区块高度h1与最高区块高度H1,对区块链进行数据清分处理,得到与持有节点相关的声明数据时,具体执行如下步骤:In one implementation, when one or more instructions in the computer-readable storage medium are loaded by the processor 901 and executed to perform data clearing processing on the blockchain based on the height h1 of the block to be processed and the highest block height H1 , and to obtain the claim data related to the holding node, the following steps are specifically performed:
若待处理区块高度h1与最高区块高度H1之间满足高度条件,则获取区块链中待处理区块高度h1对应的待处理区块;其中,待处理区块高度h1与最高区块高度H1之间满足高度条件包括:若共识节点的节点类型为轻节点,则待处理区块高度h1小于等于最高区块高度H1;或者,若共识节点的节点类型为全节点,则待处理区块高度h1小于最高区块高度H1;If the height h1 of the block to be processed satisfies a height condition with the highest block height H1 , then the block to be processed corresponding to the height h1 in the blockchain is obtained. The height condition between the height h1 of the block to be processed and the highest block height H1 includes: if the consensus node is a light node, then the height h1 of the block to be processed is less than or equal to the highest block height H1 ; or, if the consensus node is a full node, then the height h1 of the block to be processed is less than the highest block height H1 .
对待处理区块所包含的第一候选交易数据进行可见性检测,得到第一可见性检测结果;The visibility of the first candidate transaction data contained in the block to be processed is checked to obtain the first visibility check result;
若第一可见性检测结果满足可见条件,则将第一候选交易数据确定为与持有节点相关的声明数据;其中,第一可见性检测结果满足可见条件包括:持有节点能够访问第一候选交易数据,且第一候选交易数据中包含声明数据;If the first visibility detection result meets the visibility condition, then the first candidate transaction data is determined as the claim data related to the holding node; wherein, the first visibility detection result meeting the visibility condition includes: the holding node can access the first candidate transaction data, and the first candidate transaction data contains claim data;
若第一可见性检测结果不满足可见条件,则令新的待处理区块高度h1=h1+1,并获取区块链网络中更新后的区块链的最高区块高度H2,H2为大于1的整数,若新的待处理区块高度h1与区块高度H2之间满足高度条件,则继续执行根据新的待处理区块高度h1与区块高度H2,进行数据清分处理得到与持有节点相关的声明数据的步骤。If the first visibility detection result does not meet the visibility condition, then let the new block height h1 = h1 + 1 , and obtain the highest block height H2 of the updated blockchain in the blockchain network, where H2 is an integer greater than 1. If the new block height h1 and the block height H2 meet the height condition, then continue to execute the step of data clearing processing based on the new block height h1 and the block height H2 to obtain the declaration data related to the holding node.
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器901加载并还执行如下步骤:In one implementation, one or more instructions in a computer-readable storage medium are loaded by processor 901 and the following steps are also performed:
接收区块链网络中的发行节点发送的第二存储请求,第二存储请求中携带持有节点对应的声明数据以及能够访问声明数据的第二可见节点标识;Receive a second storage request sent by the issuing node in the blockchain network. The second storage request carries the claim data corresponding to the holding node and the identifier of the second visible node that can access the claim data.
响应于第二存储请求,将声明数据以及第二可见节点标识存储至区块链。In response to the second storage request, the declared data and the identifier of the second visible node are stored in the blockchain.
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器901加载并还执行如下步骤:In one implementation, one or more instructions in a computer-readable storage medium are loaded by processor 901 and the following steps are also performed:
接收区块链网络中的验证节点发送的第二数据清分请求,第二数据清分请求用于请求与验证节点相关的身份表达数据;Receive a second data clearing request sent by a verification node in the blockchain network. The second data clearing request is used to request identity representation data related to the verification node.
响应于第二数据清分请求清分得到与验证节点相关的身份表达数据;In response to the second data clearing request, the identity representation data related to the verification node is cleared.
将身份表达数据返回至验证节点,以使验证节点基于身份表达数据对持有节点进行身份验证处理。The identity representation data is returned to the verification node so that the verification node can perform identity verification processing on the holding node based on the identity representation data.
本申请实施例中,持有节点可以向共识节点发送第一数据清分请求,使得共识节点响应于第一数据清分请求从区块链中清分并返回与持有节点相关的声明数据;持有节点再基于声明数据生成身份表达数据,并将身份表达数据以及能够访问身份表达数据的第一可见节点标识一同存储至区块链网络的区块链中。上述方案中,持有节点相关的声明数据和身份表达数据均存储于区块链网络的区块链中,实现对声明数据和身份表达数据的去中心化存储,且通过持有节点的数据清分能力在区块链上进行声明数据和身份表达数据的数据流转和可见节点的设置,使得只有指定的可见节点才能对声明数据和身份表达数据进行访问,有效降低数据被泄露的风险,提高数据的安全性。In this embodiment, the holding node can send a first data clearing request to the consensus node, causing the consensus node to clear and return the claim data related to the holding node from the blockchain in response to the first data clearing request. The holding node then generates identity expression data based on the claim data and stores the identity expression data along with the identifier of the first visible node that can access the identity expression data in the blockchain of the blockchain network. In the above scheme, both the claim data and identity expression data related to the holding node are stored in the blockchain of the blockchain network, realizing decentralized storage of the claim data and identity expression data. Furthermore, the data flow of the claim data and identity expression data and the setting of visible nodes are carried out on the blockchain through the data clearing capability of the holding node, so that only the designated visible nodes can access the claim data and identity expression data, effectively reducing the risk of data leakage and improving data security.
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据处理设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该数据处理设备执行上述基于区块链网络的数据处理方法。This application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a data processing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the data processing device to perform the aforementioned data processing method based on a blockchain network.
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据处理设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data processing device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this invention should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims (16)
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK40086064A true HK40086064A (en) | 2023-08-18 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12405925B2 (en) | Decentralized database associating public keys and communications addresses | |
| US11651109B2 (en) | Permission management method, permission verification method, and related apparatus | |
| CN113972986B (en) | Block chain-based industrial internet identification information analysis method and related device | |
| CN109508564B (en) | Block chain-based digital asset storage system and method | |
| US11038685B1 (en) | Correcting blockchain transactions with cryptocurrency type mistakes | |
| US12361150B2 (en) | Data processing method and apparatus based on blockchain network, device, and storage medium | |
| CN109669955B (en) | Digital asset query system and method based on block chain | |
| CN111915298A (en) | Method and device for generating and verifying linkable ring signature in blockchain | |
| KR102271201B1 (en) | Method for maintaining private information on blockchain network and device thereof | |
| US12401498B2 (en) | Custodial digital wallet management systems | |
| US20240143730A1 (en) | Multi-factor authentication using blockchain | |
| CN108449348B (en) | Online authentication system and method supporting user identity privacy protection | |
| US20170244727A1 (en) | Tokenization for Network Authorization Routing | |
| US20230245118A1 (en) | Point-to-point (p2p)-based data processing method and system, computing device, and storage medium | |
| US20250069071A1 (en) | Transfer protocol using decentralized identifiers and verifiable credentials | |
| US20250217795A1 (en) | Relationship verification with digital identity | |
| HK40086064A (en) | A data processing method based on blockchain network and related equipment | |
| CN119322900A (en) | Content query method, device, equipment and storage medium | |
| KR20120127339A (en) | Method and apparatus for sharing data between users of a social network service | |
| WO2023207529A1 (en) | Data processing method and apparatus, device, medium, and product | |
| CN115544026A (en) | Data storage method, device, electronic device and storage medium | |
| US12425229B2 (en) | Offline decentralized identity-based communication for applications | |
| US20250070973A1 (en) | Managing verifiable credential linkages using decentralized identity | |
| CN110889040B (en) | Method and device for pushing information | |
| US20250038983A1 (en) | Application programming interface (api) provisioning using decentralized identity |