WO2020258941A1 - Method for data ownership confirmation based on blockchain network, and related apparatus - Google Patents

Method for data ownership confirmation based on blockchain network, and related apparatus Download PDF

Info

Publication number
WO2020258941A1
WO2020258941A1 PCT/CN2020/080734 CN2020080734W WO2020258941A1 WO 2020258941 A1 WO2020258941 A1 WO 2020258941A1 CN 2020080734 W CN2020080734 W CN 2020080734W WO 2020258941 A1 WO2020258941 A1 WO 2020258941A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
user
blockchain
data
information
Prior art date
Application number
PCT/CN2020/080734
Other languages
French (fr)
Chinese (zh)
Inventor
侯庆辉
潘瑜
胡瑞丰
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2020258941A1 publication Critical patent/WO2020258941A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • This application relates to the technology in the blockchain field, and in particular to a method and related devices for data verification based on a blockchain network.
  • a user needs to apply for business services from some business service providers in daily life, the business service provider needs to check the user's personal information to determine whether to provide the user with the business service requested by the user.
  • a bank can provide users with various types of financial services. After accepting a user’s business request, the bank needs to obtain credible user data from a third-party data provider in order to confirm whether to provide the user with the corresponding service.
  • Third-party data providers can pre-record user data of a large number of users.
  • the organization that uses the data can be called the data user, and the third-party data provider that provides the data can be called the data provider.
  • the data user Before receiving the business request, the data user can The provider signs a data transaction contract, agreeing on the data that the data user is allowed to obtain and use, so that the data user can obtain the required user data from the data user at any time after receiving the user’s business request, and apply for the user’s request The business is processed.
  • This application provides a method and related device for data right confirmation based on a blockchain network, which can provide a traceable data usage method to improve the security of user data.
  • this application provides a method for data confirmation based on a blockchain network, the method including:
  • the first blockchain node in the blockchain network sends or receives communication information
  • the first blockchain node records the communication information in the ledger of the blockchain network
  • the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier.
  • the providing node requests user credit data corresponding to the user identification; the providing node is configured to provide user credit data to the user node;
  • the communication information includes: the first blockchain node and the plurality of At least one of the information between any other blockchain nodes in the blockchain node, and the information between the first blockchain node and the user client; wherein, the user client is used to The using node sends the service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node;
  • the first blockchain node is a blockchain node among the plurality of blockchain nodes.
  • the communication information can realize a traceable data usage method.
  • the first block chain node does not specifically refer to the block chain node with a specific number among the block chain nodes.
  • the first block chain node may be a block chain network. Any one or more of the use nodes, provide nodes, and proxy nodes in each blockchain node.
  • the technical solution provided by the embodiments of the present application can record the communication information between the user node, the providing node, and the agent node, and the communication information between the user node and the user terminal and the user client on the user terminal in the blockchain ledger. To achieve the traceability requirements of data usage.
  • the blockchain network further includes: a consensus node; the first blockchain node is a blockchain other than the consensus node among the plurality of blockchain nodes node;
  • the first blockchain node to record the communication information in the ledger of the blockchain network includes:
  • the first blockchain node sends the communication information to the consensus node, so that the consensus node sends the communication information to the accounting node in the blockchain network in the form of a block.
  • the account node is used to record the block containing the communication information in the ledger of the blockchain network.
  • the accounting node is a blockchain node other than the consensus node in the blockchain network.
  • the accounting node may be a blockchain node such as a user node, a provider node, etc.
  • sending or receiving communication information by the first blockchain node in the blockchain network includes:
  • the first blockchain node sends the communication information to the second blockchain node; or,
  • the first blockchain node receives the communication information sent by the second blockchain node; or,
  • the first blockchain node sends the communication information to the user client; or,
  • the first blockchain node receives the communication information sent by the user client
  • the second block chain node is any other block chain node except the first block chain node among the plurality of block chain nodes.
  • the first blockchain node is the user node;
  • the user client is configured to send the service request carrying the user identifier to the user node;
  • the sending or receiving of communication information by the first blockchain node in the blockchain network includes: the user node sending or receiving communication information, wherein the communication information specifically includes: the user node and the plurality of At least one of the information between other blockchain nodes in the blockchain node, and the information between the use node and the user client.
  • a user node may send communication information to a consensus node after sending or receiving communication information, and the consensus node is any blockchain node other than the user node among the plurality of blockchain nodes .
  • the first blockchain node is the providing node; the user client is used to confirm whether the providing node is allowed to provide the user corresponding to the user ID to the user node Credit data;
  • Sending or receiving communication information by the first blockchain node in the blockchain network includes: the providing node sending or receiving communication information, wherein the communication information specifically includes: the providing node and the plurality of Information between other blockchain nodes in the blockchain node, and at least one of the information between the providing node and the user client; the consensus node is the multiple blockchain nodes Any blockchain node other than the provision node.
  • the first blockchain node is the user node; the first blockchain node in the blockchain network sends or receives communication information, including at least one of the following:
  • the use node receives the service request sent by the user client
  • the use node sends a data transaction request to the providing node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the use node to process the user Identified business request;
  • the using node receives a data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier.
  • the aforementioned communication information may specifically include at least one of the following:
  • the service request that is received by the user node and sent by the user client and carries the user identifier
  • the data transaction response received by the using node from the providing node where the data transaction response includes user credit data corresponding to the user identification.
  • the first blockchain node is the providing node; the first blockchain node in the blockchain network sends or receives communication information, including at least one of the following:
  • the providing node receives a data transaction request sent by the using node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the using node to process the data carrying the Service request of user ID;
  • the providing node sends a data authorization request to the user client, where the data authorization request is used to request permission to provide the user credit data corresponding to the user identifier to the user node;
  • the providing node receives a data authorization response sent by the user client, where the data authorization response is used to confirm whether the user credit data corresponding to the user identifier is allowed to be provided to the user node;
  • the providing node sends a data transaction response to the using node, where the data transaction response includes user credit data corresponding to the user identifier.
  • the communication information specifically includes at least one of the following:
  • the data transaction request received by the providing node from the user node where the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the user node to process and carry information
  • the service request of the user ID
  • the multiple blockchain nodes include: a proxy node; the proxy node is used to receive a data transaction request sent by the user node, and the data transaction request is used to request the User credit data corresponding to the user identification; and, confirming whether the use node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the use node has the access authority, send all the information to the providing node The data transaction request; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identification;
  • the first blockchain node is the proxy node; sending or receiving communication information by the first blockchain node in the blockchain network includes: sending or receiving communication information by the proxy node, wherein The communication information specifically includes: information between the proxy node and the user node, at least one of information between the proxy node and the providing node; the consensus node is the multiple blockchain nodes Any blockchain node other than the proxy node.
  • the blockchain network includes: X channels; the blockchain nodes in the blockchain network respectively correspond to one or more of the X channels; wherein, the The channel corresponding to the first blockchain node includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
  • the first blockchain node recording the communication information in the ledger of the blockchain network includes: the first blockchain node records the channel information of the i-th channel in the ledger corresponding to the i-th channel in;
  • the channel information of the i-th channel includes: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the
  • the second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes through the i-th channel based on the information received from the user client Information sent to the second blockchain node, and at least one of the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client Species; where X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
  • the first blockchain node can send the channel information of the i-th channel to the consensus node in the blockchain network through the i-th channel, so that the consensus node can package the communication information of the i-th channel to generate a zone Block and send the block to the accounting node whose channel is the i-th channel.
  • the accounting node of the i-th channel can be used to record the channel information of the i-th channel in the ledger of the i-th channel.
  • the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
  • the consensus node corresponds to one or more channels;
  • the first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel
  • the second blockchain node is the one that transmits information through the i-th channel and the jth usage node.
  • Providing node; or, the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel
  • the second blockchain node is the j-th Use node
  • M is an integer greater than 0
  • j is an integer greater than 0 and less than or equal to M.
  • the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
  • the multiple blockchain nodes include: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, the data transaction request is used to request user credit data corresponding to the user identifier; and , Confirm whether the using node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the using node has the access authority, send the data transaction request to the providing node; and, receive The data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier;
  • the first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information with the jth usage node through the i-th channel Proxy node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th use node corresponding to the i-th channel, and the second blockchain node is the The first blockchain node transmits the information providing node through the i-th channel;
  • M is an integer greater than 0
  • j is an integer greater than 0 and less than or equal to M.
  • the consensus node in the blockchain network may correspond to one or more channels.
  • the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
  • this application provides a method for data confirmation based on a blockchain network, the method including:
  • the consensus node receives the communication information, and records the communication information in the ledger of the blockchain network;
  • the blockchain network includes a plurality of blockchain nodes
  • the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier.
  • the providing node requests user credit data corresponding to the user identifier; the providing node is configured to provide user credit data to the user node; the consensus node is a blockchain node among the plurality of blockchain nodes
  • the communication information includes: information between the blockchain nodes, and at least one of the information between the blockchain nodes and the user client; wherein, the user client is used to send to the user node
  • the service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node.
  • the consensus node may receive communication information from the first blockchain node in the method described in the first aspect.
  • the first blockchain node may be a user node, a provider node, or a proxy node among multiple blockchain nodes in the blockchain network.
  • the communication information includes the sender of the communication information
  • the recording the communication information in the ledger of the blockchain network includes:
  • the consensus node verifies the sender of the communication information
  • the consensus node may encapsulate the communication information into a block and send it to the accounting node, so that the accounting node records the communication information in the account book locally stored by the accounting node;
  • the accounting node in the blockchain network is a blockchain node that locally stores a ledger or a copy of the ledger in the blockchain network.
  • the accounting node may be the first blockchain node in the first aspect.
  • the communication information includes: information between the use node and other blockchain nodes among the plurality of blockchain nodes, and the use node and the user At least one of the information between the clients; the user client is used to send the service request carrying the user identifier to the using node;
  • the consensus node is any blockchain node among the multiple blockchain nodes except the use node;
  • the receiving of the communication information by the consensus node includes: the consensus node receiving the communication information sent by the using node.
  • the communication information includes: information between the providing node and other blockchain nodes among the plurality of blockchain nodes, and the providing node and the user At least one of the information between the clients; the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node;
  • the consensus node is any one of the multiple blockchain nodes except the providing node;
  • the receiving of the communication information by the consensus node includes: the consensus node receiving the communication information sent by the providing node.
  • the blockchain network further includes: a proxy node; the proxy node is used to receive a data transaction request sent by the user node, and the data transaction request is used to request the user Identifying the corresponding user credit data; and, confirming whether the using node has the access authority to the user credit data corresponding to the user identifier; and, when confirming that the using node has the access authority, sending the providing node A data transaction request; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identifier;
  • the receiving of the communication information by the consensus node includes: the consensus node receiving the communication information sent by the proxy node; wherein the communication information specifically includes: information between the proxy node and the user node, and At least one of the information between the agent node and the providing node.
  • the blockchain network includes: X channels; the blockchain nodes in the blockchain network respectively correspond to one or more of the X channels; wherein, the The number of use nodes is M, and the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node; the consensus node corresponds to one or more channels;
  • the receiving of the communication information by the consensus node includes: the consensus node receives the channel information of the i-th channel corresponding to the consensus node, packs the received channel information of the i-th channel into a block, and sends it to the channel to which it belongs.
  • the accounting node of the i-th channel so that the accounting node records the communication information of the i-th channel in the ledger corresponding to the i-th channel;
  • the channel information of the i-th channel includes at least one of the following:
  • the corresponding channel is the information between the use node of the i-th channel and the first user client, and the first user client is configured to send the service request carrying the user identifier to the use node;
  • the corresponding channel is the information between the using node and the providing node of the i-th channel
  • the providing node sends the information to the second user client based on the information received from the i-th channel and the information received from the user terminal; the second user client is used to confirm whether the providing node is allowed to provide all the information to the using node User credit data corresponding to the user identifier;
  • X is an integer greater than 0
  • M is an integer greater than 0
  • i is an integer greater than 0 and less than or equal to X.
  • this application provides a method for data right confirmation based on a blockchain network, the method including:
  • the user client receives a data authorization request sent by a providing node that carries a user ID corresponding to the user client, and the data authorization request is used to request permission to use the node to use the user credit corresponding to the user ID provided by the providing node data;
  • the user client outputs prompt information through an output device, where the prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node;
  • the use node and the provision node are blockchain nodes in a blockchain network, and the use node is used to request the user credit data corresponding to the user identifier from the provision node.
  • this application when using the blockchain network to deploy the use nodes and providing nodes in the data usage scenario, and use the providing nodes in the blockchain network to request the user client to confirm whether the use nodes are allowed to use the users provided by the providing nodes By identifying the corresponding user credit data, the user can know the usage of the data in time. Therefore, this application can implement a traceable data usage method.
  • a user client (such as a second user client) may be deployed on the user terminal, and the user client may be used to communicate with one or more providing nodes, for example, to receive data sent by one or more providing nodes Authorization request, and sending data authorization response to one or more providing nodes.
  • the user client can integrate data authorization requests from multiple providing nodes and output prompt information through an output device.
  • the user client can correspond to a user identification, so that the user can centrally confirm the data authorization request for one or more user credit data from one or more provision nodes.
  • the user client can also be used to communicate with one or more user nodes (that is, the user client can have the functions of the first user client at the same time, and the first user client and the second user client correspond to the same The user identifier of the user ID), for example, sending a service request to one or more using nodes, and receiving a service processing result sent by one or more using nodes.
  • the user client receiving the data authorization request sent by the providing node may include: the user client receiving the data authorization request sent by the providing node, where the data authorization request includes the data source list and the corresponding user ID An identification list of user credit data, where the data source list includes identifications of one or more provision nodes.
  • the data authorization request sent by the providing node may be a second data authorization request, and the providing node may send the second data authorization request after receiving the first data authorization request sent by the proxy node. It should be noted that, When using a node to send a data transaction request to an agent node, it may include a data source list and a list of user credit data identifiers.
  • the agent node may send a first data authorization request to multiple providing nodes in the data source list, and any one of the first
  • the data authorization request may include a list of data sources and an identification list of user credit data.
  • the user client receiving the data authorization request sent by the providing node and carrying the user identification corresponding to the user client includes: the user client receiving the data authorization request sent by at least two providing nodes At least two data authorization requests, the at least two data authorization requests respectively correspond to the at least two providing nodes one-to-one, and any data authorization request is used to request the user client to allow the user node to use the sending data authorization User credit data corresponding to the user ID provided by the requested providing node;
  • the use node is used to request the user credit data corresponding to the user identification from the at least two providing nodes, and the user credit data corresponding to the user identification includes: the user credit data provided by the at least two providing nodes respectively User credit data corresponding to the user identifier;
  • the prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes respectively.
  • the method further includes:
  • the user client outputs prompt information through its own output device, where the prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
  • the user client receives input information through an input device, where the input information is used to confirm whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
  • the user terminal When the input information indicates that the user credit data corresponding to the user identification provided by the at least two providing nodes is allowed to be used by the user node, the user terminal sends a data authorization response to the providing node, either The data authorization response is used to confirm that the user node is allowed to use the user credit data corresponding to the user identification provided by the providing node that receives the data authorization response.
  • the data authorization request is used to request permission for the user node to use the user credit data corresponding to the user identifier provided by the providing node when receiving the service request of the first service.
  • the present application provides a data right confirmation system based on a blockchain network
  • the system includes: a plurality of blockchain nodes; the plurality of blockchain nodes includes: use nodes and provide nodes; wherein, The using node is configured to request the user credit data corresponding to the user identifier from the providing node according to a service request carrying a user identifier; the providing node is configured to provide user credit data;
  • At least one of the multiple blockchain nodes is also used to send or receive communication information, and record the communication information in the ledger of the blockchain network; wherein the communication information includes: At least one of the information between the blockchain nodes and the information between the blockchain node and the user client; wherein the user client is used to send to the user node information that carries the user identifier The service request, and/or, the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node.
  • the above-mentioned at least one blockchain node can send communication information to a consensus node in the blockchain network, and the consensus node packages the communication information to generate a block and send it to the accounting node for accounting Nodes can store blocks containing communication information in the ledger of the blockchain network.
  • the consensus node may be a blockchain node other than the use node or the providing node or the proxy node.
  • the at least one blockchain node is a user node;
  • the communication information specifically includes: between the user node and other blockchain nodes among the plurality of blockchain nodes And at least one of the information between the use node and the user client; the user client is configured to send the service request carrying the user identifier to the use node.
  • the use node may also be used to send the communication information to the consensus node after sending or receiving the communication information; the consensus node may be the number of blockchain nodes in addition to the Use any blockchain node other than the node.
  • the communication information specifically includes at least one of the following:
  • the data transaction response received by the using node from the providing node where the data transaction response includes user credit data corresponding to the user identification.
  • the at least one blockchain node is a providing node
  • the communication information specifically includes: information between the providing node and other blockchain nodes among the plurality of blockchain nodes, and at least among the information between the providing node and the user client One; the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node.
  • the providing node is further configured to send the communication information to a consensus node after sending or receiving the communication information;
  • the consensus node is the at least two blockchain nodes in addition to the providing Any blockchain node other than the node.
  • the communication information specifically includes at least one of the following:
  • the data transaction request received by the providing node from the user node is used to request to obtain user credit data corresponding to the user identification, and the user credit data corresponding to the user identification is used for the user node Processing the service request carrying the user identifier;
  • the multiple blockchain nodes further include: proxy nodes;
  • the proxy node is configured to receive a data transaction request sent by the using node, the data transaction request is used to request user credit data corresponding to the user identification; and to confirm whether the using node has the user identification corresponding And, when confirming that the user node has the access right, send the data transaction request to the providing node; and receive the data transaction response sent by the providing node, the data transaction The response includes user credit data corresponding to the user identification;
  • the communication information specifically includes: at least one of information between the proxy node and the use node, and information between the proxy node and the providing node.
  • the blockchain network includes: X channels; the multiple blockchain nodes respectively correspond to one or more of the X channels; wherein,
  • the number of the use nodes is M, the M use nodes respectively correspond to one of the X channels, and any use node transmits information to the providing node through its corresponding channel;
  • the channel information of the i-th channel includes at least one of the following:
  • the corresponding channel is the information between the use node of the i-th channel and the first user client, and the first user client is configured to send the service request carrying the user identifier to the use node;
  • the corresponding channel is the information between the using node and the providing node of the i-th channel
  • the providing node sends the information to the second user client based on the information received from the i-th channel and the information received from the second user client; the second user client is used to confirm whether the providing node is allowed to use
  • the node provides user credit data corresponding to the user identifier
  • X is an integer greater than 0
  • M is an integer greater than 0
  • i is an integer greater than 0 and less than or equal to X.
  • the number of consensus nodes in the blockchain network is Y
  • any consensus node corresponds to one or more channels
  • the jth consensus node among the Y consensus nodes is specifically used to receive the jth consensus
  • the channel information of the i-th channel corresponding to the node, and the received channel information of the i-th channel is recorded in the ledger corresponding to the i-th channel;
  • Y is an integer greater than
  • j is an integer greater than 0 and less than or equal to Y.
  • any blockchain node in the blockchain network can send information to other blockchain nodes with the same corresponding channel by broadcasting in the corresponding channel.
  • the providing node is further configured to send a data authorization request to the user client, and the data authorization request is used to request permission for the user node to use the data provided by the providing node.
  • the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
  • this application also provides a data right confirmation device based on a blockchain network, which is applied to the first blockchain node in the blockchain network, and the device includes:
  • the transceiver module is used to send or receive communication information
  • Processing module used to record the communication information in the ledger of the blockchain network
  • the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier.
  • the providing node requests user credit data corresponding to the user identification; the providing node is configured to provide user credit data to the user node;
  • the communication information includes: the first blockchain node and the plurality of At least one of the information between any other blockchain nodes in the blockchain node, and the information between the first blockchain node and the user client; wherein, the user client is used to The using node sends the service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node;
  • the first blockchain node is a blockchain node among the plurality of blockchain nodes.
  • the transceiver module is further configured to send the communication information to the consensus node, so that the consensus node records the communication information in the ledger of the blockchain network;
  • the consensus node is the multiple A block chain node other than the first block chain node among the block chain nodes;
  • the transceiver module is specifically used for:
  • the second block chain node is any other block chain node except the first block chain node among the plurality of block chain nodes.
  • the first blockchain node is the user node;
  • the user client is configured to send the service request carrying the user identifier to the user node;
  • the transceiver module is specifically configured to send or receive communication information, where the communication information specifically includes: information between the use node and other blockchain nodes among the plurality of blockchain nodes, and, At least one of the information between the usage node and the user client; the consensus node is any blockchain node among the plurality of blockchain nodes except the usage node.
  • the first blockchain node is the providing node; the user client is used to confirm whether the providing node is allowed to provide the user corresponding to the user ID to the user node Credit data;
  • the transceiver module is specifically configured to send or receive communication information, where the communication information specifically includes: information between the providing node and other blockchain nodes among the plurality of blockchain nodes, and, At least one of the information between the providing node and the user client; the consensus node is any one of the plurality of blockchain nodes except the providing node.
  • the first blockchain node is the user node; the user client is used to send the service request carrying the user identifier to the user node;
  • the transceiver module is specifically used for at least one of the following:
  • the data transaction request is used to request to obtain the user credit data corresponding to the user ID, and the user credit data is used by the user node to process the service request carrying the user ID ;
  • the first blockchain node is the providing node;
  • the user client is used to confirm whether the providing node is allowed to provide the user corresponding to the user ID to the user node Credit data;
  • the transceiver module is specifically used for at least one of the following:
  • Receive a data transaction request sent by the use node the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the use node to process the service carrying the user identification request;
  • the multiple blockchain nodes include: a proxy node; the proxy node is used to receive a data transaction request sent by the user node, and the data transaction request is used to request the User credit data corresponding to the user identification; and, confirming whether the use node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the use node has the access authority, send all the information to the providing node The data transaction request; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identification;
  • the first blockchain node is the proxy node; the transceiver module is specifically used to send or receive communication information, where the communication information specifically includes: information between the proxy node and the user node , At least one of the information between the agent node and the providing node.
  • the transceiver module may send communication information to a consensus node after sending or receiving communication information
  • the consensus node is any one of the plurality of blockchain nodes except the proxy node node.
  • the blockchain network includes: X channels; the blockchain nodes in the blockchain network respectively correspond to one or more of the X channels; wherein, the The channel corresponding to the first blockchain node includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
  • the transceiver module is specifically configured to record the channel information of the i-th channel in the ledger corresponding to the i-th channel;
  • the channel information of the i-th channel includes: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the
  • the second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes through the i-th channel based on the information received from the user client Information sent to the second blockchain node, and at least one of the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client Species
  • X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
  • the transceiver module may send the channel information of the i-th channel to the consensus node through the i-th channel, so that the consensus node packs the communication information of the i-th channel, generates a block, and sends the block to
  • the accounting node corresponding to the i-th channel the accounting node of the i-th channel records the communication information of the i-th channel in the ledger corresponding to the i-th channel.
  • the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
  • the consensus node corresponds to one or more channels;
  • the first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel
  • the second blockchain node is the one that transmits information through the i-th channel and the jth usage node.
  • Providing node; or, the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel
  • the second blockchain node is the j-th Use node
  • M is an integer greater than 0
  • j is an integer greater than 0 and less than or equal to M.
  • the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
  • the multiple blockchain nodes include: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, the data transaction request is used to request user credit data corresponding to the user identifier; and , Confirm whether the using node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the using node has the access authority, send the data transaction request to the providing node; and, receive The data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier;
  • the first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel
  • the second blockchain node is the one that transmits information with the jth usage node through the i-th channel Proxy node
  • the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel
  • the second blockchain node is the j-th Use node
  • the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th use node corresponding to the i-th channel
  • the second blockchain node is the The first blockchain node transmits the information providing node through the i-th channel; where M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
  • the consensus node in the blockchain network corresponds to one or more channels.
  • the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
  • this application also provides a data right confirmation device based on a blockchain network, which is applied to a user client, and the device includes:
  • the transceiver module is configured to receive a data authorization request carrying a user identification corresponding to the user client sent by a providing node, and the data authorization request is used to request permission to use the node to use the user identification provided by the providing node.
  • User credit data carrying a user identification corresponding to the user client sent by a providing node, and the data authorization request is used to request permission to use the node to use the user identification provided by the providing node.
  • An output module configured to output prompt information through an output device, the prompt information being used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node;
  • the use node and the provision node are blockchain nodes in a blockchain network, and the use node is used to request the user credit data corresponding to the user identifier from the provision node.
  • the transceiver module is specifically configured to receive at least two data authorization requests sent by at least two providing nodes, and the at least two data authorization requests are the same as those of the at least two providing nodes.
  • any data authorization request is used to request that the user node is allowed to use the user credit data corresponding to the user identifier provided by the provider node that sent the data authorization request;
  • the use node is used to request the user credit data corresponding to the user identification from the at least two providing nodes, and the user credit data corresponding to the user identification includes: the user credit data provided by the at least two providing nodes respectively User credit data corresponding to the user identifier;
  • the prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes respectively.
  • the device further includes:
  • An input module configured to receive input information through an input device, the input information being used to confirm whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
  • the transceiver module is further configured to send data authorization to the provider node when the input information indicates that the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two provider nodes In response, any of the data authorization responses is used to confirm that the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node that receives the data authorization response.
  • this application also provides a data right confirmation device based on a blockchain network, located at a blockchain node,
  • One or more processors are One or more processors;
  • Memory used to store one or more programs
  • the device realizes the method according to any one of the above-mentioned first aspects.
  • this application also provides a data right confirmation device based on a blockchain network, which is located in a user terminal or a user client,
  • One or more processors are One or more processors;
  • Memory used to store one or more programs
  • the device realizes the method according to any one of the above-mentioned first aspects.
  • the present application provides a computer-readable storage medium, including a computer program, which when executed on a computer, causes the computer to execute any one of the first to third aspects described above method.
  • this application provides a computer program that, when executed by a computer, implements the method described in any one of the first to third aspects.
  • FIG. 1 is a schematic diagram of a network architecture of a blockchain network involved in an embodiment of this application;
  • 2A is the first schematic diagram of the system architecture applied by the blockchain network-based data verification method provided by an embodiment of this application;
  • 2B is a second schematic diagram of the system architecture applied by the blockchain network-based data verification method provided by an embodiment of this application;
  • FIG. 3 is the first interactive flowchart of a method for data right confirmation based on a blockchain network provided by an embodiment of the application;
  • FIG. 4 is a second interactive flowchart of a method for data right confirmation based on a blockchain network provided by an embodiment of this application;
  • FIG. 5 is a schematic diagram of an application architecture of a method for data right confirmation based on a blockchain network provided by an embodiment of the application;
  • FIG. 6 is the third interaction flow chart of the method for data right confirmation based on the blockchain network provided by an embodiment of the application;
  • FIG. 7 is a structural schematic diagram 1 of a data right confirmation device based on a blockchain network provided by an embodiment of the application;
  • FIG. 8 is a schematic diagram 2 of the structure of a data right confirmation device based on a blockchain network provided by an embodiment of the application;
  • FIG. 9 is a schematic structural diagram of a blockchain node provided by an embodiment of the application.
  • FIG. 10 is a schematic structural diagram of a user terminal provided by an embodiment of the application.
  • this application provides a technical solution for traceable data usage.
  • the technical solution provided by this application will be implemented based on the blockchain network. The following first describes the system architecture of the blockchain network as an example.
  • FIG. 1 is a schematic diagram of a network architecture of a blockchain network involved in an embodiment of this application.
  • the network can include multiple blockchain nodes.
  • each blockchain node in the blockchain network may have one or more network functions and business functions at the same time.
  • blockchain nodes can be preliminarily divided into ordinary nodes (peer), ordering nodes (Orderer), etc. according to network functions. Ordinary nodes can usually be deployed to achieve certain business functions. In some scenarios, a blockchain node can be both an ordinary node and an ordering node.
  • the ordinary nodes in the blockchain network can be divided into the following types: verification/submission node (Committer peer), endorsement node (Endorse peer), leader node (Leader peer), anchor node (Anchor peer).
  • the verification/submission node can be used to submit transactions, and receive transaction information (also known as transaction blocks), and verify the transaction information before the transaction information is written into the locally stored ledger;
  • the endorsement node can be used according to this node
  • the smart contract (chain code) installed on the system generates digital signatures for data transactions;
  • the leader node can be used to combine the transaction information (transaction transaction) from the ordering node when the organization (in a channel) includes multiple blockchain nodes ) Is assigned to verification/submission nodes in the organization; anchor nodes can be used to implement communication between nodes within the organization and nodes outside the organization.
  • the ledger is used to record the information sent or received by the nodes in the blockchain network.
  • the ledger can record communication messages through a blockchain (blockchain).
  • the blockchain is composed of several blocks. Each block can contain transaction information for a period of time.
  • the blocks in the blockchain network are connected in sequence in the order of generation.
  • the blockchain network needs to ensure that there are at least two blockchain nodes that store the ledger or copy of the ledger.
  • the blockchain node that stores the ledger or copy of the ledger locally can be called the accounting node, and all blocks in the blockchain network All chain nodes can be accounting nodes.
  • the order of the blocks in the blockchain is not allowed to be changed.
  • Block chains will be inconsistent, and this mechanism can guarantee the integrity, correctness, and non-modification of the information recorded in the block chain network.
  • the ordering node can be used for consensus processing.
  • the ordering node can verify the communication information in the blockchain network, and generate a block when the verification passes, and the ordering node can also be used to confirm the blockchain network The sequence of generating blocks, and sending the blocks generated in the network to each accounting node, so that the accounting node adds the blocks to the blockchain in the order of block generation.
  • the communication messages transmitted through the blockchain network can be stored in the ledger in the form of blocks (that is, stored in the blockchain), and then the application scenarios involved Traceability requirements for communication messages.
  • the embodiments of this application will be described in detail in the following sections.
  • a blockchain node can simultaneously have the network functions of one or more types of ordinary nodes.
  • a blockchain node can be a submission node, an endorsement node, an anchor node, and an accounting node at the same time.
  • ordinary nodes can be deployed to implement the business functions of one or more network devices.
  • the ordinary nodes in the blockchain network can be divided into one or more organizations, each organization can include one or more ordinary nodes, and the ordinary nodes in an organization can be independent or cooperate with each other In order to realize the business functions of a certain network device, the ordinary nodes in the organization can also individually or cooperate with each other to realize some network functions of the organization in the blockchain network.
  • nodes in each organization may communicate through a wide area network (wan).
  • This technology can be called fabric technology.
  • One of the key points of this technology is to support the multi-ledger feature.
  • This technology meets the requirements of the system for the confidentiality and isolation of the ledger by dividing channels in the blockchain network. Channels can be used to limit the scope of data interaction between blockchain nodes.
  • a blockchain node only allows other blockchain nodes with the same channel to communicate.
  • each channel can correspond to a ledger, and the ledger corresponding to the channel can be accessed by all members of the channel.
  • the blockchain node in the blockchain network can have the attribute of the channel to which it belongs.
  • a blockchain node can correspond to one or more channels, that is, a zone A block chain node can belong to one or more channels.
  • the channel attribute of a block chain node indicates that the block chain node corresponds to a certain channel, the block chain node can be called a member of the channel.
  • the channel attribute of a block chain node indicates that when the block chain node corresponds to multiple channels, the block chain node can be a member of multiple channels.
  • a blockchain network may include multiple blockchain nodes.
  • the number of blockchain nodes belonging to channel1 may be A1, and A1 is greater than or equal to 2; multiple blockchain nodes
  • the number of blockchain nodes belonging to channel2 can be A2, and A2 is greater than or equal to 2.
  • B1 of the A1 blockchain nodes can store the ledger of channel1; B1 is greater than or equal to 2.
  • B1 is less than or equal to A1.
  • A1 blockchain nodes in channel1 can be allowed to access the ledger of channel1
  • A2 blockchain nodes in channel2 can be allowed to access the ledger in channel2.
  • FIG. 2A is the first schematic diagram of the system architecture applied by the blockchain network-based data verification method provided by an embodiment of this application.
  • the system can be called a data right confirmation system, and the system can include a blockchain network 100 and a user terminal 10.
  • the blockchain network 100 may include multiple blockchain nodes 20, and the number of user terminals may be one or more.
  • the blockchain nodes in the blockchain network can be used to implement multiple network devices with business functions.
  • One or more user clients can be deployed on the user terminal, and the user clients deployed on the user terminal can interact with various network devices in the blockchain network that are implemented through blockchain nodes.
  • the user using the user terminal or the user client may correspond to a user identification.
  • one user can use one or more user terminals, that is, one user terminal can correspond to one user ID, or multiple user terminals can correspond to the same user ID.
  • One or more user clients can be deployed on each user terminal, and the user ID corresponding to the user client can be the user ID corresponding to the user account logged in on the user client, that is, one user client can correspond to one user ID
  • multiple user clients can correspond to the same user ID.
  • each user terminal used by a user and a user client deployed on each user terminal used by the user may correspond to the same user identification.
  • the system may include user terminals T1, T2, T3, and T4, where the user client deployed on each user terminal may include C1, C2, C3, C4, C5, C6, C7.
  • Table 1-1 is an illustration of the correspondence between users, user terminals, user clients, and network devices communicating through the user clients.
  • user 1 can use user terminal T1.
  • Three user clients C1, C2, and C3 are installed on T1.
  • User clients C1, C2, and C3 are respectively used to communicate with network device 1, network device 2.
  • the network device 3 communicates.
  • User 2 can use user terminals T2 and T3.
  • User client C4 installed on T2 can be used to communicate with network device 1
  • user client C5 installed on T2 can be used to communicate with network device 2 and network device 3.
  • T3 The user client C6 installed on the device can communicate with the network device 4, and the user 3 can use the user terminal T4.
  • the user client C7 installed on the T4 can be used to communicate with the network device 1, network device 2, network device 3, and network device 4. To communicate.
  • each blockchain node in the blockchain network can be used to implement the business functions of certain network devices.
  • the blockchain node corresponding to each network device can be maintained through the corresponding blockchain client.
  • the blockchain network may include: ordinary nodes P1, P2, P3, P4, P5, P6, and P7.
  • the network devices corresponding to the organizations to which P1 and P2 belong may be data user servers U1 and U2, respectively, and the network devices corresponding to the organizations to which P3, P4, and P5 belong are data provider servers V1, V2, and V3, respectively.
  • the network devices corresponding to the organizations to which P6 and P7 belong may be data agent servers W1 and W2.
  • the above-mentioned data users can provide banks and other institutions that provide users with business services, such as Industrial and Commercial Bank of China, Agricultural Bank, and China Construction Bank.
  • Data providers can store various credits of users for telecommunication operators and Internet transaction platforms. Recorded institutions, such as China Mobile, China Unicom, Jingdong Mall, Taobao, Alipay, etc.
  • Any bank client can be installed on the user terminal, and the user can perform operations on the bank client to initiate a business request to the bank.
  • the common nodes P1 and P2 of the corresponding network equipment type of the data user server can be referred to as user nodes
  • the common nodes P3, P4, and P5 of the corresponding network equipment type of the data provider server can be referred to as providing
  • the normal node P6 whose corresponding network device type is a data agent server can be called an agent node.
  • the proxy node is not a node that must exist in the blockchain network.
  • the use node can communicate with the user client deployed on the user terminal, the use node can communicate with one or more provision nodes, and the provision node can communicate with the user client deployed on the user terminal.
  • End communication For example, a user client that communicates with one or more use nodes may be installed on the user terminal, and the user terminal may communicate with the server on the use node based on the user client.
  • the use node is a bank server, then The user client used to communicate with the user node may be a mobile banking client.
  • a user client that communicates with one or more provider nodes may also be installed on the user terminal.
  • the client used to communicate with the providing node may be a mobile phone business hall client of an operator.
  • Table 1-2 is an illustration of the correspondence between the user client deployed on the user terminal and the blockchain node with various business functions when performing business interactions.
  • user client C1 can be used to communicate with using node U1
  • user client C5 can communicate with providing nodes V1 and V2
  • user client C7 can communicate with using node U1 and providing nodes V1 and V1.
  • V3 communicates.
  • the use node can be used to confirm the user credit data corresponding to the required user identification according to the service request carrying the user identification (for example, from receiving the service request carrying the user identification), and to obtain the user credit data corresponding to the user identification, and according to The obtained user credit data processes the service request carrying the user identification.
  • the user node may receive a service request carrying a user ID, and then send a data transaction request to the providing node.
  • the data transaction request may be used to request user credit data corresponding to the user ID required by the service request carrying the user ID. Then, the user credit data corresponding to the user identification provided by the providing node is received, and service processing is performed according to the received data.
  • the user credit data corresponding to the user ID may refer to the user credit data corresponding to the user ID logged in on the user client sending the service request, or the user ID of the user who uses the user terminal sending the service request corresponds to
  • the user’s credit data for example, the user’s credit report, telecommunication service usage record, life payment record, etc.
  • Provide nodes which can be used to provide massive user credit data.
  • the providing node can receive a data transaction request from any using node, and then, according to the user ID in the data transaction request, send a data authorization request to the user client corresponding to the user ID.
  • the data authorization request can be used to request confirmation Whether to allow the use node to use the user credit data corresponding to the user ID provided by the providing node, and then, when receiving the data authorization response sent by the user client, if the data authorization response indicates that the data authorization is confirmed, that is, when the authorization is successful, provide
  • the node sends the user credit data corresponding to the user identification previously requested by the node to the user node.
  • a proxy node may also be deployed in the system.
  • the user node in the system can communicate with one or more agent nodes, and the agent node can communicate with one or more provider nodes.
  • the proxy node may sign a data agency contract with the providing node in advance, and the data agency contract may stipulate the scope and period of user credit data that the proxy node obtains from the providing node and allows transactions with the user node.
  • the user node can send a data transaction request to the proxy node, and the proxy node can send a data transaction request to the providing node when confirming that the data requested by the user node belongs to the proxy node's proxy range.
  • the providing node obtains data authorization from the user client, it can send the user credit data requested by the user node to the proxy node, and the proxy node sends the user credit data to the user node.
  • the above-mentioned blockchain node deployed with certain business functions may be referred to as the first blockchain node.
  • the multiple blockchain nodes in the blockchain network may also include a blockchain node, and the blockchain node may be called a consensus node.
  • the consensus node can be used to receive the communication information transmitted in the blockchain network and record the communication information in the ledger of the blockchain network.
  • the communication information between blockchain nodes is spread by broadcasting, that is, one blockchain node sends any communication information to another blockchain node At this time, the communication information will also be sent to other neighboring blockchain nodes.
  • the consensus node can be a blockchain node in addition to sending or receiving certain communication information.
  • the consensus node can be used to verify the sender information carried in the communication information when receiving any communication information transmitted in the blockchain network, and confirm that the communication information is indeed the sender. When sending, confirm that the communication information has passed the verification. After that, the consensus node packs the communication information that has passed the verification to obtain a block, and sends the block containing the communication information to the accounting node in the blockchain network.
  • the consensus node may be a blockchain node other than using nodes, providing nodes, and proxy nodes.
  • the consensus node may be a blockchain node with the network function of an ordering node in the blockchain network.
  • Table 2-1 is an indication of the channel to which multiple blockchain nodes belong.
  • the blockchain nodes in channel1 and channel2 are partly the same.
  • the members of channel1 can include using node U1, providing nodes V1, V2, and V3, then the information between U1 and V1, the information between U1 and V2, and the information between U1 and V3 can be recorded In the ledger corresponding to channel1.
  • the members of channel2 can include using node U2, providing nodes V1, V2, and V3. Then the information between U2 and V1, the information between U2 and V2, and the information between U2 and V3 can be recorded in the ledger corresponding to channel2. It should be noted that U2 cannot access the ledger of channel 1, and U1 cannot access the ledger of channel.
  • Table 2-2 is another indication of the channel that multiple blockchain nodes belong to.
  • the members of channel1 can include using node U1, proxy node W1, and providing nodes V1, V2, and V3. Then the information between U1 and W1, the information between W1 and V1, the information between W1 and V2, and the information between W1 and V3 can be recorded in the ledger corresponding to channel1.
  • the members of channel2 can include using node U2, proxy node W2, providing nodes V1, V2, and V3, then the information between U2 and W2, the information between W2 and V1, the information between W2 and V2, and the information between W2 and V3 The information can be recorded in the ledger corresponding to channel2. It should be noted that U2 and W2 cannot access the ledger of channel1, and U1 and W1 cannot access the ledger of channel2.
  • FIG. 3 is an interactive flowchart 1 of a method for data right confirmation based on a blockchain network provided by an embodiment of this application.
  • the embodiments of the present application relate to user terminals, use nodes, provision nodes, and consensus nodes. As shown in Figure 3, the steps of the embodiment of the present application may include:
  • S301 The user client on the user terminal sends a service request carrying the user identifier to the using node.
  • a first user client that can be used to communicate with the user node may be installed on the user terminal, and the user terminal may use the first user client to send service requests to the user node, and a server may run on the user node.
  • the user identification carried in the service request may be a user identification corresponding to the user client or the user terminal.
  • the use node sends a service request to the consensus node.
  • the user node can send the service request and the information of the sender of the service request to the consensus node, that is, the identity of the user client or the user terminal.
  • the user node is located in the blockchain network.
  • the user node can broadcast the service request to the consensus node in the blockchain network through the communication link connected to itself. , So that the consensus node will verify the business request, package the business request when the verification is passed, generate a block, and send the block to the accounting node in the blockchain network so that the accounting node can Business requests are recorded in the ledger of the blockchain network in the form of blocks.
  • the consensus node can be any other blockchain node in the blockchain network except the use node.
  • each blockchain node in the blockchain network can use the communication link in the blockchain network to transmit communication information between the nodes.
  • Each blockchain node in the blockchain network can spread communication information through broadcast.
  • the consensus node verifies the business request, and when the verification is correct, records the business request in the ledger.
  • the consensus node if the consensus node receives the service request from the user node, the consensus node confirms that the verification is successful when confirming that the sender information carried in the service request is the user node.
  • the consensus node itself may not be a billing node, and the consensus node can package the received communication information into a block and send it to the billing node so that the billing node can transfer the communication information Recorded in the form of blocks in the ledger stored locally by the accounting node.
  • the user node determines the user credit data corresponding to the user identifier that needs to be obtained according to the service request.
  • the user node can determine the required user credit data identifier according to the service identifier of the service request.
  • S303 The using node sends a data transaction request to the providing node.
  • the data transaction request may include: user identification, user credit data identification, service identification of the service applied for by the user terminal, and so on.
  • the use node sends a data transaction request to the consensus node.
  • the using node can send the data transaction request in a similar manner to the sending of the service request in step S301-A.
  • the providing node sends a data transaction request to the consensus node.
  • the providing node can send the data transaction request in a manner similar to that of using the node to send the data transaction request in step S303-A.
  • S303-A and S303-B in the embodiment of the present application can be executed either.
  • the consensus nodes in step S303-B and step S303-A may be the same consensus node in the blockchain network, or may be different consensus nodes.
  • the consensus node in this step may be any blockchain node in the blockchain network except the providing node.
  • the consensus node verifies the data transaction request, and when the verification is correct, records the data transaction request in the ledger.
  • step S303-C is similar to step S301-C.
  • the consensus node verifies the sender's information carried in the data transaction request and confirms the data transaction When the sender of the request is a node, confirm that the verification is successful.
  • the manner in which the consensus node records the successfully verified data transaction request in the ledger is similar to the manner in which the business request is recorded in the ledger in step S301-C.
  • step S303 the using node can send a data transaction request to the providing node through the consensus node, and the consensus node will receive the data transaction request After that, on the one hand, the data transaction request can be forwarded to the providing node, and on the other hand, the data transaction request can be verified and recorded in the ledger.
  • S304 The providing node sends a data authorization request to the user client on the user terminal.
  • a second user client for communicating with the providing node may be deployed on the user terminal.
  • the user ID corresponding to the user account logged in on the second user client is the same as the user ID corresponding to the user account logged in on the first user client.
  • the second user client and the first user client may also be the same user client, and the user client supports both communication with the use node and communication with the providing node.
  • the data authorization request can be used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user ID provided by the providing node.
  • the data authorization request may be specifically used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node when receiving the service request of the first service sent by the first user client.
  • the data authorization request may include: the identification of the use node, the user identification, the identification of user credit data, the business identification of the service request, and so on.
  • the providing node sends a data authorization request to the consensus node.
  • the providing node can send the data authorization request in a similar manner to the sending of the data transaction request by the node in S303-A.
  • the consensus node verifies the data authorization request, and when the verification is correct, records the data authorization request in the ledger.
  • step S304-C is similar to step S303-C, the consensus node verifies the information of the sender carried in the data transaction request, and confirms that the verification is successful when confirming that the sender of the data authorization request is the providing node.
  • the manner in which the consensus node records the successfully verified data authorization request in the ledger is similar to the manner in which the data transaction request is recorded in the ledger in step S303-C.
  • S305 The user client on the user terminal outputs prompt information through the output device, the prompt information is used to request confirmation whether the user credit data provided by the providing node is allowed to be used by the user node.
  • the output device may be a display screen, speakers, earphones, etc. on the user terminal.
  • a second user client for communicating with the providing node may be installed on the user terminal, and a display interface for requesting the user to confirm whether the user is allowed to use the user credit provided by the providing node may be displayed on the display interface of the second user client.
  • the prompt information may include: the identification of the usage node, the user identification, the identification of user credit data, the business identification of the service request, and the selection button of whether to agree to authorization, etc.
  • S306 The user client on the user terminal receives input information through the input device, and the input information is used to confirm whether the user credit data provided by the user node is allowed to be used by the user node.
  • the input device may be a display screen with touch function, keyboard, button, microphone, etc.
  • the second user client can receive the user's touch operation on the display screen in the display interface. For example, if the user clicks the "Agree” button on the screen, the input information can be to confirm the authorization, if the user clicks the screen On the "Reject” button, the input information can be that authorization is not allowed.
  • S307 The user client on the user terminal sends a data authorization response to the providing node.
  • the data authorization response may carry indication information that the second user client on the user terminal confirms that it is allowed or confirmed that the use node is not allowed to use the user credit data provided by the providing node.
  • the data authorization response may include: using node identification, user identification, user credit data identification, service identification of the service request, and indication information of whether to agree to authorization, etc.
  • the second user client may also send a data authorization response only when the input information indicates that the user allows authorization.
  • the providing node sends a data authorization response to the consensus node.
  • the providing node may send the data authorization response to the consensus node after receiving the data authorization response sent by the second user client on the user terminal.
  • the consensus node verifies the data authorization response, and when the verification is correct, records the data authorization response in the ledger.
  • the consensus node can verify the sender of the data authorization response.
  • the sender is the second user client on the user terminal, confirm that the verification is successful, and record the data authorization response In the ledger.
  • S308 The providing node obtains user credit data corresponding to the user identifier.
  • the providing node may obtain the required user credit data when the confirmation data authorization response indicates that the second user client allows the use node to use the user credit data provided by the providing node.
  • steps S304 to S307-C may not be necessary steps in the embodiment of the present application.
  • the data transaction protocol can be a smart contract (chaincode, also known as chain code) The form of is stored on the providing node and the user node.
  • the data transaction protocol can stipulate the range of user identification allowed by the use node, the range of user credit data identification, and the use period of user credit data.
  • the providing node may obtain user credit data in many ways.
  • the providing node may obtain the user credit data corresponding to the user ID from the providing node's own database or the provider data server connected to it.
  • the provider data server may be located in the blockchain network or outside the blockchain network.
  • the provider may be a telecommunications operator, such as China Mobile, China Unicom, and China Telecom.
  • the user credit data provided by the corresponding provider node of China Mobile may be the user credit data provided by the corresponding user terminal when using China Mobile’s telecommunications service.
  • Some credit records for example, recharge records, arrears records, user star ratings, whether they belong to a blacklist, whether to send malicious text messages or make harassing calls, etc.
  • the providing node sends a data transaction response carrying user credit data corresponding to the user identifier to the using node.
  • the providing node may send a data transaction response to the using node.
  • the data transaction response may include: user identification, user credit data identification, user credit data use period, and service identification that allows the user node to use user credit data Wait.
  • the provision node sends a data transaction response to the consensus node.
  • the use node sends a data transaction response to the consensus node.
  • step S309-A and step S309-B are similar to S303-A and S303-B.
  • the consensus node verifies the data transaction response, and when the verification is correct, records the data transaction response in the ledger.
  • step S309-C is similar to step S303-C.
  • the using node processes the service request carrying the user identification according to the user credit data corresponding to the user identification.
  • the user node processes the service request according to the obtained user credit data, and provides the service corresponding to the requested service to the first user client on the user terminal when the user credit data meets the service requirement for the user credit level.
  • S311 The use node sends the service processing result to the user client on the user terminal.
  • the blockchain nodes in the blockchain network may be allowed to access the communication information in the ledger.
  • the number of consensus nodes and accounting nodes can be multiple. After any consensus node verifies any communication information received, it can send to other blocks in the blockchain network. The chain node broadcasts the verification result. When any accounting node stores any of the above communication information in the form of a block, it can notify other accounting nodes in the blockchain network to record the communication information synchronously to ensure the area The consistency of the ledgers stored in each accounting node in the blockchain network.
  • the number of providing nodes may be multiple.
  • the user credit data corresponding to the user identification may include user credit data corresponding to the user identification provided by multiple providing nodes, and the user node may send Multiple providing nodes respectively send data transaction requests, and any data transaction request can be used to request to obtain user credit data corresponding to the user identifier provided by the providing node that receives the data transaction request.
  • the user node may be Industrial and Commercial Bank of China, and the multiple providing nodes may be operators such as China Telecom, China Mobile, and China Unicom.
  • the user credit data required by the user node may include the user identification in China Telecom, China Mobile, User credit data recorded in China Unicom's database, for example, Zhang's user credit data in China Telecom, China Mobile, and China Unicom.
  • the interaction steps between each blockchain node and the consensus node and the processing steps of the consensus node in the above embodiments are not the steps that must be performed in this application. In actual applications, it can be based on traceable requirements, such as which Communication information needs to be recorded in the ledger, set on the use node and the providing node, and after receiving or sending the communication information that needs to be recorded in the ledger, the communication information that needs to be recorded is sent to the consensus node.
  • the blockchain node sending the communication information can be sent to the consensus node, or the blockchain node receiving the communication information can be sent to the consensus node.
  • the interaction information between the blockchain node and the user client on the user terminal it can be set to be sent by the blockchain node to the consensus node.
  • the communication information between the user client, the user node, and the providing node can all be recorded in the ledger in the blockchain network, so that the use process of user credit data can be traced. Therefore, the technical solution provided by this application improves the security of user credit data.
  • the providing node on the basis of providing the node to manage user credit data and signing a data transaction agreement with the user node, before the providing node provides user credit data to the user node, the providing node provides the user client again Confirm whether the data is authorized or not, so that users can understand the usage of their own user data in a timely manner, so that the use process of user credit data can be traced in real time on the user terminal side. In turn, the security of user credit data can be further improved.
  • the blockchain network may include: X channels; the blockchain nodes in the blockchain network may correspond to X One or more of the channels; wherein, the channel corresponding to the first blockchain node in the multiple blockchain nodes may include the i-th channel, and the second blockchain node in the multiple blockchain nodes corresponds to
  • the channels include the i-th channel, X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
  • the first blockchain node may be the sender of communication information
  • the second blockchain node may be the receiver of communication information.
  • the first blockchain node may be any of using nodes, providing nodes, and proxy nodes. One kind.
  • Any first blockchain node sending communication information to a consensus node may include: the first blockchain node sends channel information of the i-th channel to the consensus node through the i-th channel, so that the consensus node will The channel information of the i-th channel is recorded in the ledger corresponding to the i-th channel.
  • the channel information of the i-th channel may include: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or
  • the second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes the first blockchain node based on the information received from the user client.
  • the information sent by the i-channel to the second blockchain node, and the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client At least one.
  • the blockchain network may include M use nodes, and the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node; the consensus The node corresponds to one or more channels.
  • the first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information through the i-th channel and the jth usage node.
  • the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel
  • the second blockchain node is the j-th Use nodes; where M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
  • the following is an exemplary description of using multiple channels to achieve mutual isolation of communication information storage.
  • FIG. 4 is the second interaction flowchart of the method for data right confirmation based on the blockchain network provided by an embodiment of the application.
  • the embodiments of the present application may involve user terminal T1, multiple user nodes U1, U2, providing node V1, and consensus nodes Z1, Z2.
  • user terminal T1 can be deployed to communicate with each user node and providing node User client.
  • the channels corresponding to U1 and U2 are channel1 and channel2, respectively.
  • the communication information between T1 and U1, U1 and V1, U1 and Z1, and between V1 and Z1 and U1 are used
  • the communication link transmission of channel1 the communication information between T1 and U2, U2 and V1, U2 and Z2, and between V1 and Z2 related to U2 are transmitted using the communication link of channel2.
  • the consensus nodes Z1 and Z2 respectively store channel1 locally.
  • the ledger of channel2 Since the ledger of a channel is only allowed to be accessed by the members of the channel, the communication information maintained by each channel can be isolated from each other.
  • the steps of the embodiment of the present application may include:
  • the user terminal T1 sends a first service request carrying a user identity to the user node U1.
  • the user terminal T1 may send the first service request to U1 through the user client C1, and the user client C1 supports communication with U1.
  • the first service request carries the user ID as user 1, and the service ID as service 1.
  • the user terminal T1 sends a second service request carrying the user identifier to the user node U2.
  • the user terminal T1 may send the first service request to U2 through the user client C3, and the user client C3 supports communication with U2.
  • the second service request carries the user ID as user 1, and the service ID as service 2.
  • the consensus node Z1 writes the first service request into the ledger corresponding to channel1.
  • S402-B Use node U2 to send a second service request to consensus node Z2.
  • the consensus node Z2 writes the second service request into the ledger corresponding to channel2.
  • S403 The using node U1 determines that the required user credit data identifier is D1 according to the first service request.
  • the user credit data required by the first service request may be user credit data corresponding to user 1 and identified as D1.
  • S404 The using node U2 determines that the required user credit data identifier is D2 according to the second service request.
  • the user credit data required for the second service request may be user credit data corresponding to user 1 and identified as D2.
  • S405 The node U1 is used to send a first data transaction request to the providing node V1.
  • the first data transaction request may be used to request user credit data corresponding to user 1 and identified as D1.
  • the node U2 is used to send a second data transaction request to the providing node V1.
  • the second data transaction request may be used to request user credit data corresponding to user 1 and identified as D2.
  • the consensus node Z1 writes the first data transaction request into the ledger corresponding to channel1.
  • S406-C The consensus node Z2 writes the second data transaction request into the ledger corresponding to channel2.
  • the providing node V1 sends a first data authorization request to the user terminal T1.
  • the first data authorization request carries the user ID as user 1, the service ID as service 1, and the ID of required user credit data is D1.
  • the providing node V1 may send a first data authorization request to the user client C1 on the user terminal T1, and the user client C1 supports communication with U1 and V1.
  • the providing node V1 may The first data authorization request is sent to the user client C2 on the user terminal T1, and the user client C2 supports communication with V1.
  • the providing node V1 sends a second data authorization request to the user terminal T1.
  • the second data authorization request carries the user ID as user 1, the service ID as service 2, and the ID of the required user credit data is D2.
  • the providing node V1 may send a second data authorization request to the user client C3 on the user terminal T1, and the user client C3 supports communication with U2 and V1.
  • the providing node V1 may The second data authorization request is sent to the user client C4 on the user terminal T1, and the user client C4 supports communication with V1.
  • the providing node V1 sends the first data authorization request to the consensus node Z1.
  • S407-C The consensus node Z1 writes the first data authorization request into the ledger corresponding to channel1.
  • the providing node V1 sends the first data authorization request to the consensus node Z1.
  • S408-C The consensus node Z2 writes the second data authorization request into the ledger corresponding to channel2.
  • the user terminal T1 displays the first data authorization request on the user client and receives the first input information.
  • the user terminal T1 may display the first data authorization request on the user client C3 and receive the first input information.
  • S410 The user terminal T1 displays the second data authorization request on the user client and receives second input information.
  • the user terminal T1 may display the second data authorization request on the user client C4 and receive the second input information.
  • the user terminal T1 sends a first data authorization response to the providing node V1 according to the first input information.
  • the user terminal T1 may send the first data authorization response to the providing node V1 through the user client C3.
  • S412 The user terminal T1 sends a second data authorization response to the providing node V1 according to the second input information.
  • the user terminal T1 may send the first data authorization response to the providing node V1 through the user client C4.
  • the providing node V1 sends the first data authorization response to the consensus node Z1.
  • the consensus node Z1 writes the first data authorization response into the ledger corresponding to channel1.
  • the providing node V1 sends a second data authorization response to the consensus node Z2.
  • S412-C The consensus node Z2 writes the second data authorization response into the ledger corresponding to channel2.
  • S413 The providing node V1 obtains the user credit data D1 according to the first data authorization response.
  • the providing node V1 may obtain the user credit data D1 corresponding to the user 1 according to the first data authorization response.
  • S414 The providing node V1 obtains the user credit data D2 according to the second data authorization response.
  • the providing node V1 may obtain the user credit data D2 corresponding to the user 1 according to the second data authorization response.
  • S415 The providing node V1 sends a first data transaction response to the using node U1.
  • the first data transaction response may include user credit data D1 corresponding to user 1.
  • the providing node V1 can send the user credit data corresponding to the user ID to the consensus node, so that the consensus node records the user credit data in the blockchain, and the user node can obtain the user ID corresponding to the user ID from the blockchain.
  • User credit data can be sent to the consensus node, so that the consensus node records the user credit data in the blockchain, and the user node can obtain the user ID corresponding to the user ID from the blockchain.
  • S416 The providing node V1 sends a second data transaction response to the using node U2.
  • the second data transaction response may include user credit data D2 corresponding to user 1.
  • the provision node V1 sends the first data transaction response to the consensus node Z1.
  • the consensus node Z1 writes the first data transaction response into the ledger corresponding to channel1.
  • the provision node V1 sends a second data transaction response to the consensus node Z2.
  • the consensus node Z2 writes the second data transaction response into the ledger corresponding to channel2.
  • S417 Use the node U1 to process the first service request.
  • the node U1 is used to process the first service request according to the user credit data D1 corresponding to the user 1.
  • the use node U2 processes the second service request according to the user credit data D2 corresponding to the user 1.
  • the using node U1 may send a first service response to the user client C1 on the user terminal T1, and the first service response may include the processing result of the first service request by the using node U1.
  • S420 The node UE2 is used to send a second service response to the user terminal T1.
  • the use node U2 may send a second service response to the user client C3 on the user terminal T1, and the second service response may include the processing result of the second service request by the use node U2.
  • S419-A Use node U1 to send the first service response to consensus node Z1.
  • S419-C The consensus node Z1 writes the first service response into the ledger corresponding to channel1.
  • the consensus node Z2 writes the second business response into the ledger corresponding to channel2.
  • the manner in which each user node, the provider node sends communication information to the consensus node, and the manner in which the consensus node records the received communication information in the ledger can refer to the description in the foregoing embodiment. The only difference is: The consensus node writes the communication information of each channel into the ledger corresponding to the corresponding channel, which will not be repeated here.
  • the user node U1 is only allowed to access the ledger corresponding to channel1
  • the user node U2 is only allowed to access the ledger corresponding to channel2, so that it can be ensured that the communication information related to each user node is only allowed to be Member access in the channel.
  • the use node U1 can be ICBC
  • the use node U2 can be China Construction Bank. The storage of communication information during the data verification process of ICBC and China Construction Bank is isolated from each other, and ICBC and China Construction Bank cannot access the other bank. Communication information recorded in the related ledger.
  • the consensus nodes Z1 and Z2 can be the same blockchain node, that is, the consensus node can store the ledgers corresponding to channel1 and channel2 at the same time, but according to the requirements of isolation ,
  • the user node U1 is still only allowed to access the communication information in the ledger corresponding to channel1 on the consensus node, and the user node U2 is only allowed to access the communication information in the ledger corresponding to channel2 on the consensus node.
  • the communication information between the agent node and the user node and the providing node can also be recorded in the ledger corresponding to the channel according to the channel corresponding to the communication information.
  • user A can apply for a business from a data user company.
  • the data user company needs to make a credit evaluation on the user, and decide whether to handle the relevant business for the user according to the user's credit rating.
  • the data user company can request user A’s telecommunication data from the data agent.
  • the data agent checks whether there is any cooperation with the data user company, whether the cooperation has expired, etc., to confirm the authority of the data user company.
  • the enterprise returns a denial of service. If it has permission, the data agent will apply to the operator for user A’s data, and the operator will check the data agent’s authority.
  • the data agent will return a denial , If the data agent has the authority, the data of user A will be returned to the data agent. After that, the data user company can obtain user A's data from the data agent, make a credit evaluation on the user, and decide whether to handle the relevant business.
  • the blockchain nodes corresponding to each organization can be deployed in the blockchain network.
  • data users ie data users, such as banks
  • data provider companies ie, data providers, such as operators
  • data agents can be deployed as proxy nodes
  • the terminal used by the user can be a user terminal
  • one or more user clients can be deployed on the user terminal to communicate with each user node and each providing node.
  • the user can use the user client deployed on the user terminal to use the data
  • the enterprise initiates a service request carrying the user ID.
  • FIG. 5 is a schematic diagram of an application architecture of a method for data right confirmation based on a blockchain network provided by an embodiment of the application.
  • a proxy node is deployed in the blockchain network, between the user client on the user terminal and the user node, between the user node and the proxy node, and the proxy node and The providing node, the providing node and the user client on the user terminal can respectively establish a communication connection.
  • the user node can interact with the provider node through the agent node.
  • the business function of the proxy node may include at least one of the following: receiving a data transaction request sent by a user node, wherein the data transaction request is used to request user credit data corresponding to the user ID; and confirming the user node Whether it has the access authority to the user credit data corresponding to the user identification; and, when it is confirmed that the using node has the access authority, sending a data transaction request to the providing node; and receiving a data transaction response sent by the providing node, wherein the data transaction response Including user identification user credit data.
  • the proxy node may sign a data transaction contract with each user node and each provider node.
  • the data transaction contract between the proxy node and the providing node may stipulate the scope of the user credit data corresponding to the user ID obtained from a certain providing node by the proxy node, such as the scope of the user ID, the ID of the user credit data, the usage period, and the permission Use user credit data for business identification, etc.
  • the data transaction contract between the proxy node and the user node can also be similarly agreed.
  • Any agent node can sign data transaction contracts with multiple provider nodes, so that the service user node can be provided with user credit data corresponding to the user identifiers provided by the multiple provider nodes.
  • a communication connection can also be established between the proxy node in the blockchain network and any consensus node in the blockchain network.
  • the proxy node receives the communication information from the using node or the providing node, or the proxy node After sending the communication information to the user node or the providing node, the received or sent communication information can be sent to the consensus node so that the consensus node can verify the communication information received from the proxy node, and when the verification is successful, the The communication information received from the agent node is recorded in the ledger of the blockchain network in the form of blocks.
  • the basic process of the data right confirmation method provided in the embodiment of the present application may include the following stages.
  • each blockchain node broadcasting the communication information to be sent to the blockchain network.
  • the blockchain node as the sender of the communication information can communicate with neighbors.
  • Each blockchain node sends the communication information to be sent.
  • Each blockchain node in the blockchain network cooperates with each other according to the deployed business functions and network functions.
  • agent nodes, and providing nodes can be maintained through the data consumer blockchain client, data agent client, and data provider client respectively.
  • the use node sends a data use request to the blockchain network.
  • the using node encrypts with its own corresponding public key, adds a private key signature, and sends it to other blockchain nodes (the other blockchain node may be a blockchain node other than the using node).
  • the proxy node sends a data usage request to the blockchain network.
  • the agent node judges whether the using node has the data acquisition authority, if there is no authority, the processing flow is ended, if so, execute (2); (2) the agent node adds the data source list to the message M and packs it into a message M1, sent to other blockchain nodes (the other blockchain nodes may be blockchain nodes other than the proxy node).
  • the provision node applies to the user client on the user terminal for data usage rights.
  • the providing node sends the data source list and data authorization application to the user client on the user terminal (for example, the second user client in the foregoing embodiment, not shown in the figure); (2) user client integration The received data authorization application meets the requirements of the data source list, such as the quantity and applicant ID, and activates the authorization operation; (3) The user client signs each data authorization application (indicating that the user is allowed to provide the node to use the user in the data source list Data), and encrypted with the public key of the corresponding applicant (that is, the corresponding user node providing node) to generate a message M2, and send it to the providing node or other blockchain nodes connected to the user terminal (the other blockchain node may be In addition to providing nodes (blockchain nodes).
  • the providing node will use the node's information (such as bank information), data usage range, user data encrypted with the node's public key, and private key signature (that is, the signature of the user terminal) into a message M3 and send it to Other blockchain nodes (the other blockchain nodes may be other than the providing node); (2) After the user data is received by the user node (the message M3 can be decrypted and the user data can be extracted), Execute the smart contract, the input of the executed smart contract is the information of the use node and the information of the user terminal, and the output is the data use transaction.
  • the node's information such as bank information
  • data usage range such as bank information
  • user data encrypted with the node's public key such as the signature of the user terminal
  • private key signature that is, the signature of the user terminal
  • the use node can use the generated data use transaction (or the use node can receive it from the providing node or agent node (The user data of the user data) is sent to other blockchain nodes (the other blockchain node may be a blockchain node other than the use node); (3) The use node forwards user data to its own credit evaluation system, and identifies the user The corresponding user makes a credit evaluation, and processes the service request sent by the user client on the user terminal according to the credit evaluation result.
  • each node has established a cooperative relationship in advance, generates its own corresponding public key and private key pair and corresponding integer, and at the same time discloses their respective public keys in the blockchain network.
  • the communication message transmitted in the above-mentioned blockchain network may adopt a unified message format.
  • the communication information may include the following fields: sender, label, message, and so on.
  • Examples of unified message formats are as follows:
  • FIG. 6 is the third interaction flowchart of the method for data right confirmation based on the blockchain network provided by an embodiment of the application.
  • the embodiment of the application relates to the user client deployed on the terminal used by the user named Zhang, the ICBC blockchain node (i.e. the use node), the Unicom operator blockchain node (i.e. the provision node U1), and mobile operations Business blockchain node (i.e. providing node U2), data agent blockchain node (i.e. agent node W1) and other blockchain nodes (i.e. consensus node).
  • the actual business requirements of the embodiments of the application may include: Zhang goes to ICBC to handle loan business.
  • ICBC needs to use Zhang's user data stored in the operator to evaluate Zhang's credit.
  • ICBC as a data user, can sign a contract with a data agent to establish a data usage relationship.
  • the data agent acts as a unified external interface for the two operators to provide data services and provide data services for data users. Operators are data source companies, and they open user data to data users with authorization.
  • the steps of the embodiment of the present application may include:
  • the user client applies to the ICBC blockchain node for business and submits personal information.
  • a user can apply for a loan service to ICBC through the user client, and the personal information provided can include name, ID number, mobile phone number, etc.
  • the ICBC blockchain node packages Zhang's personal data and business application into a message M, the label field is "bank_request", and the private key signature is added, and the message M is sent to other blockchain nodes.
  • the content of the message M may be:
  • bankID is the ID of Industrial and Commercial Bank of China
  • bank_request indicates that the message is a request sent by the bank
  • the information in the message may include the user ID and the requested service ID.
  • the message M is broadcast by other blockchain nodes, it can be verified that the message originated from ICBC, confirm the consensus, and write the message M into the blockchain (ie, the ledger of the blockchain network).
  • the data agent blockchain node checks the label field in the message M. If the value of the label field is "bank_request”, execute S604. If the value of the label field is not "bank_request", only the transaction is written.
  • the data agent blockchain node executes the smart contract, inputs the public key of the ICBC blockchain node, and judges whether the ICBC blockchain node has the authority to obtain user data, and if so, execute S605.
  • the data agent blockchain node generates a message M1, the label field is "proxy_request", the message field adds a data source list, and the message M1 is sent to other blockchain nodes.
  • the content of the message M1 may be:
  • proxyID is the identification of the data agent
  • proxy_request indicates that the message is a request sent by the data agent
  • the information in the message can include the user identification (name, ID, telephone), the applied business identification (business), and the data source list (data_source_list).
  • the data agency blockchain node can sign a data agency contract with the mobile operator blockchain node and the Unicom operator blockchain node in advance.
  • the data agency contract can stipulate that the data agency node allows the use of mobile The scope, time limit, application scope, etc. of user data managed and provided by the blockchain node of the operator and Unicom operator.
  • the application scope may include: permitted banks, permitted business identifications, etc.
  • the data agency can determine the list of data sources that need to be obtained for this business within the scope of the data agency contract, so that the bank can obtain as much user data as possible. Exemplarily, if the data agent represents the data of the mobile operator and the Unicom operator, the identification of the mobile operator and the Unicom operator may be added to the message M1 as the data source list.
  • S607-1 The blockchain node of the Unicom operator checks the label field in the message M1. If the value of the label field is "proxy_request”, execute S607-2, and if the value of the label field is not "proxy_request", no operation is performed.
  • S608-1 The mobile operator blockchain node checks the label field in the message M1. If the value of the label field is "proxy_request”, execute S608-2, and if the value of the label field is not "proxy_request", no operation is performed.
  • the Unicom operator blockchain node generates a message M2, the label field value is "user_authorization_request", the message field includes the data source list and data use application, and the private key signature of the Unicom operator blockchain node is added and sent to User client.
  • the content of the message M2 may be:
  • data_source_ID is the identification of the data source company (such as Unicom operator blockchain node, mobile operator blockchain node), user_authorization_request indicates that the message is a request issued by the data provider (such as a user authorization request), and the information in the message It can include the data source list (data_source_list), the identification of the bank requesting the use of user data (such as ICBC's identification), and the content requested for authorization (such as ICBC's request to use your personal information).
  • data_source_list is the identification of the data source company (such as Unicom operator blockchain node, mobile operator blockchain node)
  • user_authorization_request indicates that the message is a request issued by the data provider (such as a user authorization request), and the information in the message It can include the data source list (data_source_list), the identification of the bank requesting the use of user data (such as ICBC's identification), and the content requested for authorization (such as ICBC's request to use your personal information).
  • the mobile operator blockchain node generates a message M2', the label field value is "user_authorization_request", the message field includes the data source list and the data use application, and the mobile operator blockchain node’s private key signature is added and sent To the user client.
  • the content of the message M2' may be:
  • each parameter is the same as that in S607-2.
  • S609 The user client activates the authorization operation when the number of data use requests received and the requester meets the requirements of the data source list.
  • the message M2 and the message M2' may be data use requests.
  • the data use request functions similarly to the data authorization request sent by the use node or the proxy node to the providing node in the foregoing embodiment, and both can request the user client to confirm or know its own data. The situation is used.
  • the data source list requirement may include the identification of one or more operators that the user client has negotiated and agreed to authorize, and the range of the amount of data requested to be used.
  • the data source list requirement may include the mobile operator's identification, and the range of the requested amount may include the number of user arrears in the past six months.
  • the user client can activate the authorization operation when confirming that it meets the requirements of the data source list.
  • the activation authorization operation may include: the user client may confirm that the user confirms the authorization when the identifier of the operator that requests the data authorization request for the use of data and the amount of data requested meet the requirements of the data source list.
  • the user client can display a prompt message confirming authorization to the user on the display interface to remind the user that the data is being used.
  • the user client can display on the display interface the identity of the operator requesting the use of data, the amount of data requested, and business information, and prompt the user to confirm whether to authorize the operator to provide the corresponding user to the bank Data, when the user enters to agree to the authorization, the user client confirms the user to confirm the authorization.
  • the user client separately signs each data usage request sent by each operator's blockchain node,
  • the user client can send a message M3 to each providing node.
  • the user client if the user client is connected to other blockchain nodes in the blockchain network, it can also send a message M3 to other blockchain nodes.
  • S612 may be executed directly without executing S611.
  • the content of the message M3 may be:
  • username is the user ID corresponding to the user terminal (such as Zhang)
  • user_authorization indicates that the message is user authorization (such as user authorization response) sent by the user terminal or user client
  • the information in the message can include various data sources (such as mobile , China Unicom) and the encrypted data authorization request corresponding to each data source (such as the M'message obtained by encrypting the M2 message with the user's private key signature and the public key of each data source (data_source_ID)).
  • each operator's blockchain node sends a message M3 to other blockchain nodes.
  • the mobile operator blockchain node and the China Unicom blockchain node may respectively send a message M3 to other blockchain nodes.
  • the message M3 after the message M3 is broadcast by other blockchain nodes, it can be verified that the message originated from the user client, confirm the consensus, and write the message M into the blockchain (ie, the ledger of the blockchain network).
  • each operator's blockchain node checks the label field in the message M3, and after confirming the user's signature, it packs the bank data, the data usage range, and the user data encrypted by the ICBC public key, and sends it to the ICBC blockchain node .
  • the ICBC blockchain node After receiving the user data, the ICBC blockchain node executes a smart contract, inputs ICBC data and user data, generates a data usage transaction, and sends it to other blockchain nodes.
  • S615 The ICBC blockchain node forwards the received user data to the credit evaluation system, and makes a credit evaluation on the user.
  • the blockchain network deployed with use nodes, proxy nodes, and provision nodes can interact with the user client deployed on the user terminal, where the use node can be from the user
  • the client receives the service request, and then the use node, proxy node, and provider node in the blockchain network perform their duties.
  • the use node confirms the user credit data corresponding to the user terminal that needs to be obtained, and the proxy node confirms whether the requested data belongs to
  • the agent scope of the agent node the provision node sends a data authorization request (ie data use request) to the user client, the user client obtains the confirmation information input by the user through the human-computer interaction with the user, and feeds the authorization result back to the providing node.
  • the ledger of the blockchain network can record the communication information between each blockchain node in the entire business process.
  • the blockchain network can also record the relationship between the user client and the blockchain node. It can be seen that the technical solutions provided in the embodiments of this application can achieve a complete record of the user data use process.
  • the preparation process information can be obtained from the ledger of the blockchain network.
  • the user may use one or more user clients deployed on one or more user terminals to communicate with each user node and provider node.
  • the user can use a user client to communicate with each providing node.
  • the embodiment of the present application also provides a data right confirmation device based on a blockchain network.
  • FIG. 7 is a structural schematic diagram 1 of a data right confirmation device based on a blockchain network provided by an embodiment of the application; as shown in FIG. 7, an embodiment of this application also provides a data right confirmation device 700 based on a blockchain network.
  • the device 700 Applied to the first blockchain node in the blockchain network, the device 700 includes:
  • the transceiver module 701 is used to send or receive communication information
  • the processing module 702 records the communication information in the ledger of the blockchain network
  • the blockchain network includes multiple blockchain nodes.
  • the multiple blockchain nodes include: using nodes and providing nodes; using nodes are used to request the providing node for the corresponding user identification according to the service request carrying the user identification User credit data; providing nodes, used to provide user credit data to using nodes; communication information including: information between the first blockchain node and any other blockchain node among the multiple blockchain nodes, and, At least one of the information between the first blockchain node and the user client; wherein the user client is used to send a service request carrying a user identification to the using node, and/or the user client is used to confirm whether to allow
  • the providing node provides user credit data corresponding to the user identifier to the user node; the first blockchain node is a blockchain node among multiple blockchain nodes.
  • the processing module 702 may instruct the transceiver module 701 to send communication information to the consensus node, so that the consensus node records the communication information in the ledger of the blockchain network; the consensus node is multiple blockchains Among the nodes, blockchain nodes other than the first blockchain node.
  • the transceiver module 701 may be specifically used for:
  • the second blockchain node is any other blockchain node except the first blockchain node among the multiple blockchain nodes.
  • the first blockchain node may be a user node; the user client is used to send a service request carrying a user identifier to the user node;
  • the transceiver module 701 may be specifically used to send or receive communication information, where the communication information specifically includes: information between the use node and other blockchain nodes among multiple blockchain nodes, and the use node and the user client At least one of the information between; the consensus node is any one of the multiple blockchain nodes except the use node.
  • the first blockchain node is a providing node; the user client is used to confirm whether the providing node is allowed to provide user credit data corresponding to the user ID to the user node;
  • the transceiver module 701 may be specifically used to send or receive communication information, where the communication information specifically includes: providing information between the node and other blockchain nodes among multiple blockchain nodes, and providing the node and user clients At least one of the information between the terminals; the consensus node is any one of the multiple blockchain nodes except the providing node.
  • the first blockchain node is a user node; the user client is used to send a service request carrying a user identifier to the user node; the transceiver module 701 is specifically used for at least one of the following:
  • the data transaction request is used to request the user credit data corresponding to the user ID, and the user credit data is used to use the node to process the business request carrying the user ID;
  • the data transaction response sent by the providing node is received, where the data transaction response includes user credit data corresponding to the user identification.
  • the first blockchain node is a providing node; the user client is used to confirm whether the providing node is allowed to provide user credit data corresponding to the user ID to the user node; the transceiver module 701 is specifically used for at least the following One:
  • Receive a data transaction request sent by the using node the data transaction request is used to request to obtain user credit data corresponding to the user ID, and the user credit data is used to use the node to process the service request carrying the user ID;
  • the data authorization request is used to request the user client to allow the user to provide user credit data corresponding to the user ID;
  • the data authorization response is used to confirm whether the user credit data corresponding to the user ID is allowed to be provided to the user node;
  • the multiple blockchain nodes include: proxy nodes; proxy nodes are used to receive data transaction requests sent by the use nodes, and the data transaction requests are used to request user credit data corresponding to the user identification; and, Confirm whether the using node has the access authority to the user credit data corresponding to the user ID; and, when confirming that the using node has the access authority, send a data transaction request to the providing node; and receive the data transaction response sent by the providing node.
  • the data transaction response includes User credit data corresponding to the user ID;
  • the first blockchain node is a proxy node; the transceiver module 701 is specifically used to send or receive communication information, where the communication information specifically includes: information between the proxy node and the user node, and the information between the proxy node and the providing node At least one.
  • the blockchain network includes: X channels; the blockchain nodes in the blockchain network correspond to one or more of the X channels; among them, the first blockchain node The corresponding channel includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
  • the transceiver module 701 is specifically configured to record channel information of the i-th channel in the ledger corresponding to the i-th channel;
  • the channel information of the i-th channel includes: the information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the second block chain node is based on the i-th channel
  • the information received by the channel is sent to the user client, and the information sent by the first blockchain node to the second blockchain node through the i-th channel based on the information received from the user client, and the second blockchain At least one of the information sent by the node to the first blockchain node through the i-th channel based on the information received from the user client;
  • X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
  • the blockchain network includes M user nodes, and the M user nodes respectively correspond to one of the X channels, and any user node transmits information through its corresponding channel and the providing node; consensus node Correspond to one or more channels;
  • the first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the providing node that transmits information through the i-th channel and the jth usage node; or ,
  • the first blockchain node is a node that provides information through the i-th channel and the j-th user node whose corresponding channel is the i-th channel, and the second blockchain node is the j-th user node;
  • M is an integer greater than 0
  • j is an integer greater than 0 and less than or equal to M.
  • the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
  • the multiple blockchain nodes include: proxy node; proxy node, used to receive data transaction requests sent by the user node, the data transaction request is used to request user credit data corresponding to the user ID; and to confirm whether the user node has the corresponding user ID User credit data access rights; and, when the user node is confirmed to have access rights, send a data transaction request to the providing node; and receive a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user ID;
  • the first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel
  • the second blockchain node is a proxy node that transmits information through the i-th channel with the jth usage node
  • the first blockchain node is a proxy node that transmits information through the i-th channel and the corresponding channel is the j-th user node of the i-th channel
  • the second blockchain node is the j-th user node
  • the block chain node is a proxy node that transmits information through the i-th channel with the j-th user node whose corresponding channel is the i-th channel
  • the second block chain node is the provision of information transmitted through the i-th channel with the first block chain node node;
  • M is an integer greater than 0
  • j is an integer greater than 0 and less than or equal to M.
  • the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
  • the processing module 702 may be used to confirm the identification of the user credit data required according to the service request.
  • the processing module 702 may use To confirm whether the using node has the authority to access user credit data corresponding to the user ID; when the device 700 is located at the proxy node, the processing module 702 can be used to confirm whether the using node has the authority to access the user credit data corresponding to the user ID provided by the providing node
  • the processing module 702 can be used to confirm whether the using node has the authority to access the user credit data corresponding to the user ID provided by the providing node
  • the data right confirmation device based on the blockchain network provided by the embodiment of the present application can be used to implement the method executed by each blockchain node in any of the foregoing embodiments.
  • the data right confirmation device based on the blockchain network provided by the embodiment of the present application can be used to implement the method executed by each blockchain node in any of the foregoing embodiments.
  • FIG. 8 is a schematic diagram 2 of the structure of a data right confirmation device based on a blockchain network provided by an embodiment of the application.
  • an embodiment of the present application also provides a data right confirmation device 800 based on a blockchain network, which is applied to a user terminal or a user client.
  • the device 800 includes:
  • the transceiver module 801 is configured to receive a data authorization request carrying a user ID corresponding to the user client sent by the providing node, and the data authorization request is used to request permission for the user node to use the user credit data corresponding to the user ID provided by the providing node;
  • the output module 802 is configured to output prompt information through an output device, and the prompt information is used to request confirmation whether the use node is allowed to use the user credit data corresponding to the user identification provided by the providing node;
  • the using node and the providing node are the blockchain nodes in the blockchain network, and the using node is used to request the user credit data corresponding to the user identifier from the providing node.
  • the transceiver module 801 may be specifically configured to receive at least two data authorization requests sent by at least two providing nodes, and the at least two data authorization requests respectively correspond to at least two providing nodes one-to-one.
  • a data authorization request is used to request that the user node be allowed to use the user credit data corresponding to the user ID provided by the provider node that sent the data authorization request;
  • the use node is used to request user credit data corresponding to the user identification from at least two providing nodes, and the user credit data corresponding to the user identification includes: user credit data corresponding to the user identification respectively provided by the at least two providing nodes;
  • the prompt information is used to request confirmation whether the use node is allowed to use the user credit data corresponding to the user identification provided by the at least two providing nodes respectively.
  • the apparatus 800 may further include:
  • Input module 802 the input module is used to receive input information through an input device, and the input information is used to confirm whether the use node is allowed to use the user credit data corresponding to the user identification provided by at least two providing nodes;
  • the transceiver module 801 is further configured to send data authorization responses to the providing nodes when the input information indicates that the user is allowed to use the user credit data corresponding to the user identification provided by the at least two providing nodes, and any data authorization response is used to confirm the permission
  • the using node uses the user credit data corresponding to the user identification provided by the providing node that receives the data authorization response.
  • the device 800 may further include a processing module 804.
  • the processing module 804 may be used to generate a data authorization response according to the input information of the user. Please refer to the steps performed by the user terminal or the user client in the previous embodiment. description of.
  • the data right confirmation device based on the blockchain network provided by the embodiment of the application can be used to implement the method executed by each user client and the second user client in any of the foregoing embodiments.
  • the data right confirmation device based on the blockchain network provided by the embodiment of the application can be used to implement the method executed by each user client and the second user client in any of the foregoing embodiments.
  • An embodiment of the present application also provides a blockchain node that executes the steps in the data identification method described in any of the foregoing embodiments.
  • the blockchain node may be a server or a terminal.
  • An embodiment of the present application also provides a user client, which is used to execute the steps in the data identification method described in any of the foregoing embodiments.
  • FIG. 9 is a schematic diagram of the structure of the blockchain node provided by the embodiment of the application.
  • an embodiment of the present application also provides a blockchain node 900, including: one or more processors 901; a memory 902, used to store one or more programs; when the one or more programs It is executed by the one or more processors, so that the one or more processors implement the steps performed by the first blockchain node in the method described in the foregoing embodiment.
  • the blockchain node may be a server or a terminal.
  • the blockchain node 900 may also include an interface 903 for communicating with a user terminal provided with a user client.
  • the server may also include a bus 904 for implementing internal communication within the server.
  • FIG. 10 is a schematic structural diagram of the user terminal provided in the embodiment of the present application.
  • the user terminal 1000 includes: one or more processors 1001; a memory 1002 for storing one or more programs; when the one or more programs are executed by the one or more processors , Enabling the one or more processors to implement the steps performed by the user terminal and the user client deployed on the user terminal in the method described in the foregoing embodiment.
  • the user terminal 1000 may further include an interface 1003 for communicating with blockchain nodes.
  • the user client 1000 may also include a bus 1004 for implementing internal communication.
  • the present application provides a computer-readable storage medium, including a computer program, which when executed on a computer, causes the computer to execute the method described in any one of the foregoing embodiments.
  • This application provides a computer program, when the computer program is executed by a computer, it is used to execute the method described in any one of the foregoing embodiments.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk).

Abstract

A method, apparatus and system for data ownership confirmation based on a blockchain network. The method comprises: a first blockchain node in a blockchain network sending or receiving communication information; and recording the communication information in a ledger, wherein the blockchain network comprises a usage node and a providing node, the usage node is used for requesting user credit data according to a service request, and the providing node is used for providing the user credit data; and the communication information comprises information between the first blockchain node and another blockchain node or a user client.

Description

基于区块链网络的数据确权方法及相关装置Data confirmation method and related device based on blockchain network
本申请要求于2019年06月28日提交中国专利局、申请号为201910575178.1、申请名称为“基于区块链网络的数据确权方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed with the Chinese Patent Office on June 28, 2019, the application number is 201910575178.1, and the application name is "Blockchain network-based data verification method and related devices". The reference is incorporated in this application.
技术领域Technical field
本申请涉及区块链领域技术,尤其涉及基于区块链网络的数据确权方法及相关装置。This application relates to the technology in the blockchain field, and in particular to a method and related devices for data verification based on a blockchain network.
背景技术Background technique
随着信息技术的发展,人们的日常生活与数字世界的结合越来越紧密。当用户在日常生活中需要向一些业务服务的提供商申请业务服务时,业务服务的提供商需要对用户的个人信息进行检验,以确定是否向用户提供该用户所申请的业务服务。例如,银行可以向用户提供各种类型的金融服务,银行在受理用户的业务请求后,需要向第三方数据提供商获取可信的用户数据,以便根据获取到的用户数据确认是否向用户提供相应服务。第三方数据提供商可以预先记录海量用户的用户数据。With the development of information technology, people's daily life is more and more closely integrated with the digital world. When a user needs to apply for business services from some business service providers in daily life, the business service provider needs to check the user's personal information to determine whether to provide the user with the business service requested by the user. For example, a bank can provide users with various types of financial services. After accepting a user’s business request, the bank needs to obtain credible user data from a third-party data provider in order to confirm whether to provide the user with the corresponding service. Third-party data providers can pre-record user data of a large number of users.
在这一类业务处理的场景中,使用数据的机构可以称为数据使用商,提供数据的第三方数据提供商可以称为数据提供商,在开始接收业务请求之前,数据使用商可以预先与数据提供商签订数据交易合约,约定允许数据使用商获取并使用的数据等,这样,数据使用商在接收到用户的业务请求后,可以随时从数据使用商获取需要的用户数据,并对用户申请的业务进行处理。In this type of business processing scenario, the organization that uses the data can be called the data user, and the third-party data provider that provides the data can be called the data provider. Before receiving the business request, the data user can The provider signs a data transaction contract, agreeing on the data that the data user is allowed to obtain and use, so that the data user can obtain the required user data from the data user at any time after receiving the user’s business request, and apply for the user’s request The business is processed.
但是,采用这种处理方式,由于数据使用商与数据提供商之间交易用户数据的过程信息,仅仅记录在数据使用商和数据提供商的服务器上,当用户怀疑自身的用户数据泄露时,仅仅通过数据使用商和数据提供商两方记录的过程信息,无法确定数据是由哪一方泄露的。However, with this processing method, since the process information of the user data transaction between the data user and the data provider is only recorded on the server of the data user and the data provider, when the user suspects the leakage of his user data, only Through the process information recorded by the data user and the data provider, it is impossible to determine who leaked the data.
为了提高用户数据的安全性,目前,亟需一种可追溯的数据使用的方法。In order to improve the security of user data, there is an urgent need for a traceable data usage method.
发明内容Summary of the invention
本申请提供了一种基于区块链网络的数据确权方法及相关装置,能够提供一种可追溯的数据使用方法来提高用户数据的安全性。This application provides a method and related device for data right confirmation based on a blockchain network, which can provide a traceable data usage method to improve the security of user data.
第一方面,本申请提供一种基于区块链网络的数据确权方法,所述方法包括:In the first aspect, this application provides a method for data confirmation based on a blockchain network, the method including:
区块链网络中的第一区块链节点发送或者接收通信信息;The first blockchain node in the blockchain network sends or receives communication information;
所述第一区块链节点将所述通信信息记录在区块链网络的账本中;The first blockchain node records the communication information in the ledger of the blockchain network;
其中,所述区块链网络包括多个区块链节点,所述多个区块链节点包括:使用节点和提供节点;所述使用节点,用于根据携带有用户标识的业务请求,向所述提供节点请求所述用户标识对应的用户信用数据;所述提供节点,用于向所述使用节点提供用户信用数据;所述通信信息包括:所述第一区块链节点与所述多个区块链节点中的任一其他区块链节点之间的信息,以及,第一区块链节点与用户客户端之间的信息中至少一种;其中,所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求,和/或,所述用 户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;所述第一区块链节点为所述多个区块链节点中的区块链节点。Wherein, the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier. The providing node requests user credit data corresponding to the user identification; the providing node is configured to provide user credit data to the user node; the communication information includes: the first blockchain node and the plurality of At least one of the information between any other blockchain nodes in the blockchain node, and the information between the first blockchain node and the user client; wherein, the user client is used to The using node sends the service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node; The first blockchain node is a blockchain node among the plurality of blockchain nodes.
在本申请中,当采用区块链网络部署数据使用场景中的使用节点和提供节点,并利用区块链网络中的账本记录区块链节点之间以及区块链节点与用户客户端之间的通信信息,能够实现一种可追溯的数据使用方法。In this application, when using the blockchain network to deploy the use nodes and providing nodes in the data usage scenario, and use the ledger in the blockchain network to record between the blockchain nodes and between the blockchain nodes and the user client The communication information can realize a traceable data usage method.
示例性地,第一区块链节点并不特指区块链节点中的具有特定编号的区块链节点,在本申请实施例中,第一区块链节点可以是区块链网络的多个区块链节点中的使用节点、提供节点、代理节点中任一种或多种区块链节点。本申请实施例提供的技术方案能够将使用节点、提供节点、代理节点间交互的通信信息以及使用节点和提供节点与用户终端上的用户客户端交互的通信信息记录在区块链的账本中,来实现数据使用的可追溯的需求。Exemplarily, the first block chain node does not specifically refer to the block chain node with a specific number among the block chain nodes. In the embodiment of the present application, the first block chain node may be a block chain network. Any one or more of the use nodes, provide nodes, and proxy nodes in each blockchain node. The technical solution provided by the embodiments of the present application can record the communication information between the user node, the providing node, and the agent node, and the communication information between the user node and the user terminal and the user client on the user terminal in the blockchain ledger. To achieve the traceability requirements of data usage.
在一种可能的实现方式中,所述区块链网络还包括:共识节点;所述第一区块链节点为所述多个区块链节点中除所述共识节点之外的区块链节点;In a possible implementation manner, the blockchain network further includes: a consensus node; the first blockchain node is a blockchain other than the consensus node among the plurality of blockchain nodes node;
所述第一区块链节点将所述通信信息记录在区块链网络的账本中,包括:The first blockchain node to record the communication information in the ledger of the blockchain network includes:
所述第一区块链节点向所述共识节点发送所述通信信息,以使所述共识节点将所述通信信息以区块的形式发送给区块链网络中的记账节点,所述记账节点用于将包含所述通信信息的区块记录在区块链网络的账本中。举例来说,记账节点为所述区块链网络中除所述共识节点之外的区块链节点,示例性地,记账节点可以为使用节点、提供节点等区块链节点。The first blockchain node sends the communication information to the consensus node, so that the consensus node sends the communication information to the accounting node in the blockchain network in the form of a block. The account node is used to record the block containing the communication information in the ledger of the blockchain network. For example, the accounting node is a blockchain node other than the consensus node in the blockchain network. Illustratively, the accounting node may be a blockchain node such as a user node, a provider node, etc.
在一种可能的实现方式中,所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:In a possible implementation manner, sending or receiving communication information by the first blockchain node in the blockchain network includes:
所述第一区块链节点向第二区块链节点发送所述通信信息;或者,The first blockchain node sends the communication information to the second blockchain node; or,
所述第一区块链节点接收所述第二区块链节点发送的所述通信信息;或者,The first blockchain node receives the communication information sent by the second blockchain node; or,
所述第一区块链节点向所述用户客户端发送所述通信信息;或者,The first blockchain node sends the communication information to the user client; or,
所述第一区块链节点接收所述用户客户端发送的所述通信信息;The first blockchain node receives the communication information sent by the user client;
其中,所述第二区块链节点为所述多个区块链节点中除所述第一区块链节点之外的任一其他区块链节点。Wherein, the second block chain node is any other block chain node except the first block chain node among the plurality of block chain nodes.
在一种可能的实现方式中,所述第一区块链节点为所述使用节点;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;In a possible implementation manner, the first blockchain node is the user node; the user client is configured to send the service request carrying the user identifier to the user node;
所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:所述使用节点发送或者接收通信信息,其中,所述通信信息具体包括:所述使用节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述使用节点与所述用户客户端之间的信息中至少一种。示例性地,使用节点可以在发送或者接收通信信息之后,向共识节点发送通信信息,所述共识节点为所述多个区块链节点中除所述使用节点之外的任一区块链节点。The sending or receiving of communication information by the first blockchain node in the blockchain network includes: the user node sending or receiving communication information, wherein the communication information specifically includes: the user node and the plurality of At least one of the information between other blockchain nodes in the blockchain node, and the information between the use node and the user client. Exemplarily, a user node may send communication information to a consensus node after sending or receiving communication information, and the consensus node is any blockchain node other than the user node among the plurality of blockchain nodes .
在一种可能的实现方式中,所述第一区块链节点为所述提供节点;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;In a possible implementation manner, the first blockchain node is the providing node; the user client is used to confirm whether the providing node is allowed to provide the user corresponding to the user ID to the user node Credit data;
所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:所述提供节点发送或者接收通信信息,其中,所述通信信息具体包括:所述提供节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述提供节点与所述用户客户端之间的信息中至少一种;所述共识节点为所述多个区块链节点中除所述提供节点之外的任一区块链节 点。Sending or receiving communication information by the first blockchain node in the blockchain network includes: the providing node sending or receiving communication information, wherein the communication information specifically includes: the providing node and the plurality of Information between other blockchain nodes in the blockchain node, and at least one of the information between the providing node and the user client; the consensus node is the multiple blockchain nodes Any blockchain node other than the provision node.
在一种可能的实现方式中,所述第一区块链节点为所述使用节点;所述区块链网络中的第一区块链节点发送或者接收通信信息,包括以下至少一种:In a possible implementation, the first blockchain node is the user node; the first blockchain node in the blockchain network sends or receives communication information, including at least one of the following:
所述使用节点接收所述用户客户端发送的业务请求;The use node receives the service request sent by the user client;
所述使用节点向所述提供节点发送数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The use node sends a data transaction request to the providing node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the use node to process the user Identified business request;
所述使用节点接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The using node receives a data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier.
相应的,上述通信信息可以具体包括以下至少一种:Correspondingly, the aforementioned communication information may specifically include at least one of the following:
所述使用节点接收到的由所述用户客户端发送的携带所述用户标识的业务请求;The service request that is received by the user node and sent by the user client and carries the user identifier;
所述使用节点向所述提供节点发送的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The data transaction request sent by the using node to the providing node, where the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the using node to process the data carrying the Service request of user ID;
所述使用节点从所述提供节点接收的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The data transaction response received by the using node from the providing node, where the data transaction response includes user credit data corresponding to the user identification.
在一种可能的实现方式中,所述第一区块链节点为所述提供节点;所述区块链网络中的第一区块链节点发送或者接收通信信息,包括以下至少一种:In a possible implementation, the first blockchain node is the providing node; the first blockchain node in the blockchain network sends or receives communication information, including at least one of the following:
所述提供节点接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The providing node receives a data transaction request sent by the using node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the using node to process the data carrying the Service request of user ID;
所述提供节点向所述用户客户端发送数据授权请求,所述数据授权请求用于请求允许向所述使用节点提供所述用户标识对应的用户信用数据;The providing node sends a data authorization request to the user client, where the data authorization request is used to request permission to provide the user credit data corresponding to the user identifier to the user node;
所述提供节点接收所述用户客户端发送的数据授权响应,所述数据授权响应用于确认是否允许向所述使用节点提供所述用户标识对应的用户信用数据;The providing node receives a data authorization response sent by the user client, where the data authorization response is used to confirm whether the user credit data corresponding to the user identifier is allowed to be provided to the user node;
所述提供节点向所述使用节点发送数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The providing node sends a data transaction response to the using node, where the data transaction response includes user credit data corresponding to the user identifier.
相应地,所述通信信息具体包括以下至少一种:Correspondingly, the communication information specifically includes at least one of the following:
所述提供节点从所述使用节点接收到的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The data transaction request received by the providing node from the user node, where the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the user node to process and carry information The service request of the user ID;
所述提供节点向所述用户客户端发送的数据授权请求,所述数据授权请求用于确认是否允许向所述使用节点提供所述用户标识对应的用户信用数据;A data authorization request sent by the providing node to the user client, where the data authorization request is used to confirm whether the user credit data corresponding to the user identifier is allowed to be provided to the user node;
所述提供节点从所述用户客户端接收的数据授权响应,所述数据授权响应包括所述用户标识对应的用户信用数据;A data authorization response received by the providing node from the user client, where the data authorization response includes user credit data corresponding to the user identifier;
所述提供节点向所述使用节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The data transaction response sent by the providing node to the using node, where the data transaction response includes user credit data corresponding to the user identifier.
在一种可能的实现方式中,所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应 的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;In a possible implementation, the multiple blockchain nodes include: a proxy node; the proxy node is used to receive a data transaction request sent by the user node, and the data transaction request is used to request the User credit data corresponding to the user identification; and, confirming whether the use node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the use node has the access authority, send all the information to the providing node The data transaction request; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identification;
所述第一区块链节点为所述代理节点;所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:所述代理节点发送或者接收通信信息,其中,所述通信信息具体包括:所述代理节点与所述使用节点之间的信息,所述代理节点与所述提供节点之间的信息中至少一种;所述共识节点为所述多个区块链节点中除所述代理节点之外的任一区块链节点。The first blockchain node is the proxy node; sending or receiving communication information by the first blockchain node in the blockchain network includes: sending or receiving communication information by the proxy node, wherein The communication information specifically includes: information between the proxy node and the user node, at least one of information between the proxy node and the providing node; the consensus node is the multiple blockchain nodes Any blockchain node other than the proxy node.
在一种可能的实现方式中,所述区块链网络包括:X个通道;所述区块链网络中的区块链节点分别对应X个通道中的一个或多个通道;其中,所述第一区块链节点对应的通道包括第i通道,所述区块链网络中的第二区块链节点对应的通道包括第i通道;In a possible implementation manner, the blockchain network includes: X channels; the blockchain nodes in the blockchain network respectively correspond to one or more of the X channels; wherein, the The channel corresponding to the first blockchain node includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
所述第一区块链节点将所述通信信息记录在区块链网络的账本中,包括:所述第一区块链节点将所述第i通道的通道信息记录在第i通道对应的账本中;The first blockchain node recording the communication information in the ledger of the blockchain network includes: the first blockchain node records the channel information of the i-th channel in the ledger corresponding to the i-th channel in;
所述第i通道的通道信息包括:所述第一区块链节点与所述第二区块链节点之间通过第i通道传输的信息,以及,所述第一区块链节点或者所述第二区块链节点基于从所述第i通道接收的信息向所述用户客户端发送的信息,以及,所述第一区块链节点基于从所述用户客户端接收的信息通过第i通道向第二区块链节点发送的信息,以及,所述第二区块链节点基于从所述用户客户端接收的信息通过第i通道向所述第一区块链节点发送的信息中至少一种;其中,X为大于0的整数,i为大于0且小于或者等于X的整数。The channel information of the i-th channel includes: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the The second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes through the i-th channel based on the information received from the user client Information sent to the second blockchain node, and at least one of the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client Species; where X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
示例性地,第一区块链节点可以通过所述第i通道向区块链网络中的共识节点发送第i通道的通道信息,以使共识节点对第i通道的通信信息进行打包,生成区块,并将区块发送给所属通道为第i通道的记账节点,第i通道的记账节点可用于将第i通道的通道信息记录在第i通道的账本中。Exemplarily, the first blockchain node can send the channel information of the i-th channel to the consensus node in the blockchain network through the i-th channel, so that the consensus node can package the communication information of the i-th channel to generate a zone Block and send the block to the accounting node whose channel is the i-th channel. The accounting node of the i-th channel can be used to record the channel information of the i-th channel in the ledger of the i-th channel.
在一种可能的实现方式中,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;所述共识节点对应一个或多个通道;In a possible implementation manner, the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node; The consensus node corresponds to one or more channels;
所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为通过第i通道与第j个使用节点传输信息的提供节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的提供节点,所述第二区块链节点为第j个使用节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information through the i-th channel and the jth usage node. Providing node; or, the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node
其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
在一种可能的实现方式中,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;In a possible implementation manner, the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The multiple blockchain nodes include: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, the data transaction request is used to request user credit data corresponding to the user identifier; and , Confirm whether the using node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the using node has the access authority, send the data transaction request to the providing node; and, receive The data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier;
所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为与第j个使用节点通过第i通道传输信息的代理节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为第j个使用节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为与所述第一区块链节点通过第i通道传输信息的提供节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information with the jth usage node through the i-th channel Proxy node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th use node corresponding to the i-th channel, and the second blockchain node is the The first blockchain node transmits the information providing node through the i-th channel;
其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
示例性地,区块链网络中的共识节点可以对应一个或多个通道。Exemplarily, the consensus node in the blockchain network may correspond to one or more channels.
在一种可能的实现方式中,所述提供节点为运营商服务器;所述用户信用数据为所述用户标识对应的运营商信用数据。In a possible implementation manner, the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
第二方面,本申请提供一种基于区块链网络的数据确权方法,所述方法包括:In the second aspect, this application provides a method for data confirmation based on a blockchain network, the method including:
共识节点接收通信信息,并将所述通信信息记录在区块链网络的账本中;The consensus node receives the communication information, and records the communication information in the ledger of the blockchain network;
其中,所述区块链网络包括多个区块链节点,所述多个区块链节点包括:使用节点和提供节点;所述使用节点,用于根据携带有用户标识的业务请求,向所述提供节点请求所述用户标识对应的用户信用数据;所述提供节点,用于向所述使用节点提供用户信用数据;所述共识节点为所述多个区块链节点中的区块链节点;所述通信信息包括:区块链节点之间的信息,以及,区块链节点与用户客户端之间的信息中至少一种;其中,所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求,和/或,所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据。Wherein, the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier. The providing node requests user credit data corresponding to the user identifier; the providing node is configured to provide user credit data to the user node; the consensus node is a blockchain node among the plurality of blockchain nodes The communication information includes: information between the blockchain nodes, and at least one of the information between the blockchain nodes and the user client; wherein, the user client is used to send to the user node The service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node.
示例性地,共识节点可以从第一方面所述方法中的第一区块链节点接收通信信息。第一区块链节点可以为区块链网络的多个区块链节点中的使用节点、提供节点、代理节点。Exemplarily, the consensus node may receive communication information from the first blockchain node in the method described in the first aspect. The first blockchain node may be a user node, a provider node, or a proxy node among multiple blockchain nodes in the blockchain network.
在一种可能的实现方式中,所述通信信息包括所述通信信息的发送方;In a possible implementation manner, the communication information includes the sender of the communication information;
所述将所述通信信息记录在区块链网络的账本中,包括:The recording the communication information in the ledger of the blockchain network includes:
所述共识节点对所述通信信息的发送方进行校验;The consensus node verifies the sender of the communication information;
在校验成功时,共识节点可以将所述通信信息封装为区块,发送给记账节点,以使所述记账节点将所述通信信息记录在所述记账节点本地存储的账本中;When the verification is successful, the consensus node may encapsulate the communication information into a block and send it to the accounting node, so that the accounting node records the communication information in the account book locally stored by the accounting node;
其中,区块链网络中的记账节点为区块链网络中本地存储有账本或者账本副本的区块链节点。示例性地,记账节点可以是第一方面中的第一区块链节点。Among them, the accounting node in the blockchain network is a blockchain node that locally stores a ledger or a copy of the ledger in the blockchain network. Exemplarily, the accounting node may be the first blockchain node in the first aspect.
在一种可能的实现方式中,所述通信信息包括:所述使用节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述使用节点与所述用户客户端之间的信息中至少一种;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;In a possible implementation manner, the communication information includes: information between the use node and other blockchain nodes among the plurality of blockchain nodes, and the use node and the user At least one of the information between the clients; the user client is used to send the service request carrying the user identifier to the using node;
所述共识节点为所述多个区块链节点中除所述使用节点之外的任一区块链节点;The consensus node is any blockchain node among the multiple blockchain nodes except the use node;
所述共识节点接收通信信息,包括:所述共识节点接收所述使用节点发送的所述通信信息。The receiving of the communication information by the consensus node includes: the consensus node receiving the communication information sent by the using node.
在一种可能的实现方式中,所述通信信息包括:所述提供节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述提供节点与所述用户客户端之间的信息中至少一种;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;In a possible implementation manner, the communication information includes: information between the providing node and other blockchain nodes among the plurality of blockchain nodes, and the providing node and the user At least one of the information between the clients; the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node;
所述共识节点为所述多个区块链节点中除所述提供节点之外的任一区块链节点;The consensus node is any one of the multiple blockchain nodes except the providing node;
所述共识节点接收通信信息,包括:所述共识节点接收所述提供节点发送的所述通信信息。The receiving of the communication information by the consensus node includes: the consensus node receiving the communication information sent by the providing node.
在一种可能的实现方式中,所述区块链网络还包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;In a possible implementation, the blockchain network further includes: a proxy node; the proxy node is used to receive a data transaction request sent by the user node, and the data transaction request is used to request the user Identifying the corresponding user credit data; and, confirming whether the using node has the access authority to the user credit data corresponding to the user identifier; and, when confirming that the using node has the access authority, sending the providing node A data transaction request; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identifier;
所述共识节点接收通信信息,包括:所述共识节点接收所述代理节点发送的所述通信信息;其中,所述通信信息具体包括:所述代理节点与所述使用节点之间的信息,所述代理节点与所述提供节点之间的信息中至少一种。The receiving of the communication information by the consensus node includes: the consensus node receiving the communication information sent by the proxy node; wherein the communication information specifically includes: information between the proxy node and the user node, and At least one of the information between the agent node and the providing node.
在一种可能的实现方式中,所述区块链网络包括:X个通道;所述区块链网络中的区块链节点分别对应X个通道中的一个或多个通道;其中,所述使用节点的数量为M个,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;所述共识节点对应一个或多个通道;In a possible implementation manner, the blockchain network includes: X channels; the blockchain nodes in the blockchain network respectively correspond to one or more of the X channels; wherein, the The number of use nodes is M, and the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node; the consensus node corresponds to one or more channels;
所述共识节点接收通信信息包括:所述共识节点接收所述共识节点对应的第i通道的通道信息,并将接收到的所述第i通道的通道信息打包为区块,发送给所属通道为第i通道的记账节点,以使该记账节点将第i通道的通信信息记录在第i通道对应的账本中;The receiving of the communication information by the consensus node includes: the consensus node receives the channel information of the i-th channel corresponding to the consensus node, packs the received channel information of the i-th channel into a block, and sends it to the channel to which it belongs. The accounting node of the i-th channel, so that the accounting node records the communication information of the i-th channel in the ledger corresponding to the i-th channel;
第i通道的通道信息包括以下至少一种:The channel information of the i-th channel includes at least one of the following:
对应的通道为第i通道的使用节点与第一用户客户端之间的信息,所述第一用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;The corresponding channel is the information between the use node of the i-th channel and the first user client, and the first user client is configured to send the service request carrying the user identifier to the use node;
对应的通道为第i通道的使用节点与提供节点之间的信息,The corresponding channel is the information between the using node and the providing node of the i-th channel,
提供节点基于从第i通道接收的信息向第二用户客户端发送的信息以及从用户终端接收的信息;所述第二用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;The providing node sends the information to the second user client based on the information received from the i-th channel and the information received from the user terminal; the second user client is used to confirm whether the providing node is allowed to provide all the information to the using node User credit data corresponding to the user identifier;
其中,X为大于0的整数,M为大于0的整数,i为大于0且小于或者等于X的整数。Wherein, X is an integer greater than 0, M is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
第三方面,本申请提供一种基于区块链网络的数据确权方法,所述方法包括:In the third aspect, this application provides a method for data right confirmation based on a blockchain network, the method including:
用户客户端接收提供节点发送的携带有所述用户客户端对应的用户标识的数据授权请求,所述数据授权请求用于请求允许使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;The user client receives a data authorization request sent by a providing node that carries a user ID corresponding to the user client, and the data authorization request is used to request permission to use the node to use the user credit corresponding to the user ID provided by the providing node data;
所述用户客户端通过输出设备输出提示信息,所述提示信息用于请求确认是否允许所述使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;The user client outputs prompt information through an output device, where the prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node;
其中,所述使用节点、所述提供节点为区块链网络中的区块链节点,所述使用节点用于向所述提供节点请求用户标识对应的用户信用数据。Wherein, the use node and the provision node are blockchain nodes in a blockchain network, and the use node is used to request the user credit data corresponding to the user identifier from the provision node.
在本申请中,当采用区块链网络部署数据使用场景中的使用节点和提供节点,并利用区块链网络中的提供节点向用户客户端请求确认是否允许使用节点使用提供节点所提供的用户标识对应的用户信用数据,用户可以及时了解数据的使用情况,因此,本申请能够实现一种可追溯的数据使用方法。In this application, when using the blockchain network to deploy the use nodes and providing nodes in the data usage scenario, and use the providing nodes in the blockchain network to request the user client to confirm whether the use nodes are allowed to use the users provided by the providing nodes By identifying the corresponding user credit data, the user can know the usage of the data in time. Therefore, this application can implement a traceable data usage method.
在本申请中,用户终端上可以部署用户客户端(如第二用户客户端),该用户客户端可以用于与一个或多个提供节点通信,例如,接收一个或多个提供节点发送的数据授权请求,以及,向一个或多个提供节点发送数据授权响应。该用户客户端可以将来自多个提供节点的数据授权请求整合后通过输出设备输出提示信息。该用户客户端可以对应一个用户标识,从而可以使得用户可以对来自一个或多个提供节点的一个或多个用户信用数据的数据授权请求进行集中确认。在一些情况下,该用户客户端还可以用于与一个或多个使用节点通信(即该用户客户端可以同时具有第一用户客户端的功能,第一用户客户端与第二用户客户端对应相同的用户标识),例如,向一个或多个使用节点发送业务请求,以及,接收一个或多个使用节点发送的业务处理结果。In this application, a user client (such as a second user client) may be deployed on the user terminal, and the user client may be used to communicate with one or more providing nodes, for example, to receive data sent by one or more providing nodes Authorization request, and sending data authorization response to one or more providing nodes. The user client can integrate data authorization requests from multiple providing nodes and output prompt information through an output device. The user client can correspond to a user identification, so that the user can centrally confirm the data authorization request for one or more user credit data from one or more provision nodes. In some cases, the user client can also be used to communicate with one or more user nodes (that is, the user client can have the functions of the first user client at the same time, and the first user client and the second user client correspond to the same The user identifier of the user ID), for example, sending a service request to one or more using nodes, and receiving a service processing result sent by one or more using nodes.
在一种可能的实现方式中,用户客户端接收提供节点发送的数据授权请求,可以包括:用户客户端接收提供节点发送的数据授权请求,所述数据授权请求包括数据源列表和用户标识对应的用户信用数据的标识列表,其中,数据源列表包括一个或多个提供节点的标识。在一种实施方式中,提供节点发送的数据授权请求可以为第二数据授权请求,提供节点可以在接收到代理节点发送的第一数据授权请求后发送第二数据授权请求,需要说明的是,使用节点向代理节点发送数据交易请求时,可以包括数据源列表和用户信用数据的标识的列表,代理节点可以分别向数据源列表中的多个提供节点发送第一数据授权请求,任一第一数据授权请求可以包含数据源列表和用户信用数据的标识列表。In a possible implementation, the user client receiving the data authorization request sent by the providing node may include: the user client receiving the data authorization request sent by the providing node, where the data authorization request includes the data source list and the corresponding user ID An identification list of user credit data, where the data source list includes identifications of one or more provision nodes. In an embodiment, the data authorization request sent by the providing node may be a second data authorization request, and the providing node may send the second data authorization request after receiving the first data authorization request sent by the proxy node. It should be noted that, When using a node to send a data transaction request to an agent node, it may include a data source list and a list of user credit data identifiers. The agent node may send a first data authorization request to multiple providing nodes in the data source list, and any one of the first The data authorization request may include a list of data sources and an identification list of user credit data.
在一种可能的实现方式中,所述用户客户端接收提供节点发送的携带有所述用户客户端对应的用户标识的数据授权请求,包括:所述用户客户端接收至少两个提供节点发送的至少两个数据授权请求,所述至少两个数据授权请求分别与所述至少两个提供节点一一对应,任一数据授权请求用于请求所述用户客户端允许所述使用节点使用发送数据授权请求的提供节点提供的用户标识对应的用户信用数据;In a possible implementation, the user client receiving the data authorization request sent by the providing node and carrying the user identification corresponding to the user client includes: the user client receiving the data authorization request sent by at least two providing nodes At least two data authorization requests, the at least two data authorization requests respectively correspond to the at least two providing nodes one-to-one, and any data authorization request is used to request the user client to allow the user node to use the sending data authorization User credit data corresponding to the user ID provided by the requested providing node;
其中,所述使用节点用于分别向所述至少两个提供节点请求所述用户标识对应的用户信用数据,所述用户标识对应的用户信用数据包括:由所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据;Wherein, the use node is used to request the user credit data corresponding to the user identification from the at least two providing nodes, and the user credit data corresponding to the user identification includes: the user credit data provided by the at least two providing nodes respectively User credit data corresponding to the user identifier;
所述提示信息用于请求确认是否允许所述使用节点使用所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据。The prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes respectively.
在一种可能的实现方式中,所述方法还包括:In a possible implementation manner, the method further includes:
所述用户客户端通过自身的输出设备输出提示信息,所述提示信息用于请求确认是否允许所述使用节点使用所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据;The user client outputs prompt information through its own output device, where the prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
所述用户客户端通过输入设备接收输入信息,所述输入信息用于确认是否允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据;The user client receives input information through an input device, where the input information is used to confirm whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
在所述输入信息表示允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据时,所述用户终端分别向所述提供节点发送数据授权响应,任一所述数据授权响应用于确认允许所述使用节点使用接收数据授权响应的提供节点所提供的所述用户标识对应的用户信用数据。When the input information indicates that the user credit data corresponding to the user identification provided by the at least two providing nodes is allowed to be used by the user node, the user terminal sends a data authorization response to the providing node, either The data authorization response is used to confirm that the user node is allowed to use the user credit data corresponding to the user identification provided by the providing node that receives the data authorization response.
在一种可能的实现方式中,所述数据授权请求用于请求允许所述使用节点在接收到第一业务的业务请求时,使用所述提供节点所提供的所述用户标识对应的用户信用数据。In a possible implementation, the data authorization request is used to request permission for the user node to use the user credit data corresponding to the user identifier provided by the providing node when receiving the service request of the first service. .
第四方面,本申请提供一种基于区块链网络的数据确权系统,所述系统包括:多个区块链节点;所述多个区块链节点包括:使用节点和提供节点;其中,所述使用节点,用于根据携带有用户标识的业务请求,向所述提供节点请求所述用户标识对应的用户信用数据;所述提供节点,用于提供用户信用数据;In a fourth aspect, the present application provides a data right confirmation system based on a blockchain network, the system includes: a plurality of blockchain nodes; the plurality of blockchain nodes includes: use nodes and provide nodes; wherein, The using node is configured to request the user credit data corresponding to the user identifier from the providing node according to a service request carrying a user identifier; the providing node is configured to provide user credit data;
所述多个区块链节点中的至少一个区块链节点,还用于发送或者接收通信信息,并将所述通信信息记录在区块链网络的账本中;其中,所述通信信息包括:区块链节点之间的信息,以及,区块链节点与用户客户端之间的信息中至少一种;其中,所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求,和/或,所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据。At least one of the multiple blockchain nodes is also used to send or receive communication information, and record the communication information in the ledger of the blockchain network; wherein the communication information includes: At least one of the information between the blockchain nodes and the information between the blockchain node and the user client; wherein the user client is used to send to the user node information that carries the user identifier The service request, and/or, the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node.
在本申请实施例中,上述至少一个区块链节点可以将通信信息发送给区块链网络中的共识节点,共识节点对通信信息进行打包,生成区块,并发送给记账节点,记账节点可以将包含通信信息的区块存储在区块链网络的账本中。示例性地,共识节点可以是除了使用节点或者提供节点或者代理节点之外的区块链节点。In the embodiment of the present application, the above-mentioned at least one blockchain node can send communication information to a consensus node in the blockchain network, and the consensus node packages the communication information to generate a block and send it to the accounting node for accounting Nodes can store blocks containing communication information in the ledger of the blockchain network. Exemplarily, the consensus node may be a blockchain node other than the use node or the providing node or the proxy node.
在一种可能的实现方式中,所述至少一个区块链节点为使用节点;所述通信信息具体包括:所述使用节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述使用节点与所述用户客户端之间的信息中至少一种;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求。In a possible implementation manner, the at least one blockchain node is a user node; the communication information specifically includes: between the user node and other blockchain nodes among the plurality of blockchain nodes And at least one of the information between the use node and the user client; the user client is configured to send the service request carrying the user identifier to the use node.
示例性地,所述使用节点,还可以用于在发送或者接收所述通信信息后,向所述共识节点发送所述通信信息;共识节点可以为所述多个区块链节点中除所述使用节点之外的任一区块链节点。Exemplarily, the use node may also be used to send the communication information to the consensus node after sending or receiving the communication information; the consensus node may be the number of blockchain nodes in addition to the Use any blockchain node other than the node.
在一种可能的实现方式中,所述通信信息具体包括以下至少一种:In a possible implementation manner, the communication information specifically includes at least one of the following:
所述使用节点接收到的所述用户客户端发送的携带所述用户标识的业务请求;The service request that carries the user identifier and is sent by the user client received by the user node;
所述使用节点向所述提供节点发送的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The data transaction request sent by the using node to the providing node, where the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the using node to process the data carrying the Service request of user ID;
所述使用节点从所述提供节点接收的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The data transaction response received by the using node from the providing node, where the data transaction response includes user credit data corresponding to the user identification.
在一种可能的实现方式中,所述至少一个区块链节点为提供节点;In a possible implementation manner, the at least one blockchain node is a providing node;
所述通信信息具体包括:所述提供节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述提供节点与所述用户客户端之间的信息中至少一种;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据。The communication information specifically includes: information between the providing node and other blockchain nodes among the plurality of blockchain nodes, and at least among the information between the providing node and the user client One; the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node.
示例性地,所述提供节点,还用于在发送或者接收所述通信信息后,向共识节点发送所述通信信息;所述共识节点为所述至少两个区块链节点中除所述提供节点之外的任一区块链节点。Exemplarily, the providing node is further configured to send the communication information to a consensus node after sending or receiving the communication information; the consensus node is the at least two blockchain nodes in addition to the providing Any blockchain node other than the node.
在一种可能的实现方式中,所述通信信息具体包括以下至少一种:In a possible implementation manner, the communication information specifically includes at least one of the following:
所述提供节点从所述使用节点接收到的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户标识对应的用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The data transaction request received by the providing node from the user node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data corresponding to the user identification is used for the user node Processing the service request carrying the user identifier;
所述提供节点向所述用户客户端发送的数据授权请求,所述数据授权请求用于请求允许所述使用节点使用所述提供节点所提供的所述用户标识对应的用户信用数据;A data authorization request sent by the providing node to the user client, where the data authorization request is used to request that the user node be allowed to use the user credit data corresponding to the user identifier provided by the providing node;
所述提供节点从所述用户客户端接收的数据授权响应,所述数据授权响应包括所述用户标识对应的用户信用数据;A data authorization response received by the providing node from the user client, where the data authorization response includes user credit data corresponding to the user identifier;
所述提供节点向所述使用节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The data transaction response sent by the providing node to the using node, where the data transaction response includes user credit data corresponding to the user identifier.
在一种可能的实现方式中,所述多个区块链节点还包括:代理节点;In a possible implementation manner, the multiple blockchain nodes further include: proxy nodes;
所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The proxy node is configured to receive a data transaction request sent by the using node, the data transaction request is used to request user credit data corresponding to the user identification; and to confirm whether the using node has the user identification corresponding And, when confirming that the user node has the access right, send the data transaction request to the providing node; and receive the data transaction response sent by the providing node, the data transaction The response includes user credit data corresponding to the user identification;
所述通信信息具体包括:所述代理节点与所述使用节点之间的信息,所述代理节点与所述提供节点之间的信息中至少一种。The communication information specifically includes: at least one of information between the proxy node and the use node, and information between the proxy node and the providing node.
在一种可能的实现方式中,所述区块链网络包括:X个通道;所述多个区块链节点分别对应X个通道中的一个或多个通道;其中,In a possible implementation manner, the blockchain network includes: X channels; the multiple blockchain nodes respectively correspond to one or more of the X channels; wherein,
所述使用节点的数量为M个,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;The number of the use nodes is M, the M use nodes respectively correspond to one of the X channels, and any use node transmits information to the providing node through its corresponding channel;
第i通道的通道信息包括以下至少一种:The channel information of the i-th channel includes at least one of the following:
对应的通道为第i通道的使用节点与第一用户客户端之间的信息,所述第一用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;The corresponding channel is the information between the use node of the i-th channel and the first user client, and the first user client is configured to send the service request carrying the user identifier to the use node;
对应的通道为第i通道的使用节点与提供节点之间的信息;The corresponding channel is the information between the using node and the providing node of the i-th channel;
提供节点基于从第i通道接收的信息向第二用户客户端发送的信息以及从第二用户客户端接收的信息;所述第二用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;The providing node sends the information to the second user client based on the information received from the i-th channel and the information received from the second user client; the second user client is used to confirm whether the providing node is allowed to use The node provides user credit data corresponding to the user identifier;
其中,X为大于0的整数,M为大于0的整数,i为大于0且小于或者等于X的整数。Wherein, X is an integer greater than 0, M is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
示例性地,区块链网络中共识节点的数量为Y个,任一共识节点对应一个或多个通道,所述Y个共识节点中的第j个共识节点,具体用于接收第j个共识节点对应的第i通道的通道信息,并将接收到的第i通道的通道信息记录在第i通道对应的账本中;Y为大于0的整数,j为大于0且小于或者等于Y的整数。Exemplarily, the number of consensus nodes in the blockchain network is Y, any consensus node corresponds to one or more channels, and the jth consensus node among the Y consensus nodes is specifically used to receive the jth consensus The channel information of the i-th channel corresponding to the node, and the received channel information of the i-th channel is recorded in the ledger corresponding to the i-th channel; Y is an integer greater than 0, and j is an integer greater than 0 and less than or equal to Y.
在本申请中,区块链网络中的任一区块链节点可以通过在对应的通道内广播的方式向对应通道相同的其他区块链节点发送信息。In this application, any blockchain node in the blockchain network can send information to other blockchain nodes with the same corresponding channel by broadcasting in the corresponding channel.
在一种可能的实现方式中,所述提供节点,还用于向所述用户客户端发送数据授权请求,所述数据授权请求用于请求允许所述使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据。In a possible implementation manner, the providing node is further configured to send a data authorization request to the user client, and the data authorization request is used to request permission for the user node to use the data provided by the providing node. User credit data corresponding to the user ID.
在一种可能的实现方式中,所述提供节点为运营商服务器;所述用户信用数据为所述用户标识对应的运营商信用数据。In a possible implementation manner, the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
第五方面,本申请还提供一种基于区块链网络的数据确权装置,应用于区块链网络中的第一区块链节点,所述装置包括:In a fifth aspect, this application also provides a data right confirmation device based on a blockchain network, which is applied to the first blockchain node in the blockchain network, and the device includes:
收发模块,用于发送或者接收通信信息;The transceiver module is used to send or receive communication information;
处理模块,用于将所述通信信息记录在区块链网络的账本中;Processing module, used to record the communication information in the ledger of the blockchain network;
其中,所述区块链网络包括多个区块链节点,所述多个区块链节点包括:使用节点和提供节点;所述使用节点,用于根据携带有用户标识的业务请求,向所述提供节点请求所述用户标识对应的用户信用数据;所述提供节点,用于向所述使用节点提供用户信用数据;所述通信信息包括:所述第一区块链节点与所述多个区块链节点中的任一其他区块链节点之间的信息,以及,第一区块链节点与用户客户端之间的信息中至少一种;其中,所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求,和/或,所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;所述第一区块链节点为所述多个区块链节点中的区块链节点。Wherein, the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier. The providing node requests user credit data corresponding to the user identification; the providing node is configured to provide user credit data to the user node; the communication information includes: the first blockchain node and the plurality of At least one of the information between any other blockchain nodes in the blockchain node, and the information between the first blockchain node and the user client; wherein, the user client is used to The using node sends the service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node; The first blockchain node is a blockchain node among the plurality of blockchain nodes.
示例性地,所述收发模块,还用于向共识节点发送所述通信信息,以使所述共识节点将所述通信信息记录在区块链网络的账本中;所述共识节点为所述多个区块链节点中除所述第一区块链节点之外的区块链节点;Exemplarily, the transceiver module is further configured to send the communication information to the consensus node, so that the consensus node records the communication information in the ledger of the blockchain network; the consensus node is the multiple A block chain node other than the first block chain node among the block chain nodes;
在一种可能的实现方式中,所述收发模块,具体用于:In a possible implementation manner, the transceiver module is specifically used for:
向第二区块链节点发送所述通信信息;或者,Send the communication information to the second blockchain node; or,
接收所述第二区块链节点发送的所述通信信息;或者,Receiving the communication information sent by the second blockchain node; or,
向所述用户客户端发送所述通信信息;或者,Sending the communication information to the user client; or,
接收所述用户客户端发送的所述通信信息;Receiving the communication information sent by the user client;
其中,所述第二区块链节点为所述多个区块链节点中除所述第一区块链节点之外的任一其他区块链节点。Wherein, the second block chain node is any other block chain node except the first block chain node among the plurality of block chain nodes.
在一种可能的实现方式中,所述第一区块链节点为所述使用节点;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;In a possible implementation manner, the first blockchain node is the user node; the user client is configured to send the service request carrying the user identifier to the user node;
所述收发模块,具体用于发送或者接收通信信息,其中,所述通信信息具体包括:所述使用节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述使用节点与所述用户客户端之间的信息中至少一种;所述共识节点为所述多个区块链节点中除所述使用节点之外的任一区块链节点。The transceiver module is specifically configured to send or receive communication information, where the communication information specifically includes: information between the use node and other blockchain nodes among the plurality of blockchain nodes, and, At least one of the information between the usage node and the user client; the consensus node is any blockchain node among the plurality of blockchain nodes except the usage node.
在一种可能的实现方式中,所述第一区块链节点为所述提供节点;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;In a possible implementation manner, the first blockchain node is the providing node; the user client is used to confirm whether the providing node is allowed to provide the user corresponding to the user ID to the user node Credit data;
所述收发模块,具体用于发送或者接收通信信息,其中,所述通信信息具体包括:所述提供节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述提供节点与所述用户客户端之间的信息中至少一种;所述共识节点为所述多个区块链节点中除所述提供节点之外的任一区块链节点。The transceiver module is specifically configured to send or receive communication information, where the communication information specifically includes: information between the providing node and other blockchain nodes among the plurality of blockchain nodes, and, At least one of the information between the providing node and the user client; the consensus node is any one of the plurality of blockchain nodes except the providing node.
在一种可能的实现方式中,所述第一区块链节点为所述使用节点;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;所述收发模块,具体用于以下至少一种:In a possible implementation manner, the first blockchain node is the user node; the user client is used to send the service request carrying the user identifier to the user node; The transceiver module is specifically used for at least one of the following:
接收所述用户客户端发送的携带所述用户标识的所述业务请求;Receiving the service request carrying the user identifier sent by the user client;
向所述提供节点发送数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;Send a data transaction request to the providing node, the data transaction request is used to request to obtain the user credit data corresponding to the user ID, and the user credit data is used by the user node to process the service request carrying the user ID ;
接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。Receive a data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identification.
在一种可能的实现方式中,所述第一区块链节点为所述提供节点;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;所述收发模块,具体用于以下至少一种:In a possible implementation manner, the first blockchain node is the providing node; the user client is used to confirm whether the providing node is allowed to provide the user corresponding to the user ID to the user node Credit data; the transceiver module is specifically used for at least one of the following:
接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;Receive a data transaction request sent by the use node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the use node to process the service carrying the user identification request;
向所述用户客户端发送数据授权请求,所述数据授权请求用于请求所述用户客户端允许向所述使用节点提供所述用户标识对应的用户信用数据;Sending a data authorization request to the user client, where the data authorization request is used to request the user client to allow the user client to provide the user credit data corresponding to the user identifier;
接收所述用户客户端发送的数据授权响应,所述数据授权响应用于确认是否允许向所述使用节点提供所述用户标识对应的用户信用数据;Receiving a data authorization response sent by the user client, where the data authorization response is used to confirm whether to allow the user credit data corresponding to the user identification to be provided to the user node;
向所述使用节点发送数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。Send a data transaction response to the use node, where the data transaction response includes user credit data corresponding to the user identification.
在一种可能的实现方式中,所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;In a possible implementation, the multiple blockchain nodes include: a proxy node; the proxy node is used to receive a data transaction request sent by the user node, and the data transaction request is used to request the User credit data corresponding to the user identification; and, confirming whether the use node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the use node has the access authority, send all the information to the providing node The data transaction request; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identification;
所述第一区块链节点为所述代理节点;所述收发模块,具体用于发送或者接收通信信息,其中,所述通信信息具体包括:所述代理节点与所述使用节点之间的信息,所述代理节点与所述提供节点之间的信息中至少一种。The first blockchain node is the proxy node; the transceiver module is specifically used to send or receive communication information, where the communication information specifically includes: information between the proxy node and the user node , At least one of the information between the agent node and the providing node.
示例性地,所述收发模块可以在发送或者接收通信信息后向共识节点发送通信信息,所述共识节点为所述多个区块链节点中除所述代理节点之外的任一区块链节点。Exemplarily, the transceiver module may send communication information to a consensus node after sending or receiving communication information, and the consensus node is any one of the plurality of blockchain nodes except the proxy node node.
在一种可能的实现方式中,所述区块链网络包括:X个通道;所述区块链网络中的区块链节点分别对应X个通道中的一个或多个通道;其中,所述第一区块链节点对应的通道包括第i通道,所述区块链网络中的第二区块链节点对应的通道包括第i通道;In a possible implementation manner, the blockchain network includes: X channels; the blockchain nodes in the blockchain network respectively correspond to one or more of the X channels; wherein, the The channel corresponding to the first blockchain node includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
所述收发模块,具体用于将所述第i通道的通道信息记录在第i通道对应的账本中;The transceiver module is specifically configured to record the channel information of the i-th channel in the ledger corresponding to the i-th channel;
所述第i通道的通道信息包括:所述第一区块链节点与所述第二区块链节点之间通过第i通道传输的信息,以及,所述第一区块链节点或者所述第二区块链节点基于从所述第i通道接收的信息向所述用户客户端发送的信息,以及,所述第一区块链节点基于从所述用户客户端接收的信息通过第i通道向第二区块链节点发送的信息,以及,所述第二区块链节点基于从所述用户客户端接收的信息通过第i通道向所述第一区块链节点发送的信息中至少一种;The channel information of the i-th channel includes: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the The second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes through the i-th channel based on the information received from the user client Information sent to the second blockchain node, and at least one of the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client Species
其中,X为大于0的整数,i为大于0且小于或者等于X的整数。Wherein, X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
示例性地,收发模块可以通过所述第i通道向所述共识节点发送第i通道的通道信息,以使所述共识节点打包第i通道的通信信息,生成区块,并将区块发送给第i通道对应的记账节点,第i通道的记账节点将第i通道的通信信息记录在第i通道对应的账本中。Exemplarily, the transceiver module may send the channel information of the i-th channel to the consensus node through the i-th channel, so that the consensus node packs the communication information of the i-th channel, generates a block, and sends the block to The accounting node corresponding to the i-th channel, the accounting node of the i-th channel records the communication information of the i-th channel in the ledger corresponding to the i-th channel.
在一种可能的实现方式中,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;所述共识节点对应一个或多个通道;In a possible implementation manner, the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node; The consensus node corresponds to one or more channels;
所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为通过第i通道与第j个使用节点传输信息的提供节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的提供节点,所述第二区块链节点为第j个使用节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information through the i-th channel and the jth usage node. Providing node; or, the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node
其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
在一种可能的实现方式中,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;In a possible implementation manner, the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The multiple blockchain nodes include: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, the data transaction request is used to request user credit data corresponding to the user identifier; and , Confirm whether the using node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the using node has the access authority, send the data transaction request to the providing node; and, receive The data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier;
所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为与第j个使用节点通过第i通道传输信息的代理节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为第j个使用节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为与所述第一区块链节点通过第i通道传输信息的提供节点;其中,M为大于0的整数,j为大于0且小于或者等于M的整数。The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information with the jth usage node through the i-th channel Proxy node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th use node corresponding to the i-th channel, and the second blockchain node is the The first blockchain node transmits the information providing node through the i-th channel; where M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
示例性地,区块链网络中的共识节点对应一个或多个通道。Exemplarily, the consensus node in the blockchain network corresponds to one or more channels.
在一种可能的实现方式中,所述提供节点为运营商服务器;所述用户信用数据为所述用户标识对应的运营商信用数据。In a possible implementation manner, the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
第六方面,本申请还提供一种基于区块链网络的数据确权装置,应用于用户客户端,所述装置包括:In a sixth aspect, this application also provides a data right confirmation device based on a blockchain network, which is applied to a user client, and the device includes:
收发模块,用于接收提供节点发送的携带有所述用户客户端对应的用户标识的数据授权请求,所述数据授权请求用于请求允许使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;The transceiver module is configured to receive a data authorization request carrying a user identification corresponding to the user client sent by a providing node, and the data authorization request is used to request permission to use the node to use the user identification provided by the providing node. User credit data;
输出模块,用于通过输出设备输出提示信息,所述提示信息用于请求确认是否允许所述使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;An output module, configured to output prompt information through an output device, the prompt information being used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node;
其中,所述使用节点、所述提供节点为区块链网络中的区块链节点,所述使用节点用于向所述提供节点请求所述用户标识对应的用户信用数据。Wherein, the use node and the provision node are blockchain nodes in a blockchain network, and the use node is used to request the user credit data corresponding to the user identifier from the provision node.
在一种可能的实现方式中,所述收发模块,具体用于接收至少两个提供节点发送的至少两个数据授权请求,所述至少两个数据授权请求分别与所述至少两个提供节点一一对应,任一数据授权请求用于请求允许所述使用节点使用发送数据授权请求的提供节点提供的所述用户标识对应的用户信用数据;In a possible implementation, the transceiver module is specifically configured to receive at least two data authorization requests sent by at least two providing nodes, and the at least two data authorization requests are the same as those of the at least two providing nodes. One correspondence, any data authorization request is used to request that the user node is allowed to use the user credit data corresponding to the user identifier provided by the provider node that sent the data authorization request;
其中,所述使用节点用于分别向所述至少两个提供节点请求所述用户标识对应的用户 信用数据,所述用户标识对应的用户信用数据包括:由所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据;Wherein, the use node is used to request the user credit data corresponding to the user identification from the at least two providing nodes, and the user credit data corresponding to the user identification includes: the user credit data provided by the at least two providing nodes respectively User credit data corresponding to the user identifier;
所述提示信息用于请求确认是否允许所述使用节点使用所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据。The prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes respectively.
在一种可能的实现方式中,所述装置还包括:In a possible implementation manner, the device further includes:
输入模块,所述输入模块用于通过输入设备接收输入信息,所述输入信息用于确认是否允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据;An input module, the input module being configured to receive input information through an input device, the input information being used to confirm whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
所述收发模块,还用于在所述输入信息表示允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据时,分别向所述提供节点发送数据授权响应,任一所述数据授权响应用于确认允许所述使用节点使用接收数据授权响应的提供节点所提供的用户标识对应的用户信用数据。The transceiver module is further configured to send data authorization to the provider node when the input information indicates that the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two provider nodes In response, any of the data authorization responses is used to confirm that the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node that receives the data authorization response.
第七方面,本申请还提供一种基于区块链网络的数据确权装置,位于区块链节点,In the seventh aspect, this application also provides a data right confirmation device based on a blockchain network, located at a blockchain node,
一个或多个处理器;One or more processors;
存储器,用于存储一个或多个程序;Memory, used to store one or more programs;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述设备实现如上述第一方面中任一项所述的方法。When the one or more programs are executed by the one or more processors, the device realizes the method according to any one of the above-mentioned first aspects.
第八方面,本申请还提供一种基于区块链网络的数据确权装置,位于用户终端或者用户客户端,In an eighth aspect, this application also provides a data right confirmation device based on a blockchain network, which is located in a user terminal or a user client,
一个或多个处理器;One or more processors;
存储器,用于存储一个或多个程序;Memory, used to store one or more programs;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述设备实现如上述第一方面中任一项所述的方法。When the one or more programs are executed by the one or more processors, the device realizes the method according to any one of the above-mentioned first aspects.
第九方面,本申请提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述第一方面至第三方面中任一项所述的方法。In a ninth aspect, the present application provides a computer-readable storage medium, including a computer program, which when executed on a computer, causes the computer to execute any one of the first to third aspects described above method.
第十方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,实现上述第一方面至第三方面中任一项所述的方法。In a tenth aspect, this application provides a computer program that, when executed by a computer, implements the method described in any one of the first to third aspects.
附图说明Description of the drawings
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly describe the technical solutions in the present application or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or prior art. Obviously, the drawings in the following description are the present For some of the embodiments of the application, for those of ordinary skill in the art, other drawings may be obtained based on these drawings without creative labor.
图1为本申请实施例涉及的一种区块链网络的网络架构的示意图;FIG. 1 is a schematic diagram of a network architecture of a blockchain network involved in an embodiment of this application;
图2A为本申请实施例提供的基于区块链网络的数据确权方法应用的系统架构的示意图一;2A is the first schematic diagram of the system architecture applied by the blockchain network-based data verification method provided by an embodiment of this application;
图2B为本申请实施例提供的基于区块链网络的数据确权方法应用的系统架构的示意图二;2B is a second schematic diagram of the system architecture applied by the blockchain network-based data verification method provided by an embodiment of this application;
图3为本申请实施例提供的基于区块链网络的数据确权方法的交互流程图一;FIG. 3 is the first interactive flowchart of a method for data right confirmation based on a blockchain network provided by an embodiment of the application;
图4为本申请实施例提供的基于区块链网络的数据确权方法的交互流程图二;4 is a second interactive flowchart of a method for data right confirmation based on a blockchain network provided by an embodiment of this application;
图5为本申请实施例提供的基于区块链网络的数据确权方法的一种应用架构的示意图;FIG. 5 is a schematic diagram of an application architecture of a method for data right confirmation based on a blockchain network provided by an embodiment of the application;
图6为本申请实施例提供的基于区块链网络的数据确权方法的交互流程图三;FIG. 6 is the third interaction flow chart of the method for data right confirmation based on the blockchain network provided by an embodiment of the application;
图7为本申请实施例提供的基于区块链网络的数据确权装置的结构示意图一;FIG. 7 is a structural schematic diagram 1 of a data right confirmation device based on a blockchain network provided by an embodiment of the application;
图8为本申请实施例提供的基于区块链网络的数据确权装置的结构示意图二;FIG. 8 is a schematic diagram 2 of the structure of a data right confirmation device based on a blockchain network provided by an embodiment of the application;
图9为本申请实施例提供的区块链节点的结构示意图;FIG. 9 is a schematic structural diagram of a blockchain node provided by an embodiment of the application;
图10为本申请实施例提供的用户终端的结构示意图。FIG. 10 is a schematic structural diagram of a user terminal provided by an embodiment of the application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application. Obviously, the described embodiments are part of the embodiments of this application. , Not all examples. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of this application.
为了提高用户数据的安全性,本申请提供一种可追溯的数据使用的技术方案。本申请提供的技术方案将基于区块链网络实现。下面首先对区块链网络的系统架构进行示例性说明。In order to improve the security of user data, this application provides a technical solution for traceable data usage. The technical solution provided by this application will be implemented based on the blockchain network. The following first describes the system architecture of the blockchain network as an example.
图1为本申请实施例涉及的一种区块链网络的网络架构的示意图。FIG. 1 is a schematic diagram of a network architecture of a blockchain network involved in an embodiment of this application.
如图1所示,该网络可以包括多个区块链节点。在本申请实施例中,区块链网络中的各个区块链节点可以同时具有一种或多种网络功能和业务功能。As shown in Figure 1, the network can include multiple blockchain nodes. In the embodiments of the present application, each blockchain node in the blockchain network may have one or more network functions and business functions at the same time.
在区块链网络中,区块链节点按照网络功能可初步划分为:普通节点(peer)、排序节点(Orderer)等。普通节点通常可被部署实现一定的业务功能。在一些场景中,一个区块链节点可以既是普通节点,也是排序节点。In a blockchain network, blockchain nodes can be preliminarily divided into ordinary nodes (peer), ordering nodes (Orderer), etc. according to network functions. Ordinary nodes can usually be deployed to achieve certain business functions. In some scenarios, a blockchain node can be both an ordinary node and an ordering node.
按照网络功能的具体不同,可以将区块链网络中的普通节点划分为以下几种类型:验证/提交节点(Committer peer)、背书节点(Endorse peer)、领导节点(Leader peer)、锚点节点(Anchor peer)。其中,验证/提交节点可用于提交交易,以及,接收交易信息(也可称为交易块),并在交易信息被写入本地存储的账本前对交易信息进行验证;背书节点可用于根据本节点上安装的智能合约(chain code),生成针对数据交易的数字签名;领导节点可用于当本组织(在一通道中)包括多个区块链节点时,将来自排序节点的交易信息(交易事务)分配给组织中的验证/提交节点;锚点节点可用于实现组织内的节点与组织外的节点的通信。According to the specific network functions, the ordinary nodes in the blockchain network can be divided into the following types: verification/submission node (Committer peer), endorsement node (Endorse peer), leader node (Leader peer), anchor node (Anchor peer). Among them, the verification/submission node can be used to submit transactions, and receive transaction information (also known as transaction blocks), and verify the transaction information before the transaction information is written into the locally stored ledger; the endorsement node can be used according to this node The smart contract (chain code) installed on the system generates digital signatures for data transactions; the leader node can be used to combine the transaction information (transaction transaction) from the ordering node when the organization (in a channel) includes multiple blockchain nodes ) Is assigned to verification/submission nodes in the organization; anchor nodes can be used to implement communication between nodes within the organization and nodes outside the organization.
区块链网络的一个重要概念是账本(ledger),也可以称为共享账本。账本用于记录区块链网络中的节点发送或者接收的信息。账本可以通过区块链(block chain)记录通信消息。区块链由若干区块组成,每个区块可以包含一段时间的交易信息,区块链网络中的区块是按照生成的顺序依次连接的。区块链网络中需要保障有至少两个区块链节点上存储账本或者账本副本,本地存储有账本或者账本副本的区块链节点可以称为记账节点,区块链网络中的所有区块链节点都可以是记账节点。区块链中的区块的顺序是不允许改变的,如果任一记账节点存储的区块链中的区块的顺序或者内容 发生改变,该记账节点与其他记账节点上存储的区块链就会不一致,这一机制可以保障区块链网络中记录的信息的完整、正确性、不可修改性。An important concept of the blockchain network is the ledger, which can also be called a shared ledger. The ledger is used to record the information sent or received by the nodes in the blockchain network. The ledger can record communication messages through a blockchain (blockchain). The blockchain is composed of several blocks. Each block can contain transaction information for a period of time. The blocks in the blockchain network are connected in sequence in the order of generation. The blockchain network needs to ensure that there are at least two blockchain nodes that store the ledger or copy of the ledger. The blockchain node that stores the ledger or copy of the ledger locally can be called the accounting node, and all blocks in the blockchain network All chain nodes can be accounting nodes. The order of the blocks in the blockchain is not allowed to be changed. If the order or content of the blocks in the blockchain stored by any accounting node changes, the accounting node and other accounting nodes are stored in the same area. Block chains will be inconsistent, and this mechanism can guarantee the integrity, correctness, and non-modification of the information recorded in the block chain network.
排序节点可以用于进行共识处理,示例性地,排序节点可以对区块链网络中的通信信息进行校验,在校验通过时生成区块,排序节点还可以用于确认区块链网络中生成区块的顺序,并将网络中生成的区块发送至各个记账节点,以使记账节点按照区块的生成顺序将区块加入区块链。The ordering node can be used for consensus processing. Illustratively, the ordering node can verify the communication information in the blockchain network, and generate a block when the verification passes, and the ordering node can also be used to confirm the blockchain network The sequence of generating blocks, and sending the blocks generated in the network to each accounting node, so that the accounting node adds the blocks to the blockchain in the order of block generation.
利用区块链网络中与账本有关的技术,可以实现将通过区块链网络中传输的通信消息以区块的形式存储在账本(即存储在区块链中),进而实现对应用场景中涉及的通信消息的可追溯需求。本申请实施例将在下面的部分进行详细说明。Using the technology related to the ledger in the blockchain network, the communication messages transmitted through the blockchain network can be stored in the ledger in the form of blocks (that is, stored in the blockchain), and then the application scenarios involved Traceability requirements for communication messages. The embodiments of this application will be described in detail in the following sections.
需要说明的是,一个区块链节点可以同时具有上述一种或多种类型的普通节点的网络功能。示例性地,一个区块链节点可以同时是提交节点、背书节点、锚点节点、记账节点。It should be noted that a blockchain node can simultaneously have the network functions of one or more types of ordinary nodes. Exemplarily, a blockchain node can be a submission node, an endorsement node, an anchor node, and an accounting node at the same time.
在区块链网络中,普通节点可被部署用于实现一个或多个网络设备的业务功能。In a blockchain network, ordinary nodes can be deployed to implement the business functions of one or more network devices.
在实现网络设备的业务功能时,区块链网络中的普通节点可以被划分为一个或多个组织,每个组织可以包括一个或多个普通节点,一个组织中的普通节点可以单独或者相互配合以实现某一网络设备的业务功能,组织中的普通节点还可单独或者相互配合以实现该组织在区块链网络中的一些网络功能。示例性的,各个组织中的节点可以通过广域网(wan)通信。When realizing the business functions of network equipment, the ordinary nodes in the blockchain network can be divided into one or more organizations, each organization can include one or more ordinary nodes, and the ordinary nodes in an organization can be independent or cooperate with each other In order to realize the business functions of a certain network device, the ordinary nodes in the organization can also individually or cooperate with each other to realize some network functions of the organization in the blockchain network. Exemplarily, nodes in each organization may communicate through a wide area network (wan).
在本申请提供的技术方案中,还将涉及区块链网络的一种相关技术,该技术可称为fabric技术,该技术的关键点之一是支持多账本特性。该技术通过在区块链网络中划分通道(channel),来满足系统对账本的保密及隔离方面的需求。channel可以用于限定区块链节点间数据交互的范围,一个区块链节点仅允许与所属channel相同的其他区块链节点通信。在该技术中,每个channel可以对应一个账本,该channel对应的账本可以被本channel中的所有成员访问。当区块链网络中划分若干channel时,区块链网络中的区块链节点可以具有所属channel这一属性,需要说明的是,一个区块链节点可以对应一个或多个channel,即一个区块链节点可以属于一个或多个channel,当一个区块链节点的所属channel属性表明该区块链节点对应某一channel时,该区块链节点可以称为该channel的一个成员,当一个区块链节点的所属channel属性表明该区块链节点对应多个channel时,该区块链节点可以分别是多个channel的成员。In the technical solution provided by this application, a related technology of the blockchain network will also be involved. This technology can be called fabric technology. One of the key points of this technology is to support the multi-ledger feature. This technology meets the requirements of the system for the confidentiality and isolation of the ledger by dividing channels in the blockchain network. Channels can be used to limit the scope of data interaction between blockchain nodes. A blockchain node only allows other blockchain nodes with the same channel to communicate. In this technology, each channel can correspond to a ledger, and the ledger corresponding to the channel can be accessed by all members of the channel. When the blockchain network is divided into several channels, the blockchain node in the blockchain network can have the attribute of the channel to which it belongs. It should be noted that a blockchain node can correspond to one or more channels, that is, a zone A block chain node can belong to one or more channels. When the channel attribute of a block chain node indicates that the block chain node corresponds to a certain channel, the block chain node can be called a member of the channel. The channel attribute of a block chain node indicates that when the block chain node corresponds to multiple channels, the block chain node can be a member of multiple channels.
举例来说,区块链网络可以包括多个区块链节点,其中,多个区块链节点中属于channel1的区块链节点可以为A1个,A1大于或者等于2;多个区块链节点中属于channel2的区块链节点可以为A2个,A2大于或者等于2;对于channel1来说,A1个区块链节点中的B1个区块链节点可以存储有channel1的账本;B1大于或者等于2,且B1小于或者等于A1。则channel1中的A1个区块链节点可以被允许访问channel1的账本,channel2中的A2个区块链节点可以被允许访问channel2中账本。For example, a blockchain network may include multiple blockchain nodes. Among the multiple blockchain nodes, the number of blockchain nodes belonging to channel1 may be A1, and A1 is greater than or equal to 2; multiple blockchain nodes The number of blockchain nodes belonging to channel2 can be A2, and A2 is greater than or equal to 2. For channel1, B1 of the A1 blockchain nodes can store the ledger of channel1; B1 is greater than or equal to 2. , And B1 is less than or equal to A1. Then A1 blockchain nodes in channel1 can be allowed to access the ledger of channel1, and A2 blockchain nodes in channel2 can be allowed to access the ledger in channel2.
需要说明的是,一个区块链节点所属的channel可以有一个或多个,不同channel中的区块链节点可以全部不同或者部分不同。在本申请其他实施例中还将结合本申请的实际应用场景对支持channel的区块链网络进行示例性说明,此处不再赘述。It should be noted that there can be one or more channels to which a blockchain node belongs, and the blockchain nodes in different channels can be all different or partly different. In other embodiments of the present application, the blockchain network supporting channel will be exemplarily described in combination with the actual application scenarios of the present application, which will not be repeated here.
下面结合本申请实施例的实际应用场景进行示例性说明。An example description will be given below in conjunction with actual application scenarios of the embodiments of the present application.
图2A为本申请实施例提供的基于区块链网络的数据确权方法应用的系统架构的示意图一。如图2A所示,该系统可以称为数据确权系统,该系统可以包括:区块链网络100和用户终端10。其中,区块链网络100可以包括多个区块链节点20,用户终端的数量可以为一个或多个。区块链网络中的区块链节点可以用于实现多个有业务功能的网络设备。用户终端上可以部署一个或多个用户客户端,部署在用户终端上的用户客户端可以与区块链网络中通过区块链节点实现的各个网络设备进行业务交互。2A is the first schematic diagram of the system architecture applied by the blockchain network-based data verification method provided by an embodiment of this application. As shown in FIG. 2A, the system can be called a data right confirmation system, and the system can include a blockchain network 100 and a user terminal 10. The blockchain network 100 may include multiple blockchain nodes 20, and the number of user terminals may be one or more. The blockchain nodes in the blockchain network can be used to implement multiple network devices with business functions. One or more user clients can be deployed on the user terminal, and the user clients deployed on the user terminal can interact with various network devices in the blockchain network that are implemented through blockchain nodes.
在本申请实施例的实际应用场景中,使用用户终端或者用户客户端的用户可以对应一个用户标识。举例来说,一个用户可以使用一个或多个用户终端,也就是说,一个用户终端可以对应一个用户标识,或者,多个用户终端可以对应的同一个用户标识。每个用户终端上可以部署一个或多个用户客户端,用户客户端对应的用户标识可以为用户客户端上登录的用户账户对应的用户标识,也就是说,一个用户客户端可以对应一个用户标识,或者,多个用户客户端可以对应同一个用户标识。在一示例中,一个用户所使用的各个用户终端,与部署在该用户所使用的各个用户终端上的用户客户端,可以对应同一用户标识。In the actual application scenario of the embodiment of the present application, the user using the user terminal or the user client may correspond to a user identification. For example, one user can use one or more user terminals, that is, one user terminal can correspond to one user ID, or multiple user terminals can correspond to the same user ID. One or more user clients can be deployed on each user terminal, and the user ID corresponding to the user client can be the user ID corresponding to the user account logged in on the user client, that is, one user client can correspond to one user ID Or, multiple user clients can correspond to the same user ID. In an example, each user terminal used by a user and a user client deployed on each user terminal used by the user may correspond to the same user identification.
在本申请实施例的一种应用场景中,示例性的,系统可以包括用户终端T1、T2,T3、T4,其中,各个用户终端上部署的用户客户端可以包括C1、C2、C3、C4、C5、C6、C7。表1-1为用户、用户终端、用户客户端以及通过用户客户端通信的网络设备之间的对应关系的一种示意。In an application scenario of the embodiment of the present application, for example, the system may include user terminals T1, T2, T3, and T4, where the user client deployed on each user terminal may include C1, C2, C3, C4, C5, C6, C7. Table 1-1 is an illustration of the correspondence between users, user terminals, user clients, and network devices communicating through the user clients.
表1-1Table 1-1
Figure PCTCN2020080734-appb-000001
Figure PCTCN2020080734-appb-000001
如表1-1所示,用户1可以使用用户终端T1,T1上安装有C1、C2、C3三个用户客户端,用户客户端C1、C2、C3分别用于与网络设备1、网络设备2、网络设备3进行通信。用户2可以使用用户终端T2和T3,T2上安装的用户客户端C4可用于与网络设备1进行通信,T2上安装的用户客户端C5可以用于与网络设备2和网络设备3进行通信,T3上安装的用户客户端C6可以与网络设备4进行通信,用户3可以使用用户终端T4,T4上安装的用户客户端C7可以用于与网络设备1、网络设备2、网络设备3、网络设备4进行通信。As shown in Table 1-1, user 1 can use user terminal T1. Three user clients C1, C2, and C3 are installed on T1. User clients C1, C2, and C3 are respectively used to communicate with network device 1, network device 2. , The network device 3 communicates. User 2 can use user terminals T2 and T3. User client C4 installed on T2 can be used to communicate with network device 1, and user client C5 installed on T2 can be used to communicate with network device 2 and network device 3. T3 The user client C6 installed on the device can communicate with the network device 4, and the user 3 can use the user terminal T4. The user client C7 installed on the T4 can be used to communicate with the network device 1, network device 2, network device 3, and network device 4. To communicate.
图2B为本申请实施例提供的基于区块链网络的数据确权方法应用的系统架构的示意图二。如图2B所示,区块链网络中的各个区块链节点可以用于实现一定的网络设备的业务功能。各个网络设备对应的区块链节点可以通过对应的区块链客户端进行维护。2B is a second schematic diagram of a system architecture applied by the blockchain network-based data verification method provided by an embodiment of this application. As shown in Figure 2B, each blockchain node in the blockchain network can be used to implement the business functions of certain network devices. The blockchain node corresponding to each network device can be maintained through the corresponding blockchain client.
示例性的,在本申请实施例的一种应用场景中,区块链网络可以包括:普通节点P1、P2、P3、P4、P5、P6、P7。P1和P2所属组织对应的网络设备可以分别为数据使用商服务器U1和U2,P3、P4和P5所属组织对应的网络设备分别为数据提供商服务器V1、V2和V3。此外,P6和P7所属组织对应的网络设备可以为数据代理商服务器W1、W2。Exemplarily, in an application scenario of the embodiment of the present application, the blockchain network may include: ordinary nodes P1, P2, P3, P4, P5, P6, and P7. The network devices corresponding to the organizations to which P1 and P2 belong may be data user servers U1 and U2, respectively, and the network devices corresponding to the organizations to which P3, P4, and P5 belong are data provider servers V1, V2, and V3, respectively. In addition, the network devices corresponding to the organizations to which P6 and P7 belong may be data agent servers W1 and W2.
举例来说,上述数据使用商可以为银行等向用户提供业务服务的机构,如工商银行、农业银行、建设银行,数据提供商可以为电信运营商、互联网交易平台等存储有用户的各种信用记录的机构,如中国移动、中国联通、京东商城、淘宝网、支付宝等。用户终端上可以安装任一银行客户端,用户可以在银行客户端进行操作,以向银行发起业务请求。For example, the above-mentioned data users can provide banks and other institutions that provide users with business services, such as Industrial and Commercial Bank of China, Agricultural Bank, and China Construction Bank. Data providers can store various credits of users for telecommunication operators and Internet transaction platforms. Recorded institutions, such as China Mobile, China Unicom, Jingdong Mall, Taobao, Alipay, etc. Any bank client can be installed on the user terminal, and the user can perform operations on the bank client to initiate a business request to the bank.
为了便于说明,对应的网络设备的类型为数据使用商服务器的普通节点P1和P2可以称为使用节点,对应的网络设备的类型为数据提供商服务器的普通节点P3、P4和P5可以称为提供节点,对应的网络设备的类型为数据代理商服务器的普通节点P6可以称为代理节点。在本申请实施例中,代理节点不是区块链网络中必须存在的节点。For ease of description, the common nodes P1 and P2 of the corresponding network equipment type of the data user server can be referred to as user nodes, and the common nodes P3, P4, and P5 of the corresponding network equipment type of the data provider server can be referred to as providing For the node, the normal node P6 whose corresponding network device type is a data agent server can be called an agent node. In the embodiment of this application, the proxy node is not a node that must exist in the blockchain network.
在本申请实施例的实际应用场景中,使用节点可以与部署在用户终端上的用户客户端通信,使用节点可以与一个或多个提供节点通信,提供节点可以与部署在用户终端上的用户客户端通信。举例来说,用户终端上可以安装有与一个或多个使用节点进行通信的用户客户端,用户终端可以基于用户客户端与使用节点上的服务端进行通信,例如,使用节点为银行服务器,则用于与使用节点通信的用户客户端可以为手机银行客户端,此外,用户终端上还可以安装有与一个或多个提供节点进行通信的用户客户端,例如,提供节点为运营商服务器,则用于与提供节点通信的客户端可以为运营商手机营业厅客户端。表1-2为部署在用户终端上的用户客户端与具有各种业务功能的区块链节点进行业务交互时的对应关系的一种示意。In the actual application scenario of the embodiment of the present application, the use node can communicate with the user client deployed on the user terminal, the use node can communicate with one or more provision nodes, and the provision node can communicate with the user client deployed on the user terminal. End communication. For example, a user client that communicates with one or more use nodes may be installed on the user terminal, and the user terminal may communicate with the server on the use node based on the user client. For example, if the use node is a bank server, then The user client used to communicate with the user node may be a mobile banking client. In addition, a user client that communicates with one or more provider nodes may also be installed on the user terminal. For example, if the provider node is an operator server, The client used to communicate with the providing node may be a mobile phone business hall client of an operator. Table 1-2 is an illustration of the correspondence between the user client deployed on the user terminal and the blockchain node with various business functions when performing business interactions.
表1-2Table 1-2
Figure PCTCN2020080734-appb-000002
Figure PCTCN2020080734-appb-000002
如表1-2所示,用户客户端C1可以用于与使用节点U1进行通信,用户客户端C5可以与提供节点V1和V2进行通信,用户客户端C7可以与使用节点U1及提供节点V1和V3进行通信。As shown in Table 1-2, user client C1 can be used to communicate with using node U1, user client C5 can communicate with providing nodes V1 and V2, and user client C7 can communicate with using node U1 and providing nodes V1 and V1. V3 communicates.
在本申请实施例的实际应用场景中,区块链网络中的各节点的业务功能可以示例如下。In the actual application scenario of the embodiment of the present application, the business function of each node in the blockchain network can be exemplified as follows.
使用节点,可以用于根据携带用户标识的业务请求(例如,从接收携带用户标识的业务请求),确认需要的用户标识对应的用户信用数据,以及,获取用户标识对应的用户信用数据,并根据获取的用户信用数据对携带用户标识的业务请求进行处理。举例来说,使用节点可以接收携带用户标识的业务请求,之后,向提供节点发送数据交易请求,该数据交易请求可以用于请求携带用户标识的业务请求所需的用户标识对应的用户信用数据,然后,接收由提供节点提供的该用户标识对应的用户信用数据,并根据接收到的数据进行业务处理。在本申请实施例中,用户标识对应的用户信用数据可以是指使发送业务请求的用户客户端上登录的用户标识对应的用户信用数据,或者,使用发送业务请求的用户终端的用户的用户标识对应的用户信用数据,例如,用户的征信报告、电信业务使用记录、生活缴费记录等等。The use node can be used to confirm the user credit data corresponding to the required user identification according to the service request carrying the user identification (for example, from receiving the service request carrying the user identification), and to obtain the user credit data corresponding to the user identification, and according to The obtained user credit data processes the service request carrying the user identification. For example, the user node may receive a service request carrying a user ID, and then send a data transaction request to the providing node. The data transaction request may be used to request user credit data corresponding to the user ID required by the service request carrying the user ID. Then, the user credit data corresponding to the user identification provided by the providing node is received, and service processing is performed according to the received data. In the embodiment of the present application, the user credit data corresponding to the user ID may refer to the user credit data corresponding to the user ID logged in on the user client sending the service request, or the user ID of the user who uses the user terminal sending the service request corresponds to The user’s credit data, for example, the user’s credit report, telecommunication service usage record, life payment record, etc.
提供节点,可以用于提供海量的用户信用数据。举例来说,提供节点可以接收来自任一使用节点的数据交易请求,之后,根据数据交易请求中的用户标识,向用户标识对应的用户客户端发送数据授权请求,该数据授权请求可用于请求确认是否允许使用节点使用提供节点提供的该用户标识对应的用户信用数据,然后,在接收到用户客户端发送的数据授权响应时,若该数据授权响应表明确认数据授权,即确权成功时,提供节点向使用节点发送使用节点之前请求的用户标识对应的用户信用数据。Provide nodes, which can be used to provide massive user credit data. For example, the providing node can receive a data transaction request from any using node, and then, according to the user ID in the data transaction request, send a data authorization request to the user client corresponding to the user ID. The data authorization request can be used to request confirmation Whether to allow the use node to use the user credit data corresponding to the user ID provided by the providing node, and then, when receiving the data authorization response sent by the user client, if the data authorization response indicates that the data authorization is confirmed, that is, when the authorization is successful, provide The node sends the user credit data corresponding to the user identification previously requested by the node to the user node.
在本申请实施例的一种实际应用场景中,系统中还可以部署有代理节点。系统中的使用节点可以与一个或多个代理节点通信,代理节点可以与一个或多个提供节点通信。In an actual application scenario of the embodiment of the present application, a proxy node may also be deployed in the system. The user node in the system can communicate with one or more agent nodes, and the agent node can communicate with one or more provider nodes.
代理节点,可以预先与提供节点签订数据代理合约,数据代理合约可以约定该代理节点从提供节点获取并允许向使用节点交易的用户信用数据的范围、期限等信息。在系统中部署有代理节点时,使用节点可以向代理节点发送数据交易请求,代理节点可以在确认使用节点请求交易的数据属于该代理节点的代理范围时,向提供节点发送数据交易请求,相应地,提供节点在从用户客户端获取数据授权时,可以将使用节点请求的用户信用数据发送给代理节点,由代理节点发送给使用节点。The proxy node may sign a data agency contract with the providing node in advance, and the data agency contract may stipulate the scope and period of user credit data that the proxy node obtains from the providing node and allows transactions with the user node. When a proxy node is deployed in the system, the user node can send a data transaction request to the proxy node, and the proxy node can send a data transaction request to the providing node when confirming that the data requested by the user node belongs to the proxy node's proxy range. When the providing node obtains data authorization from the user client, it can send the user credit data requested by the user node to the proxy node, and the proxy node sends the user credit data to the user node.
在区块链网络的多个区块链节点中,上述部署有一定业务功能的区块链节点可以称为第一区块链节点。在区块链网络中的多个区块链节点中还可以包括一种区块链节点,该区块链节点可以可以被称为共识节点。Among the multiple blockchain nodes in the blockchain network, the above-mentioned blockchain node deployed with certain business functions may be referred to as the first blockchain node. The multiple blockchain nodes in the blockchain network may also include a blockchain node, and the blockchain node may be called a consensus node.
该共识节点,可以用于接收区块链网络中传输的通信信息,并将通信信息记录在区块链网络的账本中。The consensus node can be used to receive the communication information transmitted in the blockchain network and record the communication information in the ledger of the blockchain network.
需要说明的是,在区块链网络中,区块链节点之间的通信信息是采用广播的方式传播的,也就是说,一个区块链节点向另一个区块链节点发送任一通信信息时,会向相邻的其他区块链节点也发送该通信信息。也就是说,共识节点可以是除了发送某一通信信息或者接收某一通信信息的一个区块链节点。举例来说,共识节点,可以用于 在接收到区块链网络中传输的任一通信信息时,对通信信息中携带的发送方信息进行校验,在确认该通信信息确实是由该发送方发送的时,确认通信信息校验通过,之后,共识节点对校验通过的通信信息进行打包,得到区块,并将包含通信信息的区块发送给区块链网络中的记账节点,以使记账节点将通信信息以区块的形式记录在记账节点本地存储的账本中。在本申请实施例中,共识节点可以是除了使用节点、提供节点、代理节点之外的区块链节点。示例性地,共识节点可以是区块链网络中具有排序节点的网络功能的区块链节点。It should be noted that in the blockchain network, the communication information between blockchain nodes is spread by broadcasting, that is, one blockchain node sends any communication information to another blockchain node At this time, the communication information will also be sent to other neighboring blockchain nodes. In other words, the consensus node can be a blockchain node in addition to sending or receiving certain communication information. For example, the consensus node can be used to verify the sender information carried in the communication information when receiving any communication information transmitted in the blockchain network, and confirm that the communication information is indeed the sender. When sending, confirm that the communication information has passed the verification. After that, the consensus node packs the communication information that has passed the verification to obtain a block, and sends the block containing the communication information to the accounting node in the blockchain network. Make the accounting node record the communication information in the form of blocks in the ledger stored locally by the accounting node. In the embodiment of the present application, the consensus node may be a blockchain node other than using nodes, providing nodes, and proxy nodes. Exemplarily, the consensus node may be a blockchain node with the network function of an ordering node in the blockchain network.
下面对本申请实施例的实际应用场景中的多个区块链节点所属channel的划分进行示例性说明。在本申请实施例的实际应用场景中,当使用节点、或者、提供节点为多个时,还可以在区块链网络中划分多个channel。The division of channels to which multiple blockchain nodes belong in the actual application scenario of the embodiment of the present application will be exemplified below. In the actual application scenario of the embodiment of the present application, when multiple nodes are used or provided, multiple channels can also be divided in the blockchain network.
表2-1为多个区块链节点所属channel的一种示意。Table 2-1 is an indication of the channel to which multiple blockchain nodes belong.
表2-1table 2-1
channel编号channel number 使用节点Use node 代理节点Proxy node 提供节点Provide node
channel1channel1 U1U1 -- V1V1
channel1channel1 U1U1 -- V2V2
channel1channel1 U1U1 -- V3V3
channel2channel2 U2U2 -- V1V1
channel2channel2 U2U2 -- V2V2
channel2channel2 U2U2 -- V3V3
其中,channel1、channel2中的区块链节点部分相同。如表2-1所示,channel1的成员可以包括使用节点U1、提供节点V1、V2和V3,则U1与V1之间信息、U1与V2之间的信息、U1与V3之间的信息可以记录在channel1对应的账本中。channel2的成员可以包括使用节点U2、提供节点V1、V2和V3,则U2与V1之间信息、U2与V2之间的信息、U2与V3之间的信息可以记录在channel2对应的账本中。需要说明的是,U2不能访问channel1的账本,U1不能访问channel的账本。Among them, the blockchain nodes in channel1 and channel2 are partly the same. As shown in Table 2-1, the members of channel1 can include using node U1, providing nodes V1, V2, and V3, then the information between U1 and V1, the information between U1 and V2, and the information between U1 and V3 can be recorded In the ledger corresponding to channel1. The members of channel2 can include using node U2, providing nodes V1, V2, and V3. Then the information between U2 and V1, the information between U2 and V2, and the information between U2 and V3 can be recorded in the ledger corresponding to channel2. It should be noted that U2 cannot access the ledger of channel 1, and U1 cannot access the ledger of channel.
表2-2为多个区块链节点所属channel的另一种示意。Table 2-2 is another indication of the channel that multiple blockchain nodes belong to.
表2-2Table 2-2
channel编号channel number 使用节点Use node 代理节点Proxy node 提供节点Provide node
channel1channel1 U1U1 W1W1 V1V1
channel1channel1 U1U1 W1W1 V2V2
channel1channel1 U1U1 W1W1 V3V3
channel2channel2 U2U2 W2W2 V1V1
channel2channel2 U2U2 W2W2 V2V2
channel2channel2 U2U2 W2W2 V3V3
其中,与表1不同之处在于,系统中还部署有代理节点W1、W2,如表2-2所示,channel1的成员可以包括使用节点U1、代理节点W1、提供节点V1、V2和V3,则U1与W1之间的信息、W1与V1之间的信息、W1与V2之间的信息、W1与V3之间的信息可以记录在channel1对应的账本中。channel2的成员可以包括使用节点U2、代理节点W2、提供节点V1、V2和V3,则U2与W2之间的信息、W2与V1之间信 息、W2与V2之间的信息、W2与V3之间的信息可以记录在channel2对应的账本中。需要说明的是,U2、W2不能访问channel1的账本,U1、W1不能访问channel2的账本。Among them, the difference from Table 1 is that there are proxy nodes W1 and W2 deployed in the system. As shown in Table 2-2, the members of channel1 can include using node U1, proxy node W1, and providing nodes V1, V2, and V3. Then the information between U1 and W1, the information between W1 and V1, the information between W1 and V2, and the information between W1 and V3 can be recorded in the ledger corresponding to channel1. The members of channel2 can include using node U2, proxy node W2, providing nodes V1, V2, and V3, then the information between U2 and W2, the information between W2 and V1, the information between W2 and V2, and the information between W2 and V3 The information can be recorded in the ledger corresponding to channel2. It should be noted that U2 and W2 cannot access the ledger of channel1, and U1 and W1 cannot access the ledger of channel2.
下面对本申请实施例提供的基于区块链网络的数据确权方法进行示例性说明。The following is an exemplary description of the method for data right confirmation based on the blockchain network provided in the embodiments of the present application.
图3为本申请实施例提供的基于区块链网络的数据确权方法的交互流程图一。本申请实施例涉及用户终端、使用节点、提供节点和共识节点。如图3所示,本申请实施例的步骤可以包括:FIG. 3 is an interactive flowchart 1 of a method for data right confirmation based on a blockchain network provided by an embodiment of this application. The embodiments of the present application relate to user terminals, use nodes, provision nodes, and consensus nodes. As shown in Figure 3, the steps of the embodiment of the present application may include:
S301,用户终端上的用户客户端向使用节点发送携带用户标识的业务请求。S301: The user client on the user terminal sends a service request carrying the user identifier to the using node.
其中,示例性地,用户终端上可以安装有可用于与使用节点通信的第一用户客户端,用户终端可以利用该第一用户客户端向使用节点发送业务请求,使用节点上可以运行有服务端。业务请求中携带的用户标识可以是用户客户端或者用户终端对应的用户标识。Wherein, for example, a first user client that can be used to communicate with the user node may be installed on the user terminal, and the user terminal may use the first user client to send service requests to the user node, and a server may run on the user node. . The user identification carried in the service request may be a user identification corresponding to the user client or the user terminal.
S301-A,使用节点向共识节点发送业务请求。S301-A, the use node sends a service request to the consensus node.
其中,使用节点可以向共识节点发送业务请求以及发送业务请求的发送方的信息,即用户客户端或者用户终端的标识。Among them, the user node can send the service request and the information of the sender of the service request to the consensus node, that is, the identity of the user client or the user terminal.
使用节点位于区块链网络中,当使用节点接收到用户客户端发送的业务请求后,使用节点可以以广播的方式通过与自身相连的通信链路向区块链网络中的共识节点发送业务请求,以使共识节点将业务请求进行校验,在校验通过时对业务请求进行打包,生成区块,并将区块发送给区块链网络中的记账节点,以使记账节点可以将业务请求以区块的形式记录在区块链网络的账本中。对于步骤S301-A来说,共识节点可以是区块链网络中除了使用节点之外的其他任一区块链节点。The user node is located in the blockchain network. When the user node receives the service request sent by the user client, the user node can broadcast the service request to the consensus node in the blockchain network through the communication link connected to itself. , So that the consensus node will verify the business request, package the business request when the verification is passed, generate a block, and send the block to the accounting node in the blockchain network so that the accounting node can Business requests are recorded in the ledger of the blockchain network in the form of blocks. For step S301-A, the consensus node can be any other blockchain node in the blockchain network except the use node.
需要说明的是,在本申请实施例中,区块链网络中的各个区块链节点之间可以利用区块链网络中的通信链路传输节点之间的通信信息。区块链网络中的各个区块链节点均可以通过广播的方式传播通信信息。区块链网络中的共识节点可以有一个或多个,任一共识节点可以对从另一区块链节点接收到的通信信息进行校验,在校验通过时,将在区块链网络中接收到的通信信息记录在区块链网络的账本中。It should be noted that, in the embodiment of the present application, each blockchain node in the blockchain network can use the communication link in the blockchain network to transmit communication information between the nodes. Each blockchain node in the blockchain network can spread communication information through broadcast. There can be one or more consensus nodes in the blockchain network. Any consensus node can verify the communication information received from another blockchain node. When the verification passes, it will be in the blockchain network. The received communication information is recorded in the ledger of the blockchain network.
S301-C,共识节点对业务请求进行校验,在校验正确时,将业务请求记录在账本中。In S301-C, the consensus node verifies the business request, and when the verification is correct, records the business request in the ledger.
其中,若共识节点是从使用节点接收到业务请求,则共识节点在确认业务请求中携带的发送方信息为使用节点时,确认校验成功。Among them, if the consensus node receives the service request from the user node, the consensus node confirms that the verification is successful when confirming that the sender information carried in the service request is the user node.
需要说明的是,在本申请实施例中,共识节点自身可以不是记账节点,则共识节点可以将接收到的通信信息打包为区块,发送给记账节点,以使记账节点将通信信息以区块的形式记录在记账节点本地存储的账本中。It should be noted that, in the embodiments of this application, the consensus node itself may not be a billing node, and the consensus node can package the received communication information into a block and send it to the billing node so that the billing node can transfer the communication information Recorded in the form of blocks in the ledger stored locally by the accounting node.
S302,使用节点根据业务请求,确定需要获取的用户标识对应的用户信用数据。S302: The user node determines the user credit data corresponding to the user identifier that needs to be obtained according to the service request.
其中,示例性地,使用节点可以根据业务请求的业务标识确定需要的用户信用数据的标识。Wherein, for example, the user node can determine the required user credit data identifier according to the service identifier of the service request.
S303,使用节点向提供节点发送数据交易请求。S303: The using node sends a data transaction request to the providing node.
其中,示例性地,数据交易请求可以包括:用户标识、用户信用数据的标识、用 户终端申请的业务的业务标识等。Wherein, for example, the data transaction request may include: user identification, user credit data identification, service identification of the service applied for by the user terminal, and so on.
S303-A,使用节点向共识节点发送数据交易请求。S303-A, the use node sends a data transaction request to the consensus node.
其中,使用节点可以采用与步骤S301-A中发送业务请求相似的方式发送数据交易请求。Wherein, the using node can send the data transaction request in a similar manner to the sending of the service request in step S301-A.
S303-B,提供节点向共识节点发送数据交易请求。S303-B, the providing node sends a data transaction request to the consensus node.
其中,提供节点可以采用与步骤S303-A中使用节点发送数据交易请求相似的方式来发送数据交易请求。Wherein, the providing node can send the data transaction request in a manner similar to that of using the node to send the data transaction request in step S303-A.
需要说明的是,本申请实施例中的S303-A和S303-B可以任选其一执行。步骤S303-B与步骤S303-A中的共识节点可以是区块链网络中的同一共识节点,也可以是不同的共识节点。对于步骤S303-B来说,该步骤中的共识节点可以是区块链网络中除了提供节点之外的任一区块链节点。It should be noted that S303-A and S303-B in the embodiment of the present application can be executed either. The consensus nodes in step S303-B and step S303-A may be the same consensus node in the blockchain network, or may be different consensus nodes. For step S303-B, the consensus node in this step may be any blockchain node in the blockchain network except the providing node.
S303-C,共识节点对数据交易请求进行校验,在校验正确时,将数据交易请求记录在账本中。In S303-C, the consensus node verifies the data transaction request, and when the verification is correct, records the data transaction request in the ledger.
其中,步骤S303-C与步骤S301-C类似,无论共识节点是从使用节点还是提供节点接收到数据交易请求,共识节点对数据交易请求中携带的发送方的信息进行校验,在确认数据交易请求的发送方是使用节点时,确认校验成功。共识节点将校验成功的数据交易请求记录在账本中的方式与步骤S301-C中将业务请求记录在账本中的方式相似。Among them, step S303-C is similar to step S301-C. Regardless of whether the consensus node receives the data transaction request from the using node or the providing node, the consensus node verifies the sender's information carried in the data transaction request and confirms the data transaction When the sender of the request is a node, confirm that the verification is successful. The manner in which the consensus node records the successfully verified data transaction request in the ledger is similar to the manner in which the business request is recorded in the ledger in step S301-C.
需要说明的是,若使用节点与提供节点之间的通信链路经过该共识节点,则在步骤S303中使用节点可以通过共识节点向提供节点发送数据交易请求,则共识节点在接收到数据交易请求之后,一方面可以将数据交易请求转发给提供节点,另一方面可以对数据交易请求进行校验和在账本中记录的处理过程。It should be noted that if the communication link between the using node and the providing node passes through the consensus node, in step S303, the using node can send a data transaction request to the providing node through the consensus node, and the consensus node will receive the data transaction request After that, on the one hand, the data transaction request can be forwarded to the providing node, and on the other hand, the data transaction request can be verified and recorded in the ledger.
S304,提供节点向用户终端上的用户客户端发送数据授权请求。S304: The providing node sends a data authorization request to the user client on the user terminal.
其中,示例性地,用户终端上可以部署有用于与提供节点进行通信的第二用户客户端。第二用户客户端上登录的用户账户对应的用户标识与第一用户客户端上登录的用户账户对应的用户标识相同。第二用户客户端和第一用户客户端也可以是同一用户客户端,该用户客户端既支持与使用节点进行也能够支持与提供节点进行通信。数据授权请求可以用于请求确认是否允许使用节点使用提供节点所提供的用户标识对应的用户信用数据。在一示例中,数据授权请求可以具体用于请求确认是否允许使用节点在接收到第一用户客户端发送的第一业务的业务请求时,使用提供节点所提供的用户标识对应的用户信用数据。示例性的,数据授权请求可以包括:使用节点的标识、用户标识、用户信用数据的标识、业务请求的业务标识等。Wherein, exemplarily, a second user client for communicating with the providing node may be deployed on the user terminal. The user ID corresponding to the user account logged in on the second user client is the same as the user ID corresponding to the user account logged in on the first user client. The second user client and the first user client may also be the same user client, and the user client supports both communication with the use node and communication with the providing node. The data authorization request can be used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user ID provided by the providing node. In an example, the data authorization request may be specifically used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node when receiving the service request of the first service sent by the first user client. Exemplarily, the data authorization request may include: the identification of the use node, the user identification, the identification of user credit data, the business identification of the service request, and so on.
S304-A,提供节点向共识节点发送数据授权请求。S304-A, the providing node sends a data authorization request to the consensus node.
其中,提供节点可以采用与S303-A中使用节点发送数据交易请求相似的方式发送数据授权请求。Wherein, the providing node can send the data authorization request in a similar manner to the sending of the data transaction request by the node in S303-A.
S304-C,共识节点对数据授权请求进行校验,在校验正确时,将数据授权请求记录在账本中。In S304-C, the consensus node verifies the data authorization request, and when the verification is correct, records the data authorization request in the ledger.
其中,步骤S304-C与步骤S303-C类似,共识节点对数据交易请求中携带的发送方的信息进行校验,在确认数据授权请求的发送方是提供节点时,确认校验成功。共 识节点将校验成功的数据授权请求记录在账本中的方式与步骤S303-C中将数据交易请求记录在账本中的方式相似。Wherein, step S304-C is similar to step S303-C, the consensus node verifies the information of the sender carried in the data transaction request, and confirms that the verification is successful when confirming that the sender of the data authorization request is the providing node. The manner in which the consensus node records the successfully verified data authorization request in the ledger is similar to the manner in which the data transaction request is recorded in the ledger in step S303-C.
S305,用户终端上的用户客户端通过输出设备输出提示信息,提示信息用于请求确认是否允许使用节点使用提供节点提供的用户信用数据。S305: The user client on the user terminal outputs prompt information through the output device, the prompt information is used to request confirmation whether the user credit data provided by the providing node is allowed to be used by the user node.
其中,输出设备可以是用户终端上的显示屏、音箱、耳机等。举例来说,用户终端上可以安装有用于与提供节点通信的第二用户客户端,并在第二用户客户端的显示界面上可以显示用于请求用户确认是否允许使用节点使用提供节点提供的用户信用数据的提示信息。示例性地,提示信息可以包括:使用节点的标识、用户标识、用户信用数据的标识、业务请求的业务标识,以及,是否同意授权的选择按钮等。Among them, the output device may be a display screen, speakers, earphones, etc. on the user terminal. For example, a second user client for communicating with the providing node may be installed on the user terminal, and a display interface for requesting the user to confirm whether the user is allowed to use the user credit provided by the providing node may be displayed on the display interface of the second user client. Information about the data. Exemplarily, the prompt information may include: the identification of the usage node, the user identification, the identification of user credit data, the business identification of the service request, and the selection button of whether to agree to authorization, etc.
S306,用户终端上的用户客户端通过输入设备接收输入信息,输入信息用于确认是否允许使用节点使用提供节点提供的用户信用数据。S306: The user client on the user terminal receives input information through the input device, and the input information is used to confirm whether the user credit data provided by the user node is allowed to be used by the user node.
其中,输入设备可以是具有触摸功能的显示屏、键盘、按钮、麦克风等。示例性地,第二用户客户端可以在显示界面中接收用户在显示屏上的触摸操作,例如,若用户点击屏幕上的“同意”按钮,则输入信息可以为确认允许授权,若用户点击屏幕上的“拒绝”按钮,则输入信息可以为不允许授权。Among them, the input device may be a display screen with touch function, keyboard, button, microphone, etc. Exemplarily, the second user client can receive the user's touch operation on the display screen in the display interface. For example, if the user clicks the "Agree" button on the screen, the input information can be to confirm the authorization, if the user clicks the screen On the "Reject" button, the input information can be that authorization is not allowed.
S307,用户终端上的用户客户端向提供节点发送数据授权响应。S307: The user client on the user terminal sends a data authorization response to the providing node.
其中,示例性地,数据授权响应可以携带用户终端上的第二用户客户端确认允许或者确认不允许使用节点使用提供节点所提供的用户信用数据的指示信息。示例性地,数据授权响应可以包括:使用节点的标识、用户标识、用户信用数据的标识、业务请求的业务标识,以及,是否同意授权的指示信息等。在一些场景中,第二用户客户端也可以仅在输入信息表示用户允许授权时发送数据授权响应。Wherein, for example, the data authorization response may carry indication information that the second user client on the user terminal confirms that it is allowed or confirmed that the use node is not allowed to use the user credit data provided by the providing node. Exemplarily, the data authorization response may include: using node identification, user identification, user credit data identification, service identification of the service request, and indication information of whether to agree to authorization, etc. In some scenarios, the second user client may also send a data authorization response only when the input information indicates that the user allows authorization.
S307-B,提供节点向共识节点发送数据授权响应。S307-B, the providing node sends a data authorization response to the consensus node.
其中,提供节点可以在接收到用户终端上的第二用户客户端发送的数据授权响应后,向共识节点数据授权响应。Wherein, the providing node may send the data authorization response to the consensus node after receiving the data authorization response sent by the second user client on the user terminal.
S307-C,共识节点对数据授权响应进行校验,在校验正确时,将数据授权响应记录在账本中。In S307-C, the consensus node verifies the data authorization response, and when the verification is correct, records the data authorization response in the ledger.
其中,与步骤S304-C类似,共识节点可以对数据授权响应的发送方进行校验,在确认发送方为用户终端上的第二用户客户端时,确认校验成功,并将数据授权响应记录在账本中。Among them, similar to step S304-C, the consensus node can verify the sender of the data authorization response. When confirming that the sender is the second user client on the user terminal, confirm that the verification is successful, and record the data authorization response In the ledger.
S308,提供节点获取用户标识对应的用户信用数据。S308: The providing node obtains user credit data corresponding to the user identifier.
其中,在本申请实施例的一种实施方式中,提供节点可以在确认数据授权响应表示第二用户客户端允许使用节点使用提供节点提供的用户信用数据时,获取所需的用户信用数据。在另一种实施方式中,需要说明的是,步骤S304至步骤S307-C可以不是本申请实施例必须执行的步骤,示例性地,提供节点在接收到使用节点的数据交易请求之后,根据自身与使用节点预先签订的数据交易协议,确定使用节点是否具有使用所请求的用户标识对应的用户信用数据的使用权限,示例性地,数据交易协议可以以智能合约(chaincode,也称为链码)的形式存储于提供节点和使用节点上,数据交易协议中可以约定使用节点允许使用的用户标识的范围、用户信用数据的标识的范围、用户信用数据的使用期限等。Wherein, in an implementation manner of the embodiment of the present application, the providing node may obtain the required user credit data when the confirmation data authorization response indicates that the second user client allows the use node to use the user credit data provided by the providing node. In another implementation manner, it should be noted that steps S304 to S307-C may not be necessary steps in the embodiment of the present application. Illustratively, after the providing node receives the data transaction request of the use node, The data transaction agreement signed in advance with the user node determines whether the user node has the right to use the user credit data corresponding to the requested user ID. Illustratively, the data transaction protocol can be a smart contract (chaincode, also known as chain code) The form of is stored on the providing node and the user node. The data transaction protocol can stipulate the range of user identification allowed by the use node, the range of user credit data identification, and the use period of user credit data.
提供节点获取用户信用数据可以有多种方式,例如,提供节点可以从提供节点自身的数据库或者自身连接的提供商数据服务器获取用户标识对应的用户信用数据。在一些场景中,提供商数据服务器可以位于区块链网络中也可以位于区块链网络之外。举例来说,提供商可以是电信运营商,如中国移动、中国联通、中国电信,则中国移动对应的提供节点提供的用户信用数据可以是该用户终端对应的用户使用中国移动的电信服务时的一些信用记录,例如,充值记录、欠费记录、用户星级、是否属于黑名单、是否发送恶意短信或呼出骚扰电话等。The providing node may obtain user credit data in many ways. For example, the providing node may obtain the user credit data corresponding to the user ID from the providing node's own database or the provider data server connected to it. In some scenarios, the provider data server may be located in the blockchain network or outside the blockchain network. For example, the provider may be a telecommunications operator, such as China Mobile, China Unicom, and China Telecom. The user credit data provided by the corresponding provider node of China Mobile may be the user credit data provided by the corresponding user terminal when using China Mobile’s telecommunications service. Some credit records, for example, recharge records, arrears records, user star ratings, whether they belong to a blacklist, whether to send malicious text messages or make harassing calls, etc.
S309,提供节点向使用节点发送携带用户标识对应的用户信用数据的数据交易响应。S309: The providing node sends a data transaction response carrying user credit data corresponding to the user identifier to the using node.
其中,提供节点可以向使用节点发送数据交易响应,示例性地,数据交易响应中可以包括:用户标识、用户信用数据的标识、用户信用数据的使用期限、允许使用节点使用用户信用数据的业务标识等。Wherein, the providing node may send a data transaction response to the using node. Illustratively, the data transaction response may include: user identification, user credit data identification, user credit data use period, and service identification that allows the user node to use user credit data Wait.
S309-A,提供节点向共识节点发送数据交易响应。In S309-A, the provision node sends a data transaction response to the consensus node.
S309-B,使用节点向共识节点发送数据交易响应。S309-B, the use node sends a data transaction response to the consensus node.
其中,步骤S309-A和步骤S309-B与S303-A和S303-B类似。Among them, step S309-A and step S309-B are similar to S303-A and S303-B.
S309-C,共识节点对数据交易响应进行校验,在校验正确时,将数据交易响应记录在账本中。In S309-C, the consensus node verifies the data transaction response, and when the verification is correct, records the data transaction response in the ledger.
其中,步骤S309-C与步骤S303-C类似。Among them, step S309-C is similar to step S303-C.
S310,使用节点根据用户标识对应的用户信用数据,对携带用户标识的业务请求进行处理。S310: The using node processes the service request carrying the user identification according to the user credit data corresponding to the user identification.
其中,使用节点根据获取到的用户信用数据对业务请求进行处理,在用户信用数据满足业务对用户信用水平的需求时,向用户终端上的第一用户客户端提供所申请的业务对应的服务。Wherein, the user node processes the service request according to the obtained user credit data, and provides the service corresponding to the requested service to the first user client on the user terminal when the user credit data meets the service requirement for the user credit level.
S311,使用节点向用户终端上的用户客户端发送业务处理结果。S311: The use node sends the service processing result to the user client on the user terminal.
在本申请实施例中,在上述各种通信信息被记录在账本中之后,区块链网络中的区块链节点可以被允许访问账本中的通信信息。In the embodiment of the present application, after the above-mentioned various communication information is recorded in the ledger, the blockchain nodes in the blockchain network may be allowed to access the communication information in the ledger.
在本申请实施例中,共识节点和记账节点的数量可以为多个,任一共识节点在对接收到的任一通信信息进行校验通过后,可以在区块链网络中向其他区块链节点广播校验结果,任一记账节点在以区块的形式存储上述任一通信信息时,可以以广播的方式通知区块链网络中其他记账节点同步记录该通信信息,以保证区块链网络中各个记账节点中存储的账本的一致性。In the embodiment of this application, the number of consensus nodes and accounting nodes can be multiple. After any consensus node verifies any communication information received, it can send to other blocks in the blockchain network. The chain node broadcasts the verification result. When any accounting node stores any of the above communication information in the form of a block, it can notify other accounting nodes in the blockchain network to record the communication information synchronously to ensure the area The consistency of the ledgers stored in each accounting node in the blockchain network.
在本申请实施例中,提供节点的数量可以为多个,相应地,用户标识对应的用户信用数据可以包括由多个提供节点分别提供的该用户标识对应的用户信用数据,则使用节点可以向多个提供节点分别发送数据交易请求,任一数据交易请求可用于请求获取接收数据交易请求的提供节点提供的该用户标识对应的用户信用数据。示例性地,使用节点可以为工商银行,多个提供节点可以为中国电信、中国移动、中国联通等运营商,则使用节点需要的用户信用数据可以包括该用户标识分别在中国电信、中国移动、中国联通的数据库中记录的用户信用数据,例如,张某在中国电信、中国移动、中国联通的用户信用数据。In the embodiment of the present application, the number of providing nodes may be multiple. Accordingly, the user credit data corresponding to the user identification may include user credit data corresponding to the user identification provided by multiple providing nodes, and the user node may send Multiple providing nodes respectively send data transaction requests, and any data transaction request can be used to request to obtain user credit data corresponding to the user identifier provided by the providing node that receives the data transaction request. Exemplarily, the user node may be Industrial and Commercial Bank of China, and the multiple providing nodes may be operators such as China Telecom, China Mobile, and China Unicom. Then the user credit data required by the user node may include the user identification in China Telecom, China Mobile, User credit data recorded in China Unicom's database, for example, Zhang's user credit data in China Telecom, China Mobile, and China Unicom.
需要说明的是,上述实施例中各个区块链节点与共识节点之间的交互步骤以及共识节点的处理步骤不是本申请必须执行的步骤,在实际应用中,可以根据可追溯的需求,如哪些通信信息需要记录在账本中,在使用节点、提供节点上进行设置,在接收或发送需要记录在账本中的通信信息后,向共识节点发送需要记录的通信信息。此外,对于同一条通信信息,可以由发送该通信信息的区块链节点向共识节点发送,也可以由接收该通信信息的区块链节点向共识节点发送。对于区块链节点与用户终端上的用户客户端之间的交互信息,可以设置由区块链节点向共识节点发送。It should be noted that the interaction steps between each blockchain node and the consensus node and the processing steps of the consensus node in the above embodiments are not the steps that must be performed in this application. In actual applications, it can be based on traceable requirements, such as which Communication information needs to be recorded in the ledger, set on the use node and the providing node, and after receiving or sending the communication information that needs to be recorded in the ledger, the communication information that needs to be recorded is sent to the consensus node. In addition, for the same piece of communication information, the blockchain node sending the communication information can be sent to the consensus node, or the blockchain node receiving the communication information can be sent to the consensus node. For the interaction information between the blockchain node and the user client on the user terminal, it can be set to be sent by the blockchain node to the consensus node.
在本申请提供的技术方案中,用户客户端、使用节点、提供节点之间交互的通信信息均可以记录在区块链网络中的账本中,从而可以实现用户信用数据的使用过程可追溯。因此,本申请提供的技术方案提高了用户信用数据的安全性。In the technical solution provided by this application, the communication information between the user client, the user node, and the providing node can all be recorded in the ledger in the blockchain network, so that the use process of user credit data can be traced. Therefore, the technical solution provided by this application improves the security of user credit data.
不仅如此,在本申请提供的技术方案中,在提供节点管理用户信用数据并与使用节点签订有数据交易协议的基础上,提供节点向使用节点提供用户信用数据之前,提供节点再次向用户客户端进行数据是否授权的确认,使得用户能够及时的了解自身用户数据使用的情况,从而可以实现用户信用数据的使用过程在用户终端侧的实时可追溯。进而可以进一步提高用户信用数据的安全性。Not only that, in the technical solution provided by this application, on the basis of providing the node to manage user credit data and signing a data transaction agreement with the user node, before the providing node provides user credit data to the user node, the providing node provides the user client again Confirm whether the data is authorized or not, so that users can understand the usage of their own user data in a timely manner, so that the use process of user credit data can be traced in real time on the user terminal side. In turn, the security of user credit data can be further improved.
本申请实施例还提供一种实施方式,该实施方式涉及多个通道,示例性地,区块链网络可以包括:X个通道;所述区块链网络中的区块链节点可以分别对应X个通道中的一个或多个通道;其中,多个区块链节点中的第一区块链节点对应的通道可以包括第i通道,多个区块链节点中的第二区块链节点对应的通道包括第i通道,X为大于0的整数,i为大于0且小于或者等于X的整数。其中,第一区块链节点可以为通信信息的发送方,第二区块链节点可以为通信信息的接收方,例如,第一区块链节点可以是使用节点、提供节点、代理节点中任意一种。The embodiments of the present application also provide an implementation manner, which involves multiple channels. For example, the blockchain network may include: X channels; the blockchain nodes in the blockchain network may correspond to X One or more of the channels; wherein, the channel corresponding to the first blockchain node in the multiple blockchain nodes may include the i-th channel, and the second blockchain node in the multiple blockchain nodes corresponds to The channels include the i-th channel, X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X. Among them, the first blockchain node may be the sender of communication information, and the second blockchain node may be the receiver of communication information. For example, the first blockchain node may be any of using nodes, providing nodes, and proxy nodes. One kind.
任一第一区块链节点向共识节点发送通信信息,可以包括:第一区块链节点通过所述第i通道向所述共识节点发送第i通道的通道信息,以使所述共识节点将所述第i通道的通道信息记录在第i通道对应的账本中。相应地,第i通道的通道信息可以包括:所述第一区块链节点与所述第二区块链节点之间通过第i通道传输的信息,以及,所述第一区块链节点或者所述第二区块链节点基于从所述第i通道接收的信息向所述用户客户端发送的信息,以及,所述第一区块链节点基于从所述用户客户端接收的信息通过第i通道向第二区块链节点发送的信息,以及,所述第二区块链节点基于从所述用户客户端接收的信息通过第i通道向所述第一区块链节点发送的信息中至少一种。Any first blockchain node sending communication information to a consensus node may include: the first blockchain node sends channel information of the i-th channel to the consensus node through the i-th channel, so that the consensus node will The channel information of the i-th channel is recorded in the ledger corresponding to the i-th channel. Correspondingly, the channel information of the i-th channel may include: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or The second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes the first blockchain node based on the information received from the user client. The information sent by the i-channel to the second blockchain node, and the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client At least one.
在一种实际应用中,区块链网络可以包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;所述共识节点对应一个或多个通道。所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为通过第i通道与第j个使用节点传输信息的提供节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的提供节点,所述第二区块链节点为第j个使用节点;其中,M为大于0的整数,j为大于0且小于或者等于M的整数。In an actual application, the blockchain network may include M use nodes, and the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node; the consensus The node corresponds to one or more channels. The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information through the i-th channel and the jth usage node. Providing node; or, the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use nodes; where M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
下面对利用多个通道实现通信信息存储的相互隔离进行示例性地说明。The following is an exemplary description of using multiple channels to achieve mutual isolation of communication information storage.
图4为本申请实施例提供的基于区块链网络的数据确权方法的交互流程图二。本申请实施例可以涉及用户终端T1,多个使用节点U1、U2,提供节点V1,以及,共识节点Z1、Z2,其中,用户终端T1上可以部署用于与各个使用节点和提供节点进行通信的用户客户端。FIG. 4 is the second interaction flowchart of the method for data right confirmation based on the blockchain network provided by an embodiment of the application. The embodiments of the present application may involve user terminal T1, multiple user nodes U1, U2, providing node V1, and consensus nodes Z1, Z2. Among them, user terminal T1 can be deployed to communicate with each user node and providing node User client.
需要说明的是,在本申请实施例中,U1和U2对应的通道分别为channel1和channel2,T1与U1、U1与V1、U1与Z1之间以及V1与Z1之间与U1有关的通信信息使用channel1的通信链路传输,T1与U2、U2与V1、U2与Z2之间以及V1与Z2之间与U2有关的通信信息使用channel2的通信链路传输,共识节点Z1和Z2本地分别存储有channel1和channel2的账本。由于一个channel的账本仅允许本channel的成员访问,以此可以保证各个channel保持的通信信息的相互隔离。It should be noted that, in the embodiment of the application, the channels corresponding to U1 and U2 are channel1 and channel2, respectively. The communication information between T1 and U1, U1 and V1, U1 and Z1, and between V1 and Z1 and U1 are used The communication link transmission of channel1, the communication information between T1 and U2, U2 and V1, U2 and Z2, and between V1 and Z2 related to U2 are transmitted using the communication link of channel2. The consensus nodes Z1 and Z2 respectively store channel1 locally. And the ledger of channel2. Since the ledger of a channel is only allowed to be accessed by the members of the channel, the communication information maintained by each channel can be isolated from each other.
如图4所示,本申请实施例的步骤可以包括:As shown in Figure 4, the steps of the embodiment of the present application may include:
S401,用户终端T1向使用节点U1发送携带用户标识的第一业务请求。S401: The user terminal T1 sends a first service request carrying a user identity to the user node U1.
其中,示例性地,用户终端T1可以通过用户客户端C1向U1发送第一业务请求,用户客户端C1支持与U1之间的通信。第一业务请求携带用户标识为用户1,业务标识为业务1。Wherein, for example, the user terminal T1 may send the first service request to U1 through the user client C1, and the user client C1 supports communication with U1. The first service request carries the user ID as user 1, and the service ID as service 1.
S402,用户终端T1向使用节点U2发送携带用户标识的第二业务请求。S402: The user terminal T1 sends a second service request carrying the user identifier to the user node U2.
其中,示例性地,用户终端T1可以通过用户客户端C3向U2发送第一业务请求,用户客户端C3支持与U2之间的通信。第二业务请求携带用户标识为用户1,业务标识为业务2。Wherein, for example, the user terminal T1 may send the first service request to U2 through the user client C3, and the user client C3 supports communication with U2. The second service request carries the user ID as user 1, and the service ID as service 2.
S401-B,使用节点U1向共识节点Z1发送第一业务请求。S401-B, using node U1 to send a first service request to consensus node Z1.
S401-C,共识节点Z1将第一业务请求写入channel1对应的账本中。In S401-C, the consensus node Z1 writes the first service request into the ledger corresponding to channel1.
S402-B,使用节点U2向共识节点Z2发送第二业务请求。S402-B: Use node U2 to send a second service request to consensus node Z2.
S402-C,共识节点Z2将第二业务请求写入channel2对应的账本中。S402-C, the consensus node Z2 writes the second service request into the ledger corresponding to channel2.
S403,使用节点U1根据第一业务请求确定需要的用户信用数据的标识为D1。S403: The using node U1 determines that the required user credit data identifier is D1 according to the first service request.
其中,示例性的,第一业务请求所需的用户信用数据可以为用户1对应的标识为D1的用户信用数据。For example, the user credit data required by the first service request may be user credit data corresponding to user 1 and identified as D1.
S404,使用节点U2根据第二业务请求确定需要的用户信用数据的标识为D2。S404: The using node U2 determines that the required user credit data identifier is D2 according to the second service request.
其中,示例性的,第二业务请求所需的用户信用数据可以为用户1对应的标识为D2的用户信用数据。Exemplarily, the user credit data required for the second service request may be user credit data corresponding to user 1 and identified as D2.
S405,使用节点U1向提供节点V1发送第一数据交易请求。S405: The node U1 is used to send a first data transaction request to the providing node V1.
其中,第一数据交易请求可以用于请求用户1对应的标识为D1的用户信用数据。Wherein, the first data transaction request may be used to request user credit data corresponding to user 1 and identified as D1.
S406,使用节点U2向提供节点V1发送第二数据交易请求。S406, the node U2 is used to send a second data transaction request to the providing node V1.
其中,第二数据交易请求可以用于请求用户1对应的标识为D2的用户信用数据。Wherein, the second data transaction request may be used to request user credit data corresponding to user 1 and identified as D2.
S405-A,使用节点U1向共识节点Z1发送第一数据交易请求。S405-A, using node U1 to send a first data transaction request to consensus node Z1.
S405-C,共识节点Z1将第一数据交易请求写入channel1对应的账本中。S405-C, the consensus node Z1 writes the first data transaction request into the ledger corresponding to channel1.
S406-A,使用节点U2向共识节点Z2发送第二数据交易请求。S406-A, using node U2 to send a second data transaction request to consensus node Z2.
S406-C,共识节点Z2将第二数据交易请求写入channel2对应的账本中。S406-C: The consensus node Z2 writes the second data transaction request into the ledger corresponding to channel2.
S407,提供节点V1向用户终端T1发送第一数据授权请求。S407: The providing node V1 sends a first data authorization request to the user terminal T1.
其中,第一数据授权请求携带用户标识为用户1,业务标识为业务1,需要的用户信用数据的标识为D1。在一示例中,提供节点V1可以向用户终端T1上的用户客户端C1发送第一数据授权请求,用户客户端C1支持与U1和V1之间的通信,在另一示例中,提供节点V1可以向用户终端T1上的用户客户端C2发送第一数据授权请求,用户客户端C2支持与V1之间的通信。Wherein, the first data authorization request carries the user ID as user 1, the service ID as service 1, and the ID of required user credit data is D1. In an example, the providing node V1 may send a first data authorization request to the user client C1 on the user terminal T1, and the user client C1 supports communication with U1 and V1. In another example, the providing node V1 may The first data authorization request is sent to the user client C2 on the user terminal T1, and the user client C2 supports communication with V1.
S408,提供节点V1向用户终端T1发送第二数据授权请求。S408: The providing node V1 sends a second data authorization request to the user terminal T1.
其中,第二数据授权请求携带用户标识为用户1,业务标识为业务2,需要的用户信用数据的标识为D2。在一示例中,提供节点V1可以向用户终端T1上的用户客户端C3发送第二数据授权请求,用户客户端C3支持与U2和V1之间的通信,在另一示例中,提供节点V1可以向用户终端T1上的用户客户端C4发送第二数据授权请求,用户客户端C4支持与V1之间的通信。Among them, the second data authorization request carries the user ID as user 1, the service ID as service 2, and the ID of the required user credit data is D2. In an example, the providing node V1 may send a second data authorization request to the user client C3 on the user terminal T1, and the user client C3 supports communication with U2 and V1. In another example, the providing node V1 may The second data authorization request is sent to the user client C4 on the user terminal T1, and the user client C4 supports communication with V1.
S407-A,提供节点V1向共识节点Z1发送第一数据授权请求。S407-A, the providing node V1 sends the first data authorization request to the consensus node Z1.
S407-C,共识节点Z1将第一数据授权请求写入channel1对应的账本中。S407-C: The consensus node Z1 writes the first data authorization request into the ledger corresponding to channel1.
S408-A,提供节点V1向共识节点Z1发送第一数据授权请求。S408-A, the providing node V1 sends the first data authorization request to the consensus node Z1.
S408-C,共识节点Z2将第二数据授权请求写入channel2对应的账本中。S408-C: The consensus node Z2 writes the second data authorization request into the ledger corresponding to channel2.
S409,用户终端T1在用户客户端上显示第一数据授权请求并接收第一输入信息。S409: The user terminal T1 displays the first data authorization request on the user client and receives the first input information.
其中,示例性地,用户终端T1可以在用户客户端C3上显示第一数据授权请求并接收第一输入信息。Wherein, for example, the user terminal T1 may display the first data authorization request on the user client C3 and receive the first input information.
S410,用户终端T1在用户客户端上显示第二数据授权请求并接收第二输入信息。S410: The user terminal T1 displays the second data authorization request on the user client and receives second input information.
其中,示例性地,用户终端T1可以在用户客户端C4上显示第二数据授权请求并接收第二入信息。Wherein, for example, the user terminal T1 may display the second data authorization request on the user client C4 and receive the second input information.
S411,用户终端T1根据第一输入信息向提供节点V1发送第一数据授权响应。S411: The user terminal T1 sends a first data authorization response to the providing node V1 according to the first input information.
其中,示例性地,用户终端T1可以通过用户客户端C3向提供节点V1发送第一数据授权响应。Wherein, for example, the user terminal T1 may send the first data authorization response to the providing node V1 through the user client C3.
S412,用户终端T1根据第二输入信息向提供节点V1发送第二数据授权响应。S412: The user terminal T1 sends a second data authorization response to the providing node V1 according to the second input information.
其中,示例性地,用户终端T1可以通过用户客户端C4向提供节点V1发送第一数据授权响应。Wherein, for example, the user terminal T1 may send the first data authorization response to the providing node V1 through the user client C4.
S411-B,提供节点V1向共识节点Z1发送第一数据授权响应。S411-B, the providing node V1 sends the first data authorization response to the consensus node Z1.
S411-C,共识节点Z1将第一数据授权响应写入channel1对应的账本中。S411-C, the consensus node Z1 writes the first data authorization response into the ledger corresponding to channel1.
S412-B,提供节点V1向共识节点Z2发送第二数据授权响应。S412-B, the providing node V1 sends a second data authorization response to the consensus node Z2.
S412-C,共识节点Z2将第二数据授权响应写入channel2对应的账本中。S412-C: The consensus node Z2 writes the second data authorization response into the ledger corresponding to channel2.
S413,提供节点V1根据第一数据授权响应获取用户信用数据D1。S413: The providing node V1 obtains the user credit data D1 according to the first data authorization response.
其中,提供节点V1可以根据第一数据授权响应,获取用户1对应的用户信用数据D1。Wherein, the providing node V1 may obtain the user credit data D1 corresponding to the user 1 according to the first data authorization response.
S414,提供节点V1根据第二数据授权响应获取用户信用数据D2。S414: The providing node V1 obtains the user credit data D2 according to the second data authorization response.
其中,提供节点V1可以根据第二数据授权响应,获取用户1对应的用户信用数据D2。Wherein, the providing node V1 may obtain the user credit data D2 corresponding to the user 1 according to the second data authorization response.
S415,提供节点V1向使用节点U1发送第一数据交易响应。S415: The providing node V1 sends a first data transaction response to the using node U1.
其中,第一数据交易响应可以包括用户1对应的用户信用数据D1。在一些场景 中,提供节点V1可以将用户标识对应的用户信用数据发送给共识节点,以使共识节点将用户信用数据记录在区块链中,使用节点可以从区块链中获取用户标识对应的用户信用数据。The first data transaction response may include user credit data D1 corresponding to user 1. In some scenarios, the providing node V1 can send the user credit data corresponding to the user ID to the consensus node, so that the consensus node records the user credit data in the blockchain, and the user node can obtain the user ID corresponding to the user ID from the blockchain. User credit data.
S416,提供节点V1向使用节点U2发送第二数据交易响应。S416: The providing node V1 sends a second data transaction response to the using node U2.
其中,第二数据交易响应可以包括用户1对应的用户信用数据D2。The second data transaction response may include user credit data D2 corresponding to user 1.
S415-A,提供节点V1向共识节点Z1发送第一数据交易响应。In S415-A, the provision node V1 sends the first data transaction response to the consensus node Z1.
S415-C,共识节点Z1将第一数据交易响应写入channel1对应的账本中。In S415-C, the consensus node Z1 writes the first data transaction response into the ledger corresponding to channel1.
S416-A,提供节点V1向共识节点Z2发送第二数据交易响应。S416-A, the provision node V1 sends a second data transaction response to the consensus node Z2.
S416-C,共识节点Z2将第二数据交易响应写入channel2对应的账本中。S416-C, the consensus node Z2 writes the second data transaction response into the ledger corresponding to channel2.
S417,使用节点U1对第一业务请求进行处理。S417: Use the node U1 to process the first service request.
其中,示例性地,使用节点U1根据用户1对应的用户信用数据D1对第一业务请求进行处理。Wherein, for example, the node U1 is used to process the first service request according to the user credit data D1 corresponding to the user 1.
S418,使用节点U2对第二业务请求进行处理。S418: Use the node U2 to process the second service request.
其中,示例性地,使用节点U2根据用户1对应的用户信用数据D2对第二务请求进行处理。Wherein, for example, the use node U2 processes the second service request according to the user credit data D2 corresponding to the user 1.
S419,使用节点U1向用户终端T1发送第一业务响应。S419: Use the node U1 to send the first service response to the user terminal T1.
其中,示例性地,使用节点U1可以向用户终端T1上的用户客户端C1发送第一业务响应,第一业务响应中可以包括使用节点U1对第一业务请求的处理结果。Wherein, for example, the using node U1 may send a first service response to the user client C1 on the user terminal T1, and the first service response may include the processing result of the first service request by the using node U1.
S420,使用节点UE2向用户终端T1发送第二业务响应。S420: The node UE2 is used to send a second service response to the user terminal T1.
其中,示例性地,使用节点U2可以向用户终端T1上的用户客户端C3发送第二业务响应,第二业务响应中可以包括使用节点U2对第二业务请求的处理结果。Wherein, for example, the use node U2 may send a second service response to the user client C3 on the user terminal T1, and the second service response may include the processing result of the second service request by the use node U2.
S419-A,使用节点U1向共识节点Z1发送第一业务响应。S419-A: Use node U1 to send the first service response to consensus node Z1.
S419-C,共识节点Z1将第一业务响应写入channel1对应的账本中。S419-C: The consensus node Z1 writes the first service response into the ledger corresponding to channel1.
S420-A,使用节点U2向共识节点Z2发送第二业务响应。S420-A, using node U2 to send a second service response to consensus node Z2.
S420-C,共识节点Z2将第二业务响应写入channel2对应的账本中。S420-C, the consensus node Z2 writes the second business response into the ledger corresponding to channel2.
在本申请实施例中,各个使用节点、提供节点向共识节点发送通信信息的方式,以及共识节点将接收到的通信信息记录在账本中的方式可以参考前述实施例中的描述,区别仅在于,共识节点将各个channel的通信信息写入相应channel对应的账本中,此处不再赘述。In the embodiments of the present application, the manner in which each user node, the provider node sends communication information to the consensus node, and the manner in which the consensus node records the received communication information in the ledger can refer to the description in the foregoing embodiment. The only difference is: The consensus node writes the communication information of each channel into the ledger corresponding to the corresponding channel, which will not be repeated here.
在本申请实施例提供的技术方案中,使用节点U1仅被允许访问channel1对应的账本,使用节点U2仅被允许访问channel2对应的账本,从而可以保证各个使用节点相关的通信的信息仅允许被本channel内的成员访问。示例性地,使用节点U1可以为工商银行,使用节点U2可以为建设银行,则工商银行和建设银行的数据确权过程的通信信息的保存是相互隔离的,工商银行和建设银行不能访问对方银行相关的账本中记录的通信信息。In the technical solution provided by the embodiments of this application, the user node U1 is only allowed to access the ledger corresponding to channel1, and the user node U2 is only allowed to access the ledger corresponding to channel2, so that it can be ensured that the communication information related to each user node is only allowed to be Member access in the channel. Exemplarily, the use node U1 can be ICBC, and the use node U2 can be China Construction Bank. The storage of communication information during the data verification process of ICBC and China Construction Bank is isolated from each other, and ICBC and China Construction Bank cannot access the other bank. Communication information recorded in the related ledger.
在本申请实施例中,在一种实施方式中,共识节点Z1和Z2可以为同一区块链节点,即该共识节点上可以同时保存有channel1和channel2对应的账本,但是,按照隔离度的需求,使用节点U1仍然仅被允许访问共识节点上channel1对应的账本中的通信信息,使用节点U2仅被允许访问共识节点上channel2对应的账本中的通信信息。In the embodiment of this application, in an implementation manner, the consensus nodes Z1 and Z2 can be the same blockchain node, that is, the consensus node can store the ledgers corresponding to channel1 and channel2 at the same time, but according to the requirements of isolation , The user node U1 is still only allowed to access the communication information in the ledger corresponding to channel1 on the consensus node, and the user node U2 is only allowed to access the communication information in the ledger corresponding to channel2 on the consensus node.
在本申请其他实施例中,当系统中部署有代理节点时,代理节点与使用节点和提供节点之间的通信信息也能够按照通信信息对应的通道记录在通道对应的账本中。In other embodiments of the present application, when an agent node is deployed in the system, the communication information between the agent node and the user node and the providing node can also be recorded in the ledger corresponding to the channel according to the channel corresponding to the communication information.
本申请实施例的其他技术方案细节和技术效果,可参看图2所示实施例中的相关描述,此处不再赘述。For details and technical effects of other technical solutions of the embodiments of the present application, please refer to the related descriptions in the embodiment shown in FIG. 2, which will not be repeated here.
下面结合本申请实施例的一些实际应用场景对本申请实施例提供的基于区块链网络的数据确权方法进行示例性说明。The following will exemplify the blockchain network-based data verification method provided by the embodiments of the present application in combination with some practical application scenarios of the embodiments of the present application.
在一种应用场景中,用户A可以向数据使用企业申请业务,数据使用企业为了降低业务风险,需对用户做出信用评价,根据用户的信用等级决定是否为用户办理相关业务。数据使用企业可以向数据代理商请求用户A的电信数据,数据代理商查看与数据使用企业是否有合作、合作是否到期等确认数据使用企业的权限,若数据使用企业无权限,则向数据使用企业返回拒绝服务,若有权限,则数据代理商向运营商申请用户A的数据,运营商查验数据代理商的权限,若运营商检查数据代理商无相应权限,则向数据代理商返回拒绝服务,若数据代理商有权限,则向数据代理商返回用户A的数据。之后,数据使用企业可以从数据代理商处获取到用户A的数据,并对用户作出信用评价,决定是否办理相关业务。In an application scenario, user A can apply for a business from a data user company. In order to reduce business risks, the data user company needs to make a credit evaluation on the user, and decide whether to handle the relevant business for the user according to the user's credit rating. The data user company can request user A’s telecommunication data from the data agent. The data agent checks whether there is any cooperation with the data user company, whether the cooperation has expired, etc., to confirm the authority of the data user company. The enterprise returns a denial of service. If it has permission, the data agent will apply to the operator for user A’s data, and the operator will check the data agent’s authority. If the operator checks that the data agent has no corresponding authority, then the data agent will return a denial , If the data agent has the authority, the data of user A will be returned to the data agent. After that, the data user company can obtain user A's data from the data agent, make a credit evaluation on the user, and decide whether to handle the relevant business.
根据上述业务需要,可以在区块链网络中部署各个组织对应的区块链节点。在实际应用中,数据使用企业(即数据使用商,如银行)可以部署为使用节点,数据提供企业(即数据提供商,如运营商)可以部署为提供节点,数据代理商可以部署为代理节点,用户使用的终端可以为用户终端,用户终端上可以部署用于与各个使用节点、各个提供节点进行通信的一个或多个用户客户端,用户可以通过用户终端上部署的用户客户端向数据使用企业发起携带用户标识的业务请求。According to the above business needs, the blockchain nodes corresponding to each organization can be deployed in the blockchain network. In practical applications, data users (ie data users, such as banks) can be deployed as user nodes, data provider companies (ie, data providers, such as operators) can be deployed as providing nodes, and data agents can be deployed as proxy nodes , The terminal used by the user can be a user terminal, and one or more user clients can be deployed on the user terminal to communicate with each user node and each providing node. The user can use the user client deployed on the user terminal to use the data The enterprise initiates a service request carrying the user ID.
图5为本申请实施例提供的基于区块链网络的数据确权方法的一种应用架构的示意图。如图5所示,在实际应用的业务场景中,当区块链网络中部署有代理节点时,用户终端上的用户客户端与使用节点之间、使用节点与代理节点之间、代理节点与提供节点、提供节点与用户终端上的用户客户端之间可以分别建立通信连接。使用节点可以通过代理节点与提供节点交互。FIG. 5 is a schematic diagram of an application architecture of a method for data right confirmation based on a blockchain network provided by an embodiment of the application. As shown in Figure 5, in the actual application business scenario, when a proxy node is deployed in the blockchain network, between the user client on the user terminal and the user node, between the user node and the proxy node, and the proxy node and The providing node, the providing node and the user client on the user terminal can respectively establish a communication connection. The user node can interact with the provider node through the agent node.
在区块链网络中,代理节点的业务功能可以包括以下至少一个:接收使用节点发送的数据交易请求,其中,数据交易请求用于请求用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认使用节点具有访问权限时,向提供节点发送数据交易请求;以及,接收提供节点发送的数据交易响应,其中,数据交易响应包括用户标识用户信用数据。In a blockchain network, the business function of the proxy node may include at least one of the following: receiving a data transaction request sent by a user node, wherein the data transaction request is used to request user credit data corresponding to the user ID; and confirming the user node Whether it has the access authority to the user credit data corresponding to the user identification; and, when it is confirmed that the using node has the access authority, sending a data transaction request to the providing node; and receiving a data transaction response sent by the providing node, wherein the data transaction response Including user identification user credit data.
为了实现上述代理节点的业务功能,在一种实施方式中,代理节点可以分别与各个使用节点和各个提供节点签订数据交易合约。代理节点与提供节点之间的数据交易合约可以约定该代理节点允许从某一提供节点获取的用户标识对应的用户信用数据的范围,如用户标识的范围、用户信用数据的标识、使用期限、允许使用用户信用数据的业务标识等。代理节点与使用节点之间的数据交易合约也可以进行类似的约定。任一代理节点可以与多个提供节点分别签订数据交易合约,从而可以向所服务的使用节点提供多个提供节点所分别提供的用户标识对应的用户信用数据。In order to realize the business functions of the above-mentioned proxy node, in an embodiment, the proxy node may sign a data transaction contract with each user node and each provider node. The data transaction contract between the proxy node and the providing node may stipulate the scope of the user credit data corresponding to the user ID obtained from a certain providing node by the proxy node, such as the scope of the user ID, the ID of the user credit data, the usage period, and the permission Use user credit data for business identification, etc. The data transaction contract between the proxy node and the user node can also be similarly agreed. Any agent node can sign data transaction contracts with multiple provider nodes, so that the service user node can be provided with user credit data corresponding to the user identifiers provided by the multiple provider nodes.
此外,处于区块链网络中的代理节点与区块链网络中的任一共识节点之间也可以建立有通信连接,代理节点在从使用节点或提供节点接收到通信信息之后,或者,代理节点在向使用节点或提供节点发送通信信息之后,可以将接收或者发送的通信信息发送给共识节点,以使共识节点对从代理节点接收到的通信信息进行校验,并在校验成功时,将从代理节点接收到的通信信息以区块的形式记录在区块链网络的账本中。采用这种部署方式,可以实现区块链网络中代理节点与其他区块链节点之间交互的通信信息可回溯的需求。In addition, a communication connection can also be established between the proxy node in the blockchain network and any consensus node in the blockchain network. The proxy node receives the communication information from the using node or the providing node, or the proxy node After sending the communication information to the user node or the providing node, the received or sent communication information can be sent to the consensus node so that the consensus node can verify the communication information received from the proxy node, and when the verification is successful, the The communication information received from the agent node is recorded in the ledger of the blockchain network in the form of blocks. With this deployment method, the need for the traceability of communication information between proxy nodes and other blockchain nodes in the blockchain network can be achieved.
示例性地,在部署有代理节点时,本申请实施例提供的数据确权方法的基本流程可以包括下面几个阶段。Exemplarily, when a proxy node is deployed, the basic process of the data right confirmation method provided in the embodiment of the present application may include the following stages.
其中,区块链网络之间交互通信信息是通过各个区块链节点向区块链网络广播要发送的通信信息实现的,示例性地,作为通信信息的发送方的区块链节点可以向邻近的各个区块链节点发送待发送的通信信息。区块链网络中各个区块链节点按照所部署的业务功能和网络功能相互配合。使用节点、代理节点、提供节点可以通过分别通过数据使用商区块链客户端、数据代理商客户端、数据提供商客户端进行维护。Among them, the exchange of communication information between blockchain networks is realized by each blockchain node broadcasting the communication information to be sent to the blockchain network. Illustratively, the blockchain node as the sender of the communication information can communicate with neighbors. Each blockchain node sends the communication information to be sent. Each blockchain node in the blockchain network cooperates with each other according to the deployed business functions and network functions. Using nodes, agent nodes, and providing nodes can be maintained through the data consumer blockchain client, data agent client, and data provider client respectively.
第一阶段,使用节点向区块链网络发送数据使用请求。In the first stage, the use node sends a data use request to the blockchain network.
其中,(1)使用节点接收用户终端上的用户客户端发送的业务请求,以及个人数据;(2)使用节点将用户标识(如姓名、身份证号、手机号等)和申请的业务标识打包成消息M,使用节点使用自身对应的公钥加密,并加上私钥签名,发到其他区块链节点(该其他区块链节点可以是除了使用节点之外的区块链节点)中。Among them, (1) using the node to receive the service request sent by the user client on the user terminal, and personal data; (2) using the node to package the user ID (such as name, ID number, mobile phone number, etc.) with the requested service ID As a message M, the using node encrypts with its own corresponding public key, adds a private key signature, and sends it to other blockchain nodes (the other blockchain node may be a blockchain node other than the using node).
第二阶段,代理节点向区块链网络发送数据使用请求。In the second stage, the proxy node sends a data usage request to the blockchain network.
其中,(1)代理节点判断使用节点是否具有数据获取权限,若无权限,则结束处理流程,若有,执行(2);(2)代理节点在消息M中添加数据源列表,打包成消息M1,发送到其他区块链节点(该其他区块链节点可以是除了代理节点之外的区块链节点)。Among them, (1) the agent node judges whether the using node has the data acquisition authority, if there is no authority, the processing flow is ended, if so, execute (2); (2) the agent node adds the data source list to the message M and packs it into a message M1, sent to other blockchain nodes (the other blockchain nodes may be blockchain nodes other than the proxy node).
第三阶段,提供节点向用户终端上的用户客户端申请数据使用权限。In the third stage, the provision node applies to the user client on the user terminal for data usage rights.
其中,(1)提供节点将数据源列表及数据授权申请发送给用户终端上的用户客户端(例如前述实施例中的第二用户客户端,图中未体现);(2)用户客户端整合收到的数据授权申请,满足数据源列表的要求如数量和申请方ID,激活授权操作;(3)用户客户端对每一条数据授权申请签名(表示用户允许提供节点使用数据源列表中的用户数据),并且用对应申请方(即对应的使用节点提供节点)的公钥加密,生成消息M2,发送到提供节点或者与用户终端相连的其他区块链节点(该其他区块链节点可以是除了提供节点之外区块链节点)。Among them, (1) the providing node sends the data source list and data authorization application to the user client on the user terminal (for example, the second user client in the foregoing embodiment, not shown in the figure); (2) user client integration The received data authorization application meets the requirements of the data source list, such as the quantity and applicant ID, and activates the authorization operation; (3) The user client signs each data authorization application (indicating that the user is allowed to provide the node to use the user in the data source list Data), and encrypted with the public key of the corresponding applicant (that is, the corresponding user node providing node) to generate a message M2, and send it to the providing node or other blockchain nodes connected to the user terminal (the other blockchain node may be In addition to providing nodes (blockchain nodes).
第四阶段,提供节点将用户数据发送到区块链网络。In the fourth stage, provide nodes to send user data to the blockchain network.
其中,(1)提供节点将使用节点的信息(如银行信息)、数据使用范围、经过使用节点的公钥加密的用户数据和私钥签名(即用户终端的签名)打包成消息M3,发送到其他区块链节点(该其他区块链节点可以是除了提供节点之外的区块链节点);(2)使用节点收到用户数据(可以对消息M3解密,提取其中的用户数据)之后,执行智能合约,执行智能合约的输入为使用节点的信息和用户终端的信息,输出为数据使用交易,使用节点可以将生成的数据使用交易(或者,使用节点可以将从提供节点 或者代理节点接收到的用户数据)发到其他区块链节点(该其他区块链节点可以是除了使用节点之外的区块链节点);(3)使用节点转发用户数据到自身的信用评价系统,对用户标识对应的用户做出信用评价,并根据信用评价结果对用户终端上的用户客户端发送的业务请求进行处理。Among them, (1) The providing node will use the node's information (such as bank information), data usage range, user data encrypted with the node's public key, and private key signature (that is, the signature of the user terminal) into a message M3 and send it to Other blockchain nodes (the other blockchain nodes may be other than the providing node); (2) After the user data is received by the user node (the message M3 can be decrypted and the user data can be extracted), Execute the smart contract, the input of the executed smart contract is the information of the use node and the information of the user terminal, and the output is the data use transaction. The use node can use the generated data use transaction (or the use node can receive it from the providing node or agent node (The user data of the user data) is sent to other blockchain nodes (the other blockchain node may be a blockchain node other than the use node); (3) The use node forwards user data to its own credit evaluation system, and identifies the user The corresponding user makes a credit evaluation, and processes the service request sent by the user client on the user terminal according to the credit evaluation result.
需要说明的是,各个节点预先已建立合作关系,生成自身对应的公钥和私钥对以及相应整数,同时将各自的公钥在区块链网络中公开。It should be noted that each node has established a cooperative relationship in advance, generates its own corresponding public key and private key pair and corresponding integer, and at the same time discloses their respective public keys in the blockchain network.
在本申请实施例中,上述区块链网络中传输的通信消息可以采用统一的消息格式。举例来说,通信信息可以包括以下字段:发送方(sender)、标签(label)、消息(message)等。统一的消息格式可以示例如下:In the embodiment of the present application, the communication message transmitted in the above-mentioned blockchain network may adopt a unified message format. For example, the communication information may include the following fields: sender, label, message, and so on. Examples of unified message formats are as follows:
{sender:“”,{sender:"",
label:“”,label:"",
message:“”}message:""}
下面采用具体的例子对本申请实施例提供的基于区块链网络的数据确权方法的交互过程以及消息格式进行示例性说明。The following uses specific examples to illustrate the interaction process and message format of the blockchain network-based data verification method provided in the embodiments of the present application.
图6为本申请实施例提供的基于区块链网络的数据确权方法的交互流程图三。本申请实施例涉及用户名为张某的用户使用的终端上部署的用户客户端、工商银行区块链节点(即使用节点)、联通运营商区块链节点(即提供节点U1)、移动运营商区块链节点(即提供节点U2)、数据代理商区块链节点(即代理节点W1)和其他区块链节点(即共识节点)。FIG. 6 is the third interaction flowchart of the method for data right confirmation based on the blockchain network provided by an embodiment of the application. The embodiment of the application relates to the user client deployed on the terminal used by the user named Zhang, the ICBC blockchain node (i.e. the use node), the Unicom operator blockchain node (i.e. the provision node U1), and mobile operations Business blockchain node (i.e. providing node U2), data agent blockchain node (i.e. agent node W1) and other blockchain nodes (i.e. consensus node).
举例来说,本申请实施例的实际业务需求可以包括:张某到工商银行办理贷款业务,工商银行为了降低业务风险,需要使用运营商中存储的张某的用户数据对张某进行信用评价。在具体实施前,工商银行作为数据使用商可以与数据代理商签订合同,建立数据使用关系,数据代理商作为两家运营商提供数据业务的统一对外接口,为数据使用商提供数据服务,两家运营商分别为数据源企业,在经过用户授权的情况下,开放用户数据给数据使用商使用。For example, the actual business requirements of the embodiments of the application may include: Zhang goes to ICBC to handle loan business. In order to reduce business risks, ICBC needs to use Zhang's user data stored in the operator to evaluate Zhang's credit. Before implementation, ICBC, as a data user, can sign a contract with a data agent to establish a data usage relationship. The data agent acts as a unified external interface for the two operators to provide data services and provide data services for data users. Operators are data source companies, and they open user data to data users with authorization.
如图6所示,本申请实施例的步骤可以包括:As shown in Figure 6, the steps of the embodiment of the present application may include:
S600,用户客户端向工商银行区块链节点申请业务,提交个人信息。S600, the user client applies to the ICBC blockchain node for business and submits personal information.
其中,示例性地,用户通过用户客户端可以向工商银行申请贷款业务,提供的个人信息可以包括姓名、身份证号、手机号等。Among them, by way of example, a user can apply for a loan service to ICBC through the user client, and the personal information provided can include name, ID number, mobile phone number, etc.
S601,工商银行区块链节点将张某的个人数据及业务申请打包成消息M,label字段为“bank_request”,加上私钥签名,向其他区块链节点发送消息M。In S601, the ICBC blockchain node packages Zhang's personal data and business application into a message M, the label field is "bank_request", and the private key signature is added, and the message M is sent to other blockchain nodes.
示例性的,消息M的内容可以为:Exemplarily, the content of the message M may be:
{sender:“bankID”,{sender:"bankID",
label:“bank_request”,label:"bank_request",
message:{“name”:“张某”,“ID”:“5555555”,“telephone”:“13243793294”,“business”:“bank loan”}}message:{"name":"张某","ID":"5555555","telephone":"13243793294","business":"bank Loan"}}
其中,bankID为工商银行的标识,bank_request表示该消息为银行发出的请求,message中的信息可以包括用户标识和所申请的业务标识。Among them, bankID is the ID of Industrial and Commercial Bank of China, bank_request indicates that the message is a request sent by the bank, and the information in the message may include the user ID and the requested service ID.
需要说明的是,在本申请实施例中,其他区块链节点可以用于执行前述实施例中共识节点执行的步骤。It should be noted that in the embodiment of the present application, other blockchain nodes may be used to execute the steps performed by the consensus node in the foregoing embodiment.
S602,其他区块链节点广播消息M,并验证消息来源,在确认共识之后,将消息M写入区块链。In S602, other blockchain nodes broadcast the message M, verify the source of the message, and after confirming the consensus, write the message M into the blockchain.
其中,示例性地,消息M经过其他区块链节点广播后,可以验证消息来源于工商银行,确认共识,将消息M写入区块链(即区块链网络的账本)中。Wherein, for example, after the message M is broadcast by other blockchain nodes, it can be verified that the message originated from ICBC, confirm the consensus, and write the message M into the blockchain (ie, the ledger of the blockchain network).
S603,数据代理商区块链节点查验消息M中的label字段,如果label字段的值为“bank_request”,执行S604,如果label字段的值不是“bank_request”,则仅写入交易。In S603, the data agent blockchain node checks the label field in the message M. If the value of the label field is "bank_request", execute S604. If the value of the label field is not "bank_request", only the transaction is written.
S604,数据代理商区块链节点执行智能合约,输入工商银行区块链节点的公钥,判断工商银行区块链节点是否有权限获取用户数据,若有权限,执行S605。S604: The data agent blockchain node executes the smart contract, inputs the public key of the ICBC blockchain node, and judges whether the ICBC blockchain node has the authority to obtain user data, and if so, execute S605.
S605,数据代理商区块链节点生成消息M1,label字段为“proxy_request”,message字段增加数据源列表,向其他区块链节点发送消息M1。S605: The data agent blockchain node generates a message M1, the label field is "proxy_request", the message field adds a data source list, and the message M1 is sent to other blockchain nodes.
示例性的,消息M1的内容可以为:Exemplarily, the content of the message M1 may be:
{sender:“proxyID”,{sender:"proxyID",
label:“proxy_request”,label:"proxy_request",
message:{“name”:“张某”,“ID”:“5555555”,“telephone”:“13243793294”,“business”:“bank loan”,“data_source_list”:[“移动”,“联通”]}}message:{"name":"Zhang","ID":"5555555","telephone":"13243793294","business":"bank Loan","data_source_list":["Mobile","Unicom"] }}
其中,proxyID为数据代理商的标识,proxy_request表示该消息为数据代理商发出的请求,message中的信息可以包括用户标识(name、ID、telephone)、所申请的业务标识(business)和数据源列表(data_source_list)。Among them, proxyID is the identification of the data agent, proxy_request indicates that the message is a request sent by the data agent, and the information in the message can include the user identification (name, ID, telephone), the applied business identification (business), and the data source list (data_source_list).
需要说明的是,数据代理商区块链节点可以预先与移动运营商区块链节点、联通运营商区块链节点签订数据代理合同,该数据代理合同可以约定数据代理商节点允许使用的由移动运营商、联通运营商区块链节点管理和提供的用户数据的范围、期限、应用范围等,其中,应用范围可以包括:允许使用的银行、允许使用的业务标识等。数据代理商可以在数据代理合同约定的范围,确定本次业务需要获取的数据源列表,这样可以使得银行方面可以获得尽可能多的用户数据。示例性的,数据代理商代理了移动运营商和联通运营商的数据,则可以将移动运营商和联通运营商的标识作为数据源列表添加到消息M1中。It should be noted that the data agency blockchain node can sign a data agency contract with the mobile operator blockchain node and the Unicom operator blockchain node in advance. The data agency contract can stipulate that the data agency node allows the use of mobile The scope, time limit, application scope, etc. of user data managed and provided by the blockchain node of the operator and Unicom operator. The application scope may include: permitted banks, permitted business identifications, etc. The data agency can determine the list of data sources that need to be obtained for this business within the scope of the data agency contract, so that the bank can obtain as much user data as possible. Exemplarily, if the data agent represents the data of the mobile operator and the Unicom operator, the identification of the mobile operator and the Unicom operator may be added to the message M1 as the data source list.
S606,其他区块链节点广播消息M1,并验证消息来源,在确认共识之后,将消息M1写入区块链。S606, other blockchain nodes broadcast the message M1 and verify the source of the message, and after confirming the consensus, write the message M1 into the blockchain.
S607-1,联通运营商区块链节点查验消息M1中的label字段,如果label字段的值为“proxy_request”执行S607-2,如果label字段的值不是“proxy_request”则不执行操作。S607-1: The blockchain node of the Unicom operator checks the label field in the message M1. If the value of the label field is "proxy_request", execute S607-2, and if the value of the label field is not "proxy_request", no operation is performed.
S608-1,移动运营商区块链节点查验消息M1中的label字段,如果label字段的值为“proxy_request”执行S608-2,如果label字段的值不是“proxy_request”则不执行操作。S608-1: The mobile operator blockchain node checks the label field in the message M1. If the value of the label field is "proxy_request", execute S608-2, and if the value of the label field is not "proxy_request", no operation is performed.
S607-2,联通运营商区块链节点生成消息M2,label字段的值为 “user_authorization_request”,message字段包括数据源列表及数据使用申请,添加联通运营商区块链节点的私钥签名,发送给用户客户端。S607-2, the Unicom operator blockchain node generates a message M2, the label field value is "user_authorization_request", the message field includes the data source list and data use application, and the private key signature of the Unicom operator blockchain node is added and sent to User client.
示例性的,消息M2的内容可以为:Exemplarily, the content of the message M2 may be:
{sender:“data_source_ID”,{sender: "data_source_ID",
label:“user_authorization_request”,label:"user_authorization_request",
message:{“data_source_list”:[“移动”,“联通”],“bank”:“bankID”,“msg”:“bankID want to use your personal data”}message:{"data_source_list":["Mobile","Unicom"],"bank":"bankID","msg":"bankID want to use your personal data"}
其中,data_source_ID为数据源企业的标识(如联通运营商区块链节点、移动运营商区块链节点),user_authorization_request表示该消息为数据提供商发出的请求(如用户授权请求),message中的信息可以包括数据源列表(data_source_list)、请求使用用户数据的银行的标识(如工商银行的标识)、请求授权的内容(如工商银行请求使用您的个人信息)。Among them, data_source_ID is the identification of the data source company (such as Unicom operator blockchain node, mobile operator blockchain node), user_authorization_request indicates that the message is a request issued by the data provider (such as a user authorization request), and the information in the message It can include the data source list (data_source_list), the identification of the bank requesting the use of user data (such as ICBC's identification), and the content requested for authorization (such as ICBC's request to use your personal information).
S608-2,移动运营商区块链节点生成消息M2’,label字段的值为“user_authorization_request”,message字段包括数据源列表及数据使用申请,添加移动运营商区块链节点的私钥签名,发送给用户客户端。S608-2, the mobile operator blockchain node generates a message M2', the label field value is "user_authorization_request", the message field includes the data source list and the data use application, and the mobile operator blockchain node’s private key signature is added and sent To the user client.
示例性的,消息M2’的内容可以为:Exemplarily, the content of the message M2' may be:
{sender:“data_source_ID”,{sender: "data_source_ID",
label:“user_authorization_request”,label:"user_authorization_request",
message:{“data_source_list”:[“移动”,“联通”],“bank”:“bankID”,“msg”:“bankID want to use your personal data”}message:{"data_source_list":["Mobile","Unicom"],"bank":"bankID","msg":"bankID want to use your personal data"}
其中,各参数的含义与S607-2中的参数含义相同。Among them, the meaning of each parameter is the same as that in S607-2.
S609,用户客户端在收到的数据使用请求的数量及请求方符合数据源列表要求时,激活授权操作。S609: The user client activates the authorization operation when the number of data use requests received and the requester meets the requirements of the data source list.
其中,消息M2和消息M2’可以为数据使用请求,数据使用请求与前述实施例中使用节点或者代理节点发送给提供节点的数据授权请求的作用相似,均可以请求用户客户端确认或者知悉自身数据被使用的情况。Among them, the message M2 and the message M2' may be data use requests. The data use request functions similarly to the data authorization request sent by the use node or the proxy node to the providing node in the foregoing embodiment, and both can request the user client to confirm or know its own data. The situation is used.
示例性的,数据源列表要求可以包含用户客户端已协商同意授权的一个或多个运营商的标识,以及,请求使用的数据的数量的范围。例如,若用户客户端对应的用户为移动运营商用户,则数据源列表要求可以包括移动运营商的标识,请求使用的数量的范围可以包括最近半年内用户欠费次数等。Exemplarily, the data source list requirement may include the identification of one or more operators that the user client has negotiated and agreed to authorize, and the range of the amount of data requested to be used. For example, if the user corresponding to the user client is a mobile operator user, the data source list requirement may include the mobile operator's identification, and the range of the requested amount may include the number of user arrears in the past six months.
用户客户端在确认符合数据源列表要求时,可以激活授权操作。在一示例中,激活授权操作可以包括:用户客户端可以在接收到请求使用数据的数据授权请求的运营商的标识以及请求使用的数据的数量符合数据源列表要求时,确认用户确认授权,此时,用户客户端可以在显示界面上向用户显示一条确认授权的提示信息,以提示用户的数据正在被使用。在另一示例中,用户客户端可以在显示界面中显示请求使用数据的运营商的标识和所请求使用的数据的数量、业务等信息,并提示用户确认是否同意授权运营商向银行提供相应用户数据,当用户输入同意授权时,用户客户端确认用户确认授权。The user client can activate the authorization operation when confirming that it meets the requirements of the data source list. In an example, the activation authorization operation may include: the user client may confirm that the user confirms the authorization when the identifier of the operator that requests the data authorization request for the use of data and the amount of data requested meet the requirements of the data source list. At the time, the user client can display a prompt message confirming authorization to the user on the display interface to remind the user that the data is being used. In another example, the user client can display on the display interface the identity of the operator requesting the use of data, the amount of data requested, and business information, and prompt the user to confirm whether to authorize the operator to provide the corresponding user to the bank Data, when the user enters to agree to the authorization, the user client confirms the user to confirm the authorization.
S610,用户客户端在用户确认授权时,对数据使用请求分别签名,并用对应请求 方的公钥加密,生成消息M3,label字段的值为“user_authorization”,向各个运营商区块链节点发送消息M3。S610: When the user confirms the authorization, the user client separately signs the data usage request and encrypts it with the public key of the corresponding requester to generate a message M3, the label field value is "user_authorization", and the message is sent to each operator blockchain node M3.
其中,用户客户端对各个运营商区块链节点发送的每个数据使用请求分别进行签名,Among them, the user client separately signs each data usage request sent by each operator's blockchain node,
在本申请实施例中,用户客户端可以向各个提供节点发送消息M3。在一些实施方式中,若用户客户端与区块链网络中的其他区块链节点相连,也可以向其他区块链节点发送消息M3,当用户客户端直接向其他区块链节点发送消息M3时,可以不执行S611直接执行S612。In the embodiment of the present application, the user client can send a message M3 to each providing node. In some embodiments, if the user client is connected to other blockchain nodes in the blockchain network, it can also send a message M3 to other blockchain nodes. When the user client directly sends a message M3 to other blockchain nodes At this time, S612 may be executed directly without executing S611.
示例性的,消息M3的内容可以为:Exemplarily, the content of the message M3 may be:
{sender:username{sender:username
label:user_authorizationlabel:user_authorization
message:{“移动”:M’,“联通”:M’}}message:{"Mobile":M’,"Unicom":M’}}
其中,username为用户终端对应的用户标识(如张某),user_authorization表示该消息为用户终端或者用户客户端发出的用户授权(如用户授权响应),message中的信息可以包括各个数据源(如移动、联通)以及各个数据源对应的经过加密的数据授权请求(如经过用户私钥签名和各个数据源(data_source_ID)的公钥对M2消息进行加密得到的M’消息)。Among them, username is the user ID corresponding to the user terminal (such as Zhang), user_authorization indicates that the message is user authorization (such as user authorization response) sent by the user terminal or user client, and the information in the message can include various data sources (such as mobile , China Unicom) and the encrypted data authorization request corresponding to each data source (such as the M'message obtained by encrypting the M2 message with the user's private key signature and the public key of each data source (data_source_ID)).
S611,各个运营商区块链节点向其他区块链节点发送消息M3。S611, each operator's blockchain node sends a message M3 to other blockchain nodes.
其中,示例性地,移动运营商区块链节点和联通区块链节点可以分别向其他区块链节点发送消息M3。Among them, by way of example, the mobile operator blockchain node and the China Unicom blockchain node may respectively send a message M3 to other blockchain nodes.
S612,其他区块链节点广播消息M3,并验证消息来源,在确认共识之后,将消息M3写入区块链。S612, other blockchain nodes broadcast message M3 and verify the source of the message, and after confirming the consensus, write message M3 to the blockchain.
其中,消息M3经过其他区块链节点广播后,可以验证消息来源于用户客户端,确认共识,将消息M写入区块链(即区块链网络的账本)中。Among them, after the message M3 is broadcast by other blockchain nodes, it can be verified that the message originated from the user client, confirm the consensus, and write the message M into the blockchain (ie, the ledger of the blockchain network).
S613,各个运营商区块链节点查验消息M3中的label字段,确认用户签名后,将银行数据、数据使用范围和经过工商银行的公钥加密的用户数据打包,发送给工商银行区块链节点。S613, each operator's blockchain node checks the label field in the message M3, and after confirming the user's signature, it packs the bank data, the data usage range, and the user data encrypted by the ICBC public key, and sends it to the ICBC blockchain node .
其中,among them,
S614,工商银行区块链节点在收到用户数据后,执行智能合约,输入为工商银行数据和用户数据,生成数据使用交易,发送到其他区块链节点。S614: After receiving the user data, the ICBC blockchain node executes a smart contract, inputs ICBC data and user data, generates a data usage transaction, and sends it to other blockchain nodes.
S615,工商银行区块链节点将接收到的用户数据转发至信用评价系统,对用户做出信用评价。S615: The ICBC blockchain node forwards the received user data to the credit evaluation system, and makes a credit evaluation on the user.
在本申请实施例中,基于上述实施例所示,部署有使用节点、代理节点和提供节点的区块链网络可以与部署于用户终端上的用户客户端进行交互,其中,使用节点可以从用户客户端接收业务请求,然后,区块链网络内部中的使用节点、代理节点以及提供节点各司其职,使用节点确认需要获取的用户终端对应的用户信用数据,代理节点确认请求的数据是否属于代理节点的代理范围,提供节点向用户客户端发送数据授权请求(即数据使用请求),用户客户端通过与用户的人机交互获得用户输入的确认信息,并将授权结果反馈给提供节点。在这个过程中,一方面,区块链网络的账本中 可以记录整个业务流程中各个区块链节点之间的通信信息,同时,区块链网络还可以记录用户客户端与区块链节点之间的通信信息,可见,采用本申请实施例提供的技术方案可以实现用户数据使用过程的完整记录,当使用节点、代理节点、提供节点以及用户客户端之间对用户数据使用过程存在疑问时,可以从区块链网络的账本中获得准备的过程信息。In the embodiments of this application, based on the above-mentioned embodiments, the blockchain network deployed with use nodes, proxy nodes, and provision nodes can interact with the user client deployed on the user terminal, where the use node can be from the user The client receives the service request, and then the use node, proxy node, and provider node in the blockchain network perform their duties. The use node confirms the user credit data corresponding to the user terminal that needs to be obtained, and the proxy node confirms whether the requested data belongs to The agent scope of the agent node, the provision node sends a data authorization request (ie data use request) to the user client, the user client obtains the confirmation information input by the user through the human-computer interaction with the user, and feeds the authorization result back to the providing node. In this process, on the one hand, the ledger of the blockchain network can record the communication information between each blockchain node in the entire business process. At the same time, the blockchain network can also record the relationship between the user client and the blockchain node. It can be seen that the technical solutions provided in the embodiments of this application can achieve a complete record of the user data use process. When there are doubts about the user data use process among the use node, the proxy node, the providing node, and the user client, The preparation process information can be obtained from the ledger of the blockchain network.
在本申请实施例中,用户可以使用一个或多个用户终端上部署的一个或多个用户客户端与各个使用节点和提供节点进行通信。在一示例中,用户可以用一个用户客户端与各个提供节点进行通信。In the embodiment of the present application, the user may use one or more user clients deployed on one or more user terminals to communicate with each user node and provider node. In an example, the user can use a user client to communicate with each providing node.
本申请实施例的其他技术方案细节及技术效果可参看前面实施例中的说明,此处不再赘述。For details of other technical solutions and technical effects of the embodiments of the present application, please refer to the descriptions in the previous embodiments, which will not be repeated here.
本申请实施例还提供一种基于区块链网络的数据确权装置。The embodiment of the present application also provides a data right confirmation device based on a blockchain network.
图7为本申请实施例提供的基于区块链网络的数据确权装置的结构示意图一;如图7所示,本申请实施例还提供一种基于区块链网络的数据确权装置700,应用于区块链网络中的第一区块链节点,装置700包括:FIG. 7 is a structural schematic diagram 1 of a data right confirmation device based on a blockchain network provided by an embodiment of the application; as shown in FIG. 7, an embodiment of this application also provides a data right confirmation device 700 based on a blockchain network. Applied to the first blockchain node in the blockchain network, the device 700 includes:
收发模块701,用于发送或者接收通信信息;The transceiver module 701 is used to send or receive communication information;
处理模块702,将所述通信信息记录在区块链网络的账本中;The processing module 702 records the communication information in the ledger of the blockchain network;
其中,区块链网络包括多个区块链节点,多个区块链节点包括:使用节点和提供节点;使用节点,用于根据携带有用户标识的业务请求,向提供节点请求用户标识对应的用户信用数据;提供节点,用于向使用节点提供用户信用数据;通信信息包括:第一区块链节点与多个区块链节点中的任一其他区块链节点之间的信息,以及,第一区块链节点与用户客户端之间的信息中至少一种;其中,用户客户端用于向使用节点发送携带有用户标识的业务请求,和/或,用户客户端用于确认是否允许提供节点向使用节点提供用户标识对应的用户信用数据;第一区块链节点为多个区块链节点中的区块链节点。Among them, the blockchain network includes multiple blockchain nodes. The multiple blockchain nodes include: using nodes and providing nodes; using nodes are used to request the providing node for the corresponding user identification according to the service request carrying the user identification User credit data; providing nodes, used to provide user credit data to using nodes; communication information including: information between the first blockchain node and any other blockchain node among the multiple blockchain nodes, and, At least one of the information between the first blockchain node and the user client; wherein the user client is used to send a service request carrying a user identification to the using node, and/or the user client is used to confirm whether to allow The providing node provides user credit data corresponding to the user identifier to the user node; the first blockchain node is a blockchain node among multiple blockchain nodes.
在一种可能的实施方式中,处理模块702,可以指示收发模块701向共识节点发送通信信息,以使共识节点将通信信息记录在区块链网络的账本中;共识节点为多个区块链节点中除了第一区块链节点之外的区块链节点。In a possible implementation manner, the processing module 702 may instruct the transceiver module 701 to send communication information to the consensus node, so that the consensus node records the communication information in the ledger of the blockchain network; the consensus node is multiple blockchains Among the nodes, blockchain nodes other than the first blockchain node.
在一种可能的实施方式中,收发模块701,可以具体用于:In a possible implementation manner, the transceiver module 701 may be specifically used for:
向第二区块链节点发送通信信息;或者,Send communication information to the second blockchain node; or,
接收第二区块链节点发送的通信信息;或者,Receive the communication information sent by the second blockchain node; or,
向用户客户端发送通信信息;或者,Send communication information to the user client; or,
接收用户客户端发送的通信信息;Receive communication information sent by the user client;
其中,第二区块链节点为多个区块链节点中除第一区块链节点之外的任一其他区块链节点。Wherein, the second blockchain node is any other blockchain node except the first blockchain node among the multiple blockchain nodes.
在一种可能的实施方式中,第一区块链节点可以为使用节点;用户客户端用于向使用节点发送携带有用户标识的业务请求;In a possible implementation, the first blockchain node may be a user node; the user client is used to send a service request carrying a user identifier to the user node;
收发模块701,可以具体用于发送或者接收通信信息,其中,通信信息具体包括:使用节点与多个区块链节点中的其他区块链节点之间的信息,以及,使用节点与用户 客户端之间的信息中至少一种;共识节点为多个区块链节点中除使用节点之外的任一区块链节点。The transceiver module 701 may be specifically used to send or receive communication information, where the communication information specifically includes: information between the use node and other blockchain nodes among multiple blockchain nodes, and the use node and the user client At least one of the information between; the consensus node is any one of the multiple blockchain nodes except the use node.
在一种可能的实施方式中,第一区块链节点为提供节点;用户客户端用于确认是否允许提供节点向使用节点提供用户标识对应的用户信用数据;In a possible implementation manner, the first blockchain node is a providing node; the user client is used to confirm whether the providing node is allowed to provide user credit data corresponding to the user ID to the user node;
收发模块701,可以具体用于发送或者接收通信信息息,其中,通信信息具体包括:提供节点与多个区块链节点中的其他区块链节点之间的信息,以及,提供节点与用户客户端之间的信息中至少一种;共识节点为多个区块链节点中除提供节点之外的任一区块链节点。The transceiver module 701 may be specifically used to send or receive communication information, where the communication information specifically includes: providing information between the node and other blockchain nodes among multiple blockchain nodes, and providing the node and user clients At least one of the information between the terminals; the consensus node is any one of the multiple blockchain nodes except the providing node.
在一种可能的实施方式中,第一区块链节点为使用节点;用户客户端用于向使用节点发送携带有用户标识的业务请求;收发模块701,具体用于以下至少一种:In a possible implementation manner, the first blockchain node is a user node; the user client is used to send a service request carrying a user identifier to the user node; the transceiver module 701 is specifically used for at least one of the following:
接收用户客户端发送的携带用户标识的业务请求;Receive a service request carrying a user ID sent by a user client;
向提供节点发送数据交易请求,数据交易请求用于请求获取用户标识对应的用户信用数据,用户信用数据用于使用节点处理携带有用户标识的业务请求;Send a data transaction request to the providing node, the data transaction request is used to request the user credit data corresponding to the user ID, and the user credit data is used to use the node to process the business request carrying the user ID;
接收提供节点发送的数据交易响应,数据交易响应包括用户标识对应的用户信用数据。The data transaction response sent by the providing node is received, where the data transaction response includes user credit data corresponding to the user identification.
在一种可能的实施方式中,第一区块链节点为提供节点;用户客户端用于确认是否允许提供节点向使用节点提供用户标识对应的用户信用数据;收发模块701,具体用于以下至少一种:In a possible implementation, the first blockchain node is a providing node; the user client is used to confirm whether the providing node is allowed to provide user credit data corresponding to the user ID to the user node; the transceiver module 701 is specifically used for at least the following One:
接收使用节点发送的数据交易请求,数据交易请求用于请求获取用户标识对应的用户信用数据,用户信用数据用于使用节点处理携带有用户标识的业务请求;Receive a data transaction request sent by the using node, the data transaction request is used to request to obtain user credit data corresponding to the user ID, and the user credit data is used to use the node to process the service request carrying the user ID;
向用户客户端发送数据授权请求,数据授权请求用于请求用户客户端允许向使用节点提供用户标识对应的用户信用数据;Send a data authorization request to the user client, the data authorization request is used to request the user client to allow the user to provide user credit data corresponding to the user ID;
接收用户客户端发送的数据授权响应,数据授权响应用于确认是否允许向使用节点提供用户标识对应的用户信用数据;Receive the data authorization response sent by the user client, the data authorization response is used to confirm whether the user credit data corresponding to the user ID is allowed to be provided to the user node;
向使用节点发送数据交易响应,数据交易响应包括用户标识对应的用户信用数据。Send a data transaction response to the user node, and the data transaction response includes user credit data corresponding to the user ID.
在一种可能的实施方式中,多个区块链节点包括:代理节点;代理节点,用于接收使用节点发送的数据交易请求,数据交易请求用于请求用户标识对应的用户信用数据;以及,确认使用节点是否具有用户标识对应的用户信用数据的访问权限;以及,在确认使用节点具有访问权限时,向提供节点发送数据交易请求;以及,接收提供节点发送的数据交易响应,数据交易响应包括用户标识对应的用户信用数据;In a possible implementation manner, the multiple blockchain nodes include: proxy nodes; proxy nodes are used to receive data transaction requests sent by the use nodes, and the data transaction requests are used to request user credit data corresponding to the user identification; and, Confirm whether the using node has the access authority to the user credit data corresponding to the user ID; and, when confirming that the using node has the access authority, send a data transaction request to the providing node; and receive the data transaction response sent by the providing node. The data transaction response includes User credit data corresponding to the user ID;
第一区块链节点为代理节点;收发模块701,具体用于发送或者接收通信信息,其中,通信信息具体包括:代理节点与使用节点之间的信息,代理节点与提供节点之间的信息中至少一种。The first blockchain node is a proxy node; the transceiver module 701 is specifically used to send or receive communication information, where the communication information specifically includes: information between the proxy node and the user node, and the information between the proxy node and the providing node At least one.
在一种可能的实施方式中,区块链网络包括:X个通道;区块链网络中的区块链节点分别对应X个通道中的一个或多个通道;其中,第一区块链节点对应的通道包括第i通道,区块链网络中的第二区块链节点对应的通道包括第i通道;In a possible implementation manner, the blockchain network includes: X channels; the blockchain nodes in the blockchain network correspond to one or more of the X channels; among them, the first blockchain node The corresponding channel includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
收发模块701,具体用于将第i通道的通道信息记录在第i通道对应的账本中;The transceiver module 701 is specifically configured to record channel information of the i-th channel in the ledger corresponding to the i-th channel;
第i通道的通道信息包括:第一区块链节点与第二区块链节点之间通过第i通道 传输的信息,以及,第一区块链节点或者第二区块链节点基于从第i通道接收的信息向用户客户端发送的信息,以及,第一区块链节点基于从用户客户端接收的信息通过第i通道向第二区块链节点发送的信息,以及,第二区块链节点基于从用户客户端接收的信息通过第i通道向第一区块链节点发送的信息中至少一种;The channel information of the i-th channel includes: the information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the second block chain node is based on the i-th channel The information received by the channel is sent to the user client, and the information sent by the first blockchain node to the second blockchain node through the i-th channel based on the information received from the user client, and the second blockchain At least one of the information sent by the node to the first blockchain node through the i-th channel based on the information received from the user client;
其中,X为大于0的整数,i为大于0且小于或者等于X的整数。Wherein, X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
在一种可能的实施方式中,区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;共识节点对应一个或多个通道;In a possible implementation, the blockchain network includes M user nodes, and the M user nodes respectively correspond to one of the X channels, and any user node transmits information through its corresponding channel and the providing node; consensus node Correspond to one or more channels;
第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,第二区块链节点为通过第i通道与第j个使用节点传输信息的提供节点;或者,第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的提供节点,第二区块链节点为第j个使用节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the providing node that transmits information through the i-th channel and the jth usage node; or , The first blockchain node is a node that provides information through the i-th channel and the j-th user node whose corresponding channel is the i-th channel, and the second blockchain node is the j-th user node;
其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
在一种可能的实施方式中,区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;In a possible implementation manner, the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node transmits information through its corresponding channel and the providing node;
多个区块链节点包括:代理节点;代理节点,用于接收使用节点发送的数据交易请求,数据交易请求用于请求用户标识对应的用户信用数据;以及,确认使用节点是否具有用户标识对应的用户信用数据的访问权限;以及,在确认使用节点具有访问权限时,向提供节点发送数据交易请求;以及,接收提供节点发送的数据交易响应,数据交易响应包括用户标识对应的用户信用数据;The multiple blockchain nodes include: proxy node; proxy node, used to receive data transaction requests sent by the user node, the data transaction request is used to request user credit data corresponding to the user ID; and to confirm whether the user node has the corresponding user ID User credit data access rights; and, when the user node is confirmed to have access rights, send a data transaction request to the providing node; and receive a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user ID;
第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,第二区块链节点为与第j个使用节点通过第i通道传输信息的代理节点;或者,第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,第二区块链节点为第j个使用节点;或者,第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,第二区块链节点为与第一区块链节点通过第i通道传输信息的提供节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is a proxy node that transmits information through the i-th channel with the jth usage node; or , The first blockchain node is a proxy node that transmits information through the i-th channel and the corresponding channel is the j-th user node of the i-th channel, and the second blockchain node is the j-th user node; or, the first zone The block chain node is a proxy node that transmits information through the i-th channel with the j-th user node whose corresponding channel is the i-th channel, and the second block chain node is the provision of information transmitted through the i-th channel with the first block chain node node;
其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
在一种可能的实施方式中,提供节点为运营商服务器;用户信用数据为用户标识对应的运营商信用数据。In a possible implementation manner, the providing node is an operator server; the user credit data is operator credit data corresponding to the user identification.
在本申请实施例中,举例来说,在装置700位于使用节点时,处理模块702可以用于根据业务请求确认需要的用户信用数据的标识,在装置700位于提供节点时,处理模块702可以用于确认使用节点是否具有访问用户标识对应的用户信用数据的权限;在装置700位于代理节点时,处理模块702可以用于确认使用节点是否具有访问提供节点提供的用户标识对应的用户信用数据的权限等,可参看前面实施例中各个区块链节点执行步骤的描述。In the embodiment of the present application, for example, when the device 700 is located at the use node, the processing module 702 may be used to confirm the identification of the user credit data required according to the service request. When the device 700 is located at the providing node, the processing module 702 may use To confirm whether the using node has the authority to access user credit data corresponding to the user ID; when the device 700 is located at the proxy node, the processing module 702 can be used to confirm whether the using node has the authority to access the user credit data corresponding to the user ID provided by the providing node For example, please refer to the description of the execution steps of each blockchain node in the previous embodiment.
本申请实施例提供的基于区块链网络的数据确权装置可以用于实现前述任一实施例中各个区块链节点执行的方法,其技术方案细节及技术效果可参见前述实施例中的描述。The data right confirmation device based on the blockchain network provided by the embodiment of the present application can be used to implement the method executed by each blockchain node in any of the foregoing embodiments. For details of the technical solution and technical effects, please refer to the description in the foregoing embodiment .
图8为本申请实施例提供的基于区块链网络的数据确权装置的结构示意图二。FIG. 8 is a schematic diagram 2 of the structure of a data right confirmation device based on a blockchain network provided by an embodiment of the application.
如图8所示,本申请实施例还提供一种基于区块链网络的数据确权装置800,应用于用户终端或者用户客户端,装置800包括:As shown in FIG. 8, an embodiment of the present application also provides a data right confirmation device 800 based on a blockchain network, which is applied to a user terminal or a user client. The device 800 includes:
收发模块801,用于接收提供节点发送的携带有用户客户端对应的用户标识的数据授权请求,数据授权请求用于请求允许使用节点使用提供节点提供的用户标识对应的用户信用数据;The transceiver module 801 is configured to receive a data authorization request carrying a user ID corresponding to the user client sent by the providing node, and the data authorization request is used to request permission for the user node to use the user credit data corresponding to the user ID provided by the providing node;
输出模块802,用于通过输出设备输出提示信息,提示信息用于请求确认是否允许使用节点使用提供节点提供的用户标识对应的用户信用数据;The output module 802 is configured to output prompt information through an output device, and the prompt information is used to request confirmation whether the use node is allowed to use the user credit data corresponding to the user identification provided by the providing node;
其中,使用节点、提供节点为区块链网络中的区块链节点,使用节点用于向提供节点请求用户标识对应的用户信用数据。Among them, the using node and the providing node are the blockchain nodes in the blockchain network, and the using node is used to request the user credit data corresponding to the user identifier from the providing node.
在一种可能的实施方式中,收发模块801,可以具体用于接收至少两个提供节点发送的至少两个数据授权请求,至少两个数据授权请求分别与至少两个提供节点一一对应,任一数据授权请求用于请求允许使用节点使用发送数据授权请求的提供节点提供的用户标识对应的用户信用数据;In a possible implementation manner, the transceiver module 801 may be specifically configured to receive at least two data authorization requests sent by at least two providing nodes, and the at least two data authorization requests respectively correspond to at least two providing nodes one-to-one. A data authorization request is used to request that the user node be allowed to use the user credit data corresponding to the user ID provided by the provider node that sent the data authorization request;
其中,使用节点用于分别向至少两个提供节点请求用户标识对应的用户信用数据,用户标识对应的用户信用数据包括:由至少两个提供节点分别提供的用户标识对应的用户信用数据;Wherein, the use node is used to request user credit data corresponding to the user identification from at least two providing nodes, and the user credit data corresponding to the user identification includes: user credit data corresponding to the user identification respectively provided by the at least two providing nodes;
提示信息用于请求确认是否允许使用节点使用至少两个提供节点分别提供的用户标识对应的用户信用数据。The prompt information is used to request confirmation whether the use node is allowed to use the user credit data corresponding to the user identification provided by the at least two providing nodes respectively.
在一种可能的实施方式中,装置800还可以包括:In a possible implementation manner, the apparatus 800 may further include:
输入模块802,输入模块用于通过输入设备接收输入信息,输入信息用于确认是否允许使用节点使用至少两个提供节点所提供的用户标识对应的用户信用数据; Input module 802, the input module is used to receive input information through an input device, and the input information is used to confirm whether the use node is allowed to use the user credit data corresponding to the user identification provided by at least two providing nodes;
收发模块801,还用于在输入信息表示允许使用节点使用至少两个提供节点所提供的用户标识对应的用户信用数据时,分别向提供节点发送数据授权响应,任一数据授权响应用于确认允许使用节点使用接收数据授权响应的提供节点所提供的用户标识对应的用户信用数据。The transceiver module 801 is further configured to send data authorization responses to the providing nodes when the input information indicates that the user is allowed to use the user credit data corresponding to the user identification provided by the at least two providing nodes, and any data authorization response is used to confirm the permission The using node uses the user credit data corresponding to the user identification provided by the providing node that receives the data authorization response.
在本申请实施例中,装置800还可以包括处理模块804,举例来说,处理模块804可以用于根据用户的输入信息生成数据授权响应,可参看前面实施例中用户终端或用户客户端执行步骤的描述。In the embodiment of the present application, the device 800 may further include a processing module 804. For example, the processing module 804 may be used to generate a data authorization response according to the input information of the user. Please refer to the steps performed by the user terminal or the user client in the previous embodiment. description of.
本申请实施例提供的基于区块链网络的数据确权装置可以用于实现前述任一实施例中各个用户客户端、第二用户客户端执行的方法,其技术方案细节及技术效果可参见前述实施例中的描述。The data right confirmation device based on the blockchain network provided by the embodiment of the application can be used to implement the method executed by each user client and the second user client in any of the foregoing embodiments. For details of the technical solution and technical effects, please refer to the foregoing Description in the examples.
本申请实施例还提供一种区块链节点,所述区块链节点于执行前述实施例中任一所述的数据识别方法中的步骤。在一示例中,区块链节点可以为服务器或者终端。An embodiment of the present application also provides a blockchain node that executes the steps in the data identification method described in any of the foregoing embodiments. In an example, the blockchain node may be a server or a terminal.
本申请实施例还提供一种用户客户端,所述用户客户端用于执行前述实施例中任一所述的数据识别方法中的步骤。An embodiment of the present application also provides a user client, which is used to execute the steps in the data identification method described in any of the foregoing embodiments.
本申请实施例还提供一种区块链节点,图9为本申请实施例提供的区块链节点的结构示意图。如图9所示,本申请实施例还提供一种区块链节点900,包括:一个或多个处理器901;存储器902,用于存储一个或多个程序;当所述一个或多个程序被 所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述前述实施例所述方法中第一区块链节点执行的步骤。示例性地,该区块链节点可以为服务器、终端。在本申请实施例中,区块链节点900还可以包括接口903,用于与设置有用户客户端的用户终端进行通信,此外,服务器和还可以包括总线904,用于实现服务器内部的通信。The embodiment of the application also provides a blockchain node. FIG. 9 is a schematic diagram of the structure of the blockchain node provided by the embodiment of the application. As shown in FIG. 9, an embodiment of the present application also provides a blockchain node 900, including: one or more processors 901; a memory 902, used to store one or more programs; when the one or more programs It is executed by the one or more processors, so that the one or more processors implement the steps performed by the first blockchain node in the method described in the foregoing embodiment. Exemplarily, the blockchain node may be a server or a terminal. In the embodiment of the present application, the blockchain node 900 may also include an interface 903 for communicating with a user terminal provided with a user client. In addition, the server may also include a bus 904 for implementing internal communication within the server.
本申请实施例还提供一种用户终端,图10为本申请实施例提供的用户终端的结构示意图。如图10所示,用户终端1000,包括:一个或多个处理器1001;存储器1002,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述前述实施例所述方法中用户终端及用户终端上部署的用户客户端执行的步骤。在本申请实施例中,用户终端1000还可以包括接口1003,用于与区块链节点进行通信,此外,用户客户端1000和还可以包括总线1004,用于实现内部的通信。The embodiment of the present application also provides a user terminal. FIG. 10 is a schematic structural diagram of the user terminal provided in the embodiment of the present application. As shown in FIG. 10, the user terminal 1000 includes: one or more processors 1001; a memory 1002 for storing one or more programs; when the one or more programs are executed by the one or more processors , Enabling the one or more processors to implement the steps performed by the user terminal and the user client deployed on the user terminal in the method described in the foregoing embodiment. In the embodiment of the present application, the user terminal 1000 may further include an interface 1003 for communicating with blockchain nodes. In addition, the user client 1000 may also include a bus 1004 for implementing internal communication.
本申请提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述实施例中任一项所述的方法。The present application provides a computer-readable storage medium, including a computer program, which when executed on a computer, causes the computer to execute the method described in any one of the foregoing embodiments.
本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行上述实施例中任一项所述的方法。This application provides a computer program, when the computer program is executed by a computer, it is used to execute the method described in any one of the foregoing embodiments.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in the form of a computer program product in whole or in part. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions described in this application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk).

Claims (38)

  1. 一种基于区块链网络的数据确权方法,其特征在于,所述方法包括:A method for confirming data rights based on a blockchain network, characterized in that the method includes:
    区块链网络中的第一区块链节点发送或者接收通信信息;The first blockchain node in the blockchain network sends or receives communication information;
    所述第一区块链节点将所述通信信息记录在区块链网络的账本中;The first blockchain node records the communication information in the ledger of the blockchain network;
    其中,所述区块链网络包括多个区块链节点,所述多个区块链节点包括:使用节点和提供节点;所述使用节点,用于根据携带有用户标识的业务请求,向所述提供节点请求所述用户标识对应的用户信用数据;所述提供节点,用于向所述使用节点提供用户信用数据;所述通信信息包括:所述第一区块链节点与所述多个区块链节点中的任一其他区块链节点之间的信息,以及,第一区块链节点与用户客户端之间的信息中至少一种;其中,所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求,和/或,所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;所述第一区块链节点为所述多个区块链节点中的区块链节点。Wherein, the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier. The providing node requests user credit data corresponding to the user identification; the providing node is configured to provide user credit data to the user node; the communication information includes: the first blockchain node and the plurality of At least one of the information between any other blockchain nodes in the blockchain node, and the information between the first blockchain node and the user client; wherein, the user client is used to The using node sends the service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node; The first blockchain node is a blockchain node among the plurality of blockchain nodes.
  2. 根据权利要求1所述的方法,其特征在于,所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:The method according to claim 1, wherein the sending or receiving of communication information by the first blockchain node in the blockchain network comprises:
    所述第一区块链节点向第二区块链节点发送所述通信信息;或者,The first blockchain node sends the communication information to the second blockchain node; or,
    所述第一区块链节点接收所述第二区块链节点发送的所述通信信息;或者,The first blockchain node receives the communication information sent by the second blockchain node; or,
    所述第一区块链节点向所述用户客户端发送所述通信信息;或者,The first blockchain node sends the communication information to the user client; or,
    所述第一区块链节点接收所述用户客户端发送的所述通信信息;The first blockchain node receives the communication information sent by the user client;
    其中,所述第二区块链节点为所述多个区块链节点中除所述第一区块链节点之外的任一其他区块链节点。Wherein, the second block chain node is any other block chain node except the first block chain node among the plurality of block chain nodes.
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一区块链节点为所述使用节点;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;The method according to claim 1 or 2, wherein the first blockchain node is the user node; and the user client is used to send all data carrying the user identifier to the user node. The business request;
    所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:所述使用节点发送或者接收通信信息,其中,所述通信信息具体包括:所述使用节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述使用节点与所述用户客户端之间的信息中至少一种。The sending or receiving of communication information by the first blockchain node in the blockchain network includes: the user node sending or receiving communication information, wherein the communication information specifically includes: the user node and the plurality of At least one of the information between other blockchain nodes in the blockchain node, and the information between the use node and the user client.
  4. 根据权利要求1或2所述的方法,其特征在于,所述第一区块链节点为所述提供节点;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;The method according to claim 1 or 2, wherein the first blockchain node is the providing node; the user client is used to confirm whether the providing node is allowed to provide the user node User credit data corresponding to the user ID;
    所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:所述提供节点发送或者接收通信信息,其中,所述通信信息具体包括:所述提供节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述提供节点与所述用户客户端之间的信息中至少一种。Sending or receiving communication information by the first blockchain node in the blockchain network includes: the providing node sending or receiving communication information, wherein the communication information specifically includes: the providing node and the plurality of At least one of information between other blockchain nodes in the blockchain node, and information between the providing node and the user client.
  5. 根据权利要求1-3任一所述的方法,其特征在于,所述第一区块链节点为所述使用节点;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;所述区块链网络中的第一区块链节点发送或者接收通信信息,包括以下至少一 种:The method according to any one of claims 1 to 3, wherein the first blockchain node is the user node; and the user client is used to send to the user node the user identifier The service request; the first blockchain node in the blockchain network sends or receives communication information, including at least one of the following:
    所述使用节点接收所述用户客户端发送的携带所述用户标识的所述业务请求;Receiving, by the use node, the service request sent by the user client and carrying the user identifier;
    所述使用节点向所述提供节点发送数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The use node sends a data transaction request to the providing node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the use node to process the user Identified business request;
    所述使用节点接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The using node receives a data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier.
  6. 根据权利要求1,2或4任一所述的方法,其特征在于,所述第一区块链节点为所述提供节点;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;所述区块链网络中的第一区块链节点发送或者接收通信信息,包括以下至少一种:The method according to any one of claims 1, 2 or 4, wherein the first blockchain node is the providing node; and the user client is used to confirm whether the providing node is allowed to send The use node provides user credit data corresponding to the user ID; the first blockchain node in the blockchain network sends or receives communication information, including at least one of the following:
    所述提供节点接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The providing node receives a data transaction request sent by the using node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the using node to process the data carrying the Service request of user ID;
    所述提供节点向所述用户客户端发送数据授权请求,所述数据授权请求用于请求所述用户客户端允许向所述使用节点提供所述用户标识对应的用户信用数据;Sending, by the providing node, a data authorization request to the user client, the data authorization request being used to request the user client to allow the user credit data corresponding to the user identification to be provided to the user node;
    所述提供节点接收所述用户客户端发送的数据授权响应,所述数据授权响应用于确认是否允许向所述使用节点提供所述用户标识对应的用户信用数据;The providing node receives a data authorization response sent by the user client, where the data authorization response is used to confirm whether the user credit data corresponding to the user identifier is allowed to be provided to the user node;
    所述提供节点向所述使用节点发送数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The providing node sends a data transaction response to the using node, where the data transaction response includes user credit data corresponding to the user identifier.
  7. 根据权利要求1或2所述的方法,其特征在于,所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The method according to claim 1 or 2, wherein the multiple blockchain nodes comprise: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, and the data transaction The request is used to request the user credit data corresponding to the user identification; and, confirm whether the use node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the use node has the access authority, send Sending the data transaction request by the providing node; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identifier;
    所述第一区块链节点为所述代理节点;所述区块链网络中的第一区块链节点发送或者接收通信信息,包括:所述代理节点发送或者接收通信信息,其中,所述通信信息具体包括:所述代理节点与所述使用节点之间的信息,所述代理节点与所述提供节点之间的信息中至少一种。The first blockchain node is the proxy node; sending or receiving communication information by the first blockchain node in the blockchain network includes: sending or receiving communication information by the proxy node, wherein The communication information specifically includes: at least one of information between the agent node and the use node, and information between the agent node and the providing node.
  8. 根据权利要求1-6任一所述的方法,其特征在于,所述区块链网络包括:X个通道;所述区块链网络中的区块链节点分别对应X个通道中的一个或多个通道;其中,所述第一区块链节点对应的通道包括第i通道,所述区块链网络中的第二区块链节点对应的通道包括第i通道;The method according to any one of claims 1-6, wherein the blockchain network comprises: X channels; the blockchain nodes in the blockchain network respectively correspond to one of the X channels or Multiple channels; wherein the channel corresponding to the first blockchain node includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
    所述第一区块链节点将所述通信信息记录在区块链网络的账本中,包括:所述第一区块链节点将所述第i通道的通道信息记录在第i通道对应的账本中;The first blockchain node recording the communication information in the ledger of the blockchain network includes: the first blockchain node records the channel information of the i-th channel in the ledger corresponding to the i-th channel in;
    所述第i通道的通道信息包括:所述第一区块链节点与所述第二区块链节点之间通过第i通道传输的信息,以及,所述第一区块链节点或者所述第二区块链节点基于从所述第i通道接收的信息向所述用户客户端发送的信息,以及,所述第一区块链节点基于 从所述用户客户端接收的信息通过第i通道向第二区块链节点发送的信息,以及,所述第二区块链节点基于从所述用户客户端接收的信息通过第i通道向所述第一区块链节点发送的信息中至少一种;The channel information of the i-th channel includes: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the The second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes through the i-th channel based on the information received from the user client Information sent to the second blockchain node, and at least one of the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client Species
    其中,X为大于0的整数,i为大于0且小于或者等于X的整数。Wherein, X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
  9. 根据权利要求8所述的方法,其特征在于,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;The method according to claim 8, wherein the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node communicates with the provider through its corresponding channel. Node transmission information;
    所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为通过第i通道与第j个使用节点传输信息的提供节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的提供节点,所述第二区块链节点为第j个使用节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information through the i-th channel and the jth usage node. Providing node; or, the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node
    其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
  10. 根据权利要求8所述的方法,其特征在于,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;The method according to claim 8, wherein the blockchain network includes M use nodes, the M use nodes respectively correspond to one of the X channels, and any use node communicates with the provider through its corresponding channel. Node transmission information;
    所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The multiple blockchain nodes include: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, the data transaction request is used to request user credit data corresponding to the user identifier; and , Confirm whether the using node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the using node has the access authority, send the data transaction request to the providing node; and, receive The data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier;
    所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为与第j个使用节点通过第i通道传输信息的代理节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为第j个使用节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为与所述第一区块链节点通过第i通道传输信息的提供节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information with the jth usage node through the i-th channel Proxy node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th use node corresponding to the i-th channel, and the second blockchain node is the The first blockchain node transmits the information providing node through the i-th channel;
    其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
  11. 根据权利要求1所述的方法,其特征在于,所述提供节点为运营商服务器;所述用户信用数据为所述用户标识对应的运营商信用数据。The method according to claim 1, wherein the providing node is an operator server; and the user credit data is operator credit data corresponding to the user identification.
  12. 一种基于区块链网络的数据确权方法,其特征在于,所述方法包括:A method for confirming data rights based on a blockchain network, characterized in that the method includes:
    用户客户端接收提供节点发送的携带有所述用户客户端对应的用户标识的数据授权请求,所述数据授权请求用于请求允许使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;The user client receives a data authorization request sent by a providing node that carries a user ID corresponding to the user client, and the data authorization request is used to request permission to use the node to use the user credit corresponding to the user ID provided by the providing node data;
    所述用户客户端通过自身的输出设备输出提示信息,所述提示信息用于请求确认是否允许所述使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;The user client outputs prompt information through its own output device, the prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node;
    其中,所述使用节点、所述提供节点为区块链网络中的区块链节点,所述使用节点用于向所述提供节点请求所述用户标识对应的用户信用数据。Wherein, the use node and the provision node are blockchain nodes in a blockchain network, and the use node is used to request the user credit data corresponding to the user identifier from the provision node.
  13. 根据权利要求12所述的方法,其特征在于,The method according to claim 12, wherein:
    所述用户客户端接收提供节点发送的携带有所述用户客户端对应的用户标识的数据授权请求,包括:所述用户客户端接收至少两个提供节点发送的至少两个数据授权请求,所述至少两个数据授权请求分别与所述至少两个提供节点一一对应,任一数据授权请求用于请求允许所述使用节点使用发送数据授权请求的提供节点提供的所述用户标识对应的用户信用数据;The receiving, by the user client, a data authorization request sent by a providing node and carrying a user identifier corresponding to the user client includes: the user client receiving at least two data authorization requests sent by at least two providing nodes, At least two data authorization requests correspond to the at least two providing nodes respectively, and any data authorization request is used to request that the user node is allowed to use the user credit corresponding to the user identifier provided by the providing node that sent the data authorization request data;
    其中,所述使用节点用于分别向所述至少两个提供节点请求所述用户标识对应的用户信用数据,所述用户标识对应的用户信用数据包括:由所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据;Wherein, the use node is used to request the user credit data corresponding to the user identification from the at least two providing nodes, and the user credit data corresponding to the user identification includes: the user credit data provided by the at least two providing nodes respectively User credit data corresponding to the user identifier;
    所述提示信息用于请求确认是否允许所述使用节点使用所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据。The prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes respectively.
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:The method of claim 13, wherein the method further comprises:
    所述用户客户端通过自身的输入设备接收输入信息,所述输入信息用于确认是否允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据;The user client receives input information through its own input device, the input information is used to confirm whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
    在所述输入信息表示允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据时,所述用户客户端分别向所述提供节点发送数据授权响应,任一所述数据授权响应用于确认允许所述使用节点使用接收数据授权响应的提供节点所提供的用户标识对应的用户信用数据。When the input information indicates that the user credit data corresponding to the user identification provided by the at least two providing nodes is allowed to be used by the user node, the user client sends data authorization responses to the providing node respectively, and The data authorization response is used to confirm that the user node is allowed to use the user credit data corresponding to the user identification provided by the providing node that receives the data authorization response.
  15. 根据权利要求12所述的方法,其特征在于,所述数据授权请求用于请求允许所述使用节点在接收到第一业务的业务请求时,使用所述提供节点所提供的所述用户标识对应的用户信用数据。The method according to claim 12, wherein the data authorization request is used to request permission to allow the user node to use the user identification provided by the providing node when receiving the service request of the first service. User credit data.
  16. 一种基于区块链网络的数据确权系统,其特征在于,所述系统包括:多个区块链节点;所述多个区块链节点包括:使用节点和提供节点;其中,所述使用节点,用于根据携带有用户标识的业务请求,向所述提供节点请求所述用户标识对应的用户信用数据;所述提供节点,用于提供用户信用数据;A data right confirmation system based on a blockchain network, characterized in that the system includes: a plurality of blockchain nodes; the plurality of blockchain nodes includes: a use node and a provision node; wherein the use A node, configured to request user credit data corresponding to the user identification from the providing node according to a service request carrying a user identification; the providing node is configured to provide user credit data;
    所述多个区块链节点中的至少一个区块链节点,还用于发送或者接收通信信息,并将所述通信信息记录在区块链网络的账本中;其中,所述通信信息包括:区块链节点之间的信息,以及,区块链节点与用户客户端之间的信息中至少一种;其中,所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求,和/或,所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据。At least one of the multiple blockchain nodes is also used to send or receive communication information, and record the communication information in the ledger of the blockchain network; wherein the communication information includes: At least one of the information between the blockchain nodes and the information between the blockchain node and the user client; wherein the user client is used to send to the user node information that carries the user identifier The service request, and/or, the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node.
  17. 根据权利要求16所述的系统,其特征在于,所述至少一个区块链节点为使用节点;所述通信信息具体包括:所述使用节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述使用节点与所述用户客户端之间的信息中至少一种;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求。The system according to claim 16, wherein the at least one blockchain node is a user node; the communication information specifically includes: the user node and other blocks in the plurality of blockchain nodes At least one of the information between the chain nodes, and the information between the use node and the user client; the user client is used to send the user identification to the use node Business request.
  18. 根据权利要求16或17所述的系统,其特征在于,所述通信信息具体包括以下至少一种:The system according to claim 16 or 17, wherein the communication information specifically includes at least one of the following:
    所述使用节点接收到的所述用户客户端发送的携带所述用户标识的业务请求;The service request that carries the user identifier and is sent by the user client received by the user node;
    所述使用节点向所述提供节点发送的数据交易请求,所述数据交易请求用于请求 获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The data transaction request sent by the using node to the providing node, where the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the using node to process the data carrying the Service request of user ID;
    所述使用节点从所述提供节点接收的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The data transaction response received by the using node from the providing node, where the data transaction response includes user credit data corresponding to the user identification.
  19. 根据权利要求16或17所述的系统,其特征在于,所述至少一个区块链节点为提供节点;所述通信信息具体包括:所述提供节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述提供节点与所述用户客户端之间的信息中至少一种;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据。The system according to claim 16 or 17, wherein the at least one blockchain node is a providing node; the communication information specifically includes: the providing node and other of the plurality of blockchain nodes Information between blockchain nodes, and at least one of the information between the providing node and the user client; the user client is used to confirm whether the providing node is allowed to provide the user node User credit data corresponding to the user identification.
  20. 根据权利要求16或19所述的系统,其特征在于,所述通信信息具体包括以下至少一种:The system according to claim 16 or 19, wherein the communication information specifically includes at least one of the following:
    所述提供节点从所述使用节点接收到的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户标识对应的用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;The data transaction request received by the providing node from the user node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data corresponding to the user identification is used for the user node Processing the service request carrying the user identifier;
    所述提供节点向所述用户客户端发送的数据授权请求,所述数据授权请求用于请求允许所述使用节点使用所述提供节点所提供的所述用户标识对应的用户信用数据;A data authorization request sent by the providing node to the user client, where the data authorization request is used to request that the user node be allowed to use the user credit data corresponding to the user identifier provided by the providing node;
    所述提供节点从所述用户客户端接收的数据授权响应,所述数据授权响应包括所述用户标识对应的用户信用数据;A data authorization response received by the providing node from the user client, where the data authorization response includes user credit data corresponding to the user identifier;
    所述提供节点向所述使用节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。The data transaction response sent by the providing node to the using node, where the data transaction response includes user credit data corresponding to the user identifier.
  21. 根据权利要求16-20任一所述的系统,其特征在于,所述多个区块链节点还包括:代理节点;The system according to any one of claims 16-20, wherein the multiple blockchain nodes further comprise: a proxy node;
    所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The proxy node is configured to receive a data transaction request sent by the using node, the data transaction request is used to request user credit data corresponding to the user identification; and to confirm whether the using node has the user identification corresponding And, when confirming that the user node has the access right, send the data transaction request to the providing node; and receive the data transaction response sent by the providing node, the data transaction The response includes user credit data corresponding to the user identification;
    所述通信信息具体包括:所述代理节点与所述使用节点之间的信息,所述代理节点与所述提供节点之间的信息中至少一种。The communication information specifically includes: at least one of information between the proxy node and the use node, and information between the proxy node and the providing node.
  22. 根据权利要求16-20任一所述的系统,其特征在于,所述区块链网络包括:X个通道;所述多个区块链节点分别对应X个通道中的一个或多个通道;其中,The system according to any one of claims 16-20, wherein the blockchain network comprises: X channels; the plurality of blockchain nodes respectively correspond to one or more of the X channels; among them,
    所述使用节点的数量为M个,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;The number of the use nodes is M, the M use nodes respectively correspond to one of the X channels, and any use node transmits information to the providing node through its corresponding channel;
    所述至少一个区块链节点,具体用于发送或者接收第i通道的通道信息,并将第i通道的通道信息记录在第i通道对应的账本中;The at least one blockchain node is specifically configured to send or receive channel information of the i-th channel, and record the channel information of the i-th channel in a ledger corresponding to the i-th channel;
    第i通道的通道信息包括以下至少一种:The channel information of the i-th channel includes at least one of the following:
    对应的通道为第i通道的使用节点与第一用户客户端之间的信息,所述第一用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;The corresponding channel is the information between the use node of the i-th channel and the first user client, and the first user client is configured to send the service request carrying the user identifier to the use node;
    对应的通道为第i通道的使用节点与提供节点之间的信息;The corresponding channel is the information between the using node and the providing node of the i-th channel;
    提供节点基于从第i通道接收的信息向第二用户客户端发送的信息以及从第二用户客户端接收的信息;所述第二用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;The providing node sends the information to the second user client based on the information received from the i-th channel and the information received from the second user client; the second user client is used to confirm whether the providing node is allowed to use The node provides user credit data corresponding to the user identifier;
    其中,X为大于0的整数,M为大于0的整数,i为大于0且小于或者等于X的整数。Wherein, X is an integer greater than 0, M is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
  23. 根据权利要求16所述的系统,其特征在于,所述提供节点,还用于向所述用户客户端发送数据授权请求,所述数据授权请求用于请求允许所述使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据。The system according to claim 16, wherein the providing node is further configured to send a data authorization request to the user client, and the data authorization request is used to request permission for the using node to use the providing node User credit data corresponding to the provided user identification.
  24. 根据权利要求16所述的系统,其特征在于,所述提供节点为运营商服务器;所述用户信用数据为所述用户标识对应的运营商信用数据。The system according to claim 16, wherein the providing node is an operator server; and the user credit data is operator credit data corresponding to the user identification.
  25. 一种基于区块链网络的数据确权装置,其特征在于,应用于区块链网络中的第一区块链节点,所述装置包括:A data right confirmation device based on a blockchain network, characterized in that it is applied to the first blockchain node in the blockchain network, and the device includes:
    收发模块,用于发送或者接收通信信息;The transceiver module is used to send or receive communication information;
    处理模块,用于将所述通信信息记录在区块链网络的账本中;Processing module, used to record the communication information in the ledger of the blockchain network;
    其中,所述区块链网络包括多个区块链节点,所述多个区块链节点包括:使用节点和提供节点;所述使用节点,用于根据携带有用户标识的业务请求,向所述提供节点请求所述用户标识对应的用户信用数据;所述提供节点,用于向所述使用节点提供用户信用数据;所述通信信息包括:所述第一区块链节点与所述多个区块链节点中的任一其他区块链节点之间的信息,以及,第一区块链节点与用户客户端之间的信息中至少一种;其中,所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求,和/或,所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;所述第一区块链节点为所述多个区块链节点中的区块链节点。Wherein, the blockchain network includes a plurality of blockchain nodes, and the plurality of blockchain nodes includes: using nodes and providing nodes; the using nodes are used to send information to all users according to a service request carrying a user identifier. The providing node requests user credit data corresponding to the user identification; the providing node is configured to provide user credit data to the user node; the communication information includes: the first blockchain node and the plurality of At least one of the information between any other blockchain nodes in the blockchain node, and the information between the first blockchain node and the user client; wherein, the user client is used to The using node sends the service request carrying the user identifier, and/or the user client is used to confirm whether the providing node is allowed to provide the user credit data corresponding to the user identifier to the using node; The first blockchain node is a blockchain node among the plurality of blockchain nodes.
  26. 根据权利要求25所述的装置,其特征在于,所述收发模块,具体用于:The device according to claim 25, wherein the transceiver module is specifically configured to:
    向第二区块链节点发送所述通信信息;或者,Send the communication information to the second blockchain node; or,
    接收所述第二区块链节点发送的所述通信信息;或者,Receiving the communication information sent by the second blockchain node; or,
    向所述用户客户端发送所述通信信息;或者,Sending the communication information to the user client; or,
    接收所述用户客户端发送的所述通信信息;Receiving the communication information sent by the user client;
    其中,所述第二区块链节点为所述多个区块链节点中除所述第一区块链节点之外的任一其他区块链节点。Wherein, the second block chain node is any other block chain node except the first block chain node among the plurality of block chain nodes.
  27. 根据权利要求25或26所述的装置,其特征在于,所述第一区块链节点为所述使用节点;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;The device according to claim 25 or 26, wherein the first blockchain node is the user node; and the user client is used to send all data carrying the user identifier to the user node. The business request;
    所述收发模块,具体用于发送或者接收通信信息,其中,所述通信信息具体包括:所述使用节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述使用节点与所述用户客户端之间的信息中至少一种。The transceiver module is specifically configured to send or receive communication information, where the communication information specifically includes: information between the use node and other blockchain nodes among the plurality of blockchain nodes, and, At least one of the information between the use node and the user client.
  28. 根据权利要求25或26所述的装置,其特征在于,所述第一区块链节点为所述提供节点;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;The device according to claim 25 or 26, wherein the first blockchain node is the provider node; the user client is used to confirm whether the provider node is allowed to provide the user node User credit data corresponding to the user identifier;
    所述收发模块,具体用于发送或者接收通信信息,其中,所述通信信息具体包括: 所述提供节点与所述多个区块链节点中的其他区块链节点之间的信息,以及,所述提供节点与所述用户客户端之间的信息中至少一种。The transceiver module is specifically configured to send or receive communication information, where the communication information specifically includes: information between the providing node and other blockchain nodes among the plurality of blockchain nodes, and, At least one of the information between the providing node and the user client.
  29. 根据权利要求25-27任一所述的装置,其特征在于,所述第一区块链节点为所述使用节点;所述用户客户端用于向所述使用节点发送携带有所述用户标识的所述业务请求;所述收发模块,具体用于以下至少一种:The device according to any one of claims 25-27, wherein the first blockchain node is the user node; the user client is used to send to the user node the user identifier The service request; the transceiver module is specifically used for at least one of the following:
    接收所述用户客户端发送的携带所述用户标识的所述业务请求;Receiving the service request carrying the user identifier sent by the user client;
    向所述提供节点发送数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;Send a data transaction request to the providing node, the data transaction request is used to request to obtain the user credit data corresponding to the user ID, and the user credit data is used by the user node to process the service request carrying the user ID ;
    接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。Receive a data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identification.
  30. 根据权利要求25,26或28任一所述的装置,其特征在于,所述第一区块链节点为所述提供节点;所述用户客户端用于确认是否允许所述提供节点向所述使用节点提供所述用户标识对应的用户信用数据;所述收发模块,具体用于以下至少一种:The device according to any one of claims 25, 26 or 28, wherein the first blockchain node is the providing node; and the user client is used to confirm whether the providing node is allowed to send The user node provides user credit data corresponding to the user identifier; the transceiver module is specifically used for at least one of the following:
    接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求获取所述用户标识对应的用户信用数据,所述用户信用数据用于所述使用节点处理携带有所述用户标识的业务请求;Receive a data transaction request sent by the use node, the data transaction request is used to request to obtain user credit data corresponding to the user identification, and the user credit data is used by the use node to process the service carrying the user identification request;
    向所述用户客户端发送数据授权请求,所述数据授权请求用于请求所述用户客户端允许向所述使用节点提供所述用户标识对应的用户信用数据;Sending a data authorization request to the user client, where the data authorization request is used to request the user client to allow the user client to provide the user credit data corresponding to the user identifier;
    接收所述用户客户端发送的数据授权响应,所述数据授权响应用于确认是否允许向所述使用节点提供所述用户标识对应的用户信用数据;Receiving a data authorization response sent by the user client, where the data authorization response is used to confirm whether to allow the user credit data corresponding to the user identification to be provided to the user node;
    向所述使用节点发送数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据。Send a data transaction response to the use node, where the data transaction response includes user credit data corresponding to the user identification.
  31. 根据权利要求25或26所述的装置,其特征在于,所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The device according to claim 25 or 26, wherein the multiple blockchain nodes comprise: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, and the data transaction The request is used for requesting the user credit data corresponding to the user identification; and, confirming whether the use node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the use node has the access authority, send Sending the data transaction request by the providing node; and receiving a data transaction response sent by the providing node, the data transaction response including user credit data corresponding to the user identifier;
    所述第一区块链节点为所述代理节点;所述收发模块,具体用于发送或者接收通信信息,其中,所述通信信息具体包括:所述代理节点与所述使用节点之间的信息,所述代理节点与所述提供节点之间的信息中至少一种。The first blockchain node is the proxy node; the transceiver module is specifically used to send or receive communication information, where the communication information specifically includes: information between the proxy node and the user node , At least one of the information between the agent node and the providing node.
  32. 根据权利要求25-30任一所述的装置,其特征在于,所述区块链网络包括:X个通道;所述区块链网络中的区块链节点分别对应X个通道中的一个或多个通道;其中,所述第一区块链节点对应的通道包括第i通道,所述区块链网络中的第二区块链节点对应的通道包括第i通道;The device according to any one of claims 25-30, wherein the blockchain network comprises: X channels; the blockchain nodes in the blockchain network respectively correspond to one of the X channels or Multiple channels; wherein the channel corresponding to the first blockchain node includes the i-th channel, and the channel corresponding to the second blockchain node in the blockchain network includes the i-th channel;
    所述收发模块,具体用于将所述第i通道的通道信息记录在第i通道对应的账本中;The transceiver module is specifically configured to record the channel information of the i-th channel in the ledger corresponding to the i-th channel;
    所述第i通道的通道信息包括:所述第一区块链节点与所述第二区块链节点之间通过第i通道传输的信息,以及,所述第一区块链节点或者所述第二区块链节点基于从所 述第i通道接收的信息向所述用户客户端发送的信息,以及,所述第一区块链节点基于从所述用户客户端接收的信息通过第i通道向第二区块链节点发送的信息,以及,所述第二区块链节点基于从所述用户客户端接收的信息通过第i通道向所述第一区块链节点发送的信息中至少一种;The channel information of the i-th channel includes: information transmitted between the first block chain node and the second block chain node through the i-th channel, and the first block chain node or the The second blockchain node sends information to the user client based on the information received from the i-th channel, and the first blockchain node passes through the i-th channel based on the information received from the user client Information sent to the second blockchain node, and at least one of the information sent by the second blockchain node to the first blockchain node through the i-th channel based on the information received from the user client Species
    其中,X为大于0的整数,i为大于0且小于或者等于X的整数。Wherein, X is an integer greater than 0, and i is an integer greater than 0 and less than or equal to X.
  33. 根据权利要求32所述的装置,其特征在于,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;The device according to claim 32, wherein the blockchain network comprises M usage nodes, and the M usage nodes respectively correspond to one of the X channels, and any usage node communicates with each other through its corresponding channel. Node transmission information;
    所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为通过第i通道与第j个使用节点传输信息的提供节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的提供节点,所述第二区块链节点为第j个使用节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information through the i-th channel and the jth usage node. Providing node; or, the first blockchain node is a providing node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node
    其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
  34. 根据权利要求32所述的装置,其特征在于,所述区块链网络包括M个使用节点,M个使用节点分别对应X个通道中的一个通道,任一使用节点通过自身对应的通道与提供节点传输信息;The device according to claim 32, wherein the blockchain network comprises M usage nodes, and the M usage nodes respectively correspond to one of the X channels, and any usage node communicates with each other through its corresponding channel. Node transmission information;
    所述多个区块链节点包括:代理节点;所述代理节点,用于接收所述使用节点发送的数据交易请求,所述数据交易请求用于请求所述用户标识对应的用户信用数据;以及,确认所述使用节点是否具有所述用户标识对应的用户信用数据的访问权限;以及,在确认所述使用节点具有访问权限时,向所述提供节点发送所述数据交易请求;以及,接收所述提供节点发送的数据交易响应,所述数据交易响应包括所述用户标识对应的用户信用数据;The multiple blockchain nodes include: a proxy node; the proxy node is configured to receive a data transaction request sent by the user node, the data transaction request is used to request user credit data corresponding to the user identifier; and , Confirm whether the using node has the access authority to the user credit data corresponding to the user identification; and, when confirming that the using node has the access authority, send the data transaction request to the providing node; and, receive The data transaction response sent by the providing node, where the data transaction response includes user credit data corresponding to the user identifier;
    所述第一区块链节点为M个使用节点中对应的通道为第i通道的第j个使用节点,所述第二区块链节点为与第j个使用节点通过第i通道传输信息的代理节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为第j个使用节点;或者,所述第一区块链节点为与对应的通道为第i通道的第j个使用节点通过第i通道传输信息的代理节点,所述第二区块链节点为与所述第一区块链节点通过第i通道传输信息的提供节点;The first blockchain node is the corresponding channel among the M usage nodes as the jth usage node of the i-th channel, and the second blockchain node is the one that transmits information with the jth usage node through the i-th channel Proxy node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th user node corresponding to the i-th channel, and the second blockchain node is the j-th Use node; or, the first blockchain node is a proxy node that transmits information through the i-th channel with the j-th use node corresponding to the i-th channel, and the second blockchain node is the The first blockchain node transmits the information providing node through the i-th channel;
    其中,M为大于0的整数,j为大于0且小于或者等于M的整数。Wherein, M is an integer greater than 0, and j is an integer greater than 0 and less than or equal to M.
  35. 根据权利要求25所述的装置,其特征在于,所述提供节点为运营商服务器;所述用户信用数据为所述用户标识对应的运营商信用数据。The apparatus according to claim 25, wherein the providing node is an operator server; and the user credit data is operator credit data corresponding to the user identification.
  36. 一种基于区块链网络的数据确权装置,其特征在于,应用于用户客户端,所述装置包括:A data right confirmation device based on a blockchain network, characterized in that it is applied to a user client, and the device includes:
    收发模块,用于接收提供节点发送的携带有所述用户客户端对应的用户标识的数据授权请求,所述数据授权请求用于请求允许使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;The transceiver module is configured to receive a data authorization request carrying a user identification corresponding to the user client sent by a providing node, and the data authorization request is used to request permission to use the node to use the user identification provided by the providing node. User credit data;
    输出模块,用于通过输出设备输出提示信息,所述提示信息用于请求确认是否允许所述使用节点使用所述提供节点提供的所述用户标识对应的用户信用数据;An output module, configured to output prompt information through an output device, the prompt information being used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node;
    其中,所述使用节点、所述提供节点为区块链网络中的区块链节点,所述使用节 点用于向所述提供节点请求所述用户标识对应的用户信用数据。Wherein, the use node and the provision node are blockchain nodes in a blockchain network, and the use node is used to request the user credit data corresponding to the user identifier from the provision node.
  37. 根据权利要求36所述的装置,其特征在于,The device according to claim 36, wherein:
    所述收发模块,具体用于接收至少两个提供节点发送的至少两个数据授权请求,所述至少两个数据授权请求分别与所述至少两个提供节点一一对应,任一数据授权请求用于请求允许所述使用节点使用发送数据授权请求的提供节点提供的所述用户标识对应的用户信用数据;The transceiver module is specifically configured to receive at least two data authorization requests sent by at least two providing nodes, where the at least two data authorization requests correspond to the at least two providing nodes respectively, and any data authorization request is used Requesting permission for the user node to use the user credit data corresponding to the user identifier provided by the providing node that sent the data authorization request;
    其中,所述使用节点用于分别向所述至少两个提供节点请求所述用户标识对应的用户信用数据,所述用户标识对应的用户信用数据包括:由所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据;Wherein, the use node is used to request the user credit data corresponding to the user identification from the at least two providing nodes, and the user credit data corresponding to the user identification includes: the user credit data provided by the at least two providing nodes respectively User credit data corresponding to the user identifier;
    所述提示信息用于请求确认是否允许所述使用节点使用所述至少两个提供节点分别提供的所述用户标识对应的用户信用数据。The prompt information is used to request confirmation whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes respectively.
  38. 根据权利要求37所述的装置,其特征在于,所述装置还包括:The device according to claim 37, wherein the device further comprises:
    输入模块,所述输入模块用于通过输入设备接收输入信息,所述输入信息用于确认是否允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据;An input module, the input module being configured to receive input information through an input device, the input information being used to confirm whether the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two providing nodes;
    所述收发模块,还用于在所述输入信息表示允许所述使用节点使用所述至少两个提供节点所提供的所述用户标识对应的用户信用数据时,分别向所述提供节点发送数据授权响应,任一所述数据授权响应用于确认允许所述使用节点使用接收数据授权响应的提供节点所提供的用户标识对应的用户信用数据。The transceiver module is further configured to send data authorization to the provider node when the input information indicates that the user node is allowed to use the user credit data corresponding to the user identifier provided by the at least two provider nodes In response, any of the data authorization responses is used to confirm that the user node is allowed to use the user credit data corresponding to the user identifier provided by the providing node that receives the data authorization response.
PCT/CN2020/080734 2019-06-28 2020-03-23 Method for data ownership confirmation based on blockchain network, and related apparatus WO2020258941A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910575178.1A CN112152974B (en) 2019-06-28 2019-06-28 Data right determining method based on block chain network and related device
CN201910575178.1 2019-06-28

Publications (1)

Publication Number Publication Date
WO2020258941A1 true WO2020258941A1 (en) 2020-12-30

Family

ID=73869317

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/080734 WO2020258941A1 (en) 2019-06-28 2020-03-23 Method for data ownership confirmation based on blockchain network, and related apparatus

Country Status (2)

Country Link
CN (1) CN112152974B (en)
WO (1) WO2020258941A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107833037A (en) * 2017-10-12 2018-03-23 阿里巴巴集团控股有限公司 A kind of method that business by stages is realized based on credit
CN109146478A (en) * 2018-08-06 2019-01-04 上海点融信息科技有限责任公司 For operating the method, apparatus and medium of digital certificate in block chain network
CN109493093A (en) * 2018-09-26 2019-03-19 百度在线网络技术(北京)有限公司 User behavior information processing method and device based on block chain
CN109509078A (en) * 2018-09-19 2019-03-22 平安科技(深圳)有限公司 Debt-credit operation method, system, server and storage medium based on block chain
CN109544156A (en) * 2018-10-25 2019-03-29 平安科技(深圳)有限公司 Data processing method, device, equipment and storage medium based on block chain
US20190172059A1 (en) * 2017-12-05 2019-06-06 Bank Of America Corporation Real-time net settlement by distributed ledger system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106469100B (en) * 2015-08-17 2019-04-05 华为技术有限公司 A kind of method that data are restored, the corresponding apparatus and system of the method for storage
CN107239479B (en) * 2017-03-28 2020-03-13 创新先进技术有限公司 Block chain based data storage and query method and device
CN107516221A (en) * 2017-08-09 2017-12-26 迅鳐成都科技有限公司 It is a kind of to solve the method and system of trust problem in steel transaction based on block chain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107833037A (en) * 2017-10-12 2018-03-23 阿里巴巴集团控股有限公司 A kind of method that business by stages is realized based on credit
US20190172059A1 (en) * 2017-12-05 2019-06-06 Bank Of America Corporation Real-time net settlement by distributed ledger system
CN109146478A (en) * 2018-08-06 2019-01-04 上海点融信息科技有限责任公司 For operating the method, apparatus and medium of digital certificate in block chain network
CN109509078A (en) * 2018-09-19 2019-03-22 平安科技(深圳)有限公司 Debt-credit operation method, system, server and storage medium based on block chain
CN109493093A (en) * 2018-09-26 2019-03-19 百度在线网络技术(北京)有限公司 User behavior information processing method and device based on block chain
CN109544156A (en) * 2018-10-25 2019-03-29 平安科技(深圳)有限公司 Data processing method, device, equipment and storage medium based on block chain

Also Published As

Publication number Publication date
CN112152974B (en) 2022-02-25
CN112152974A (en) 2020-12-29

Similar Documents

Publication Publication Date Title
CN111047319B (en) Transaction processing method of block chain network and block chain network
CN109615378B (en) Block chain-based secure multi-party computing method and device and readable storage medium
CN107911216B (en) Block chain transaction privacy protection method and system
CN110572398B (en) Block chain network control method, device, equipment and storage medium
CN109447811B (en) Method, accounting node and medium for inquiring transaction information in blockchain network
US8683566B1 (en) Secure access and architecture for virtual private sites
CN110543525B (en) Block chain network control method, device, equipment and storage medium
CN110602138A (en) Data processing method and device for block chain network, electronic equipment and storage medium
CN113271311B (en) Digital identity management method and system in cross-link network
CN111866042B (en) Method and device for synchronizing telecommunication account number change
CN109474926B (en) Block chain-based number portability method and device and storage medium
CN109525983B (en) Information processing method and device, and storage medium
WO2023005838A1 (en) Data sharing method and electronic device
CN111259448A (en) Data sharing method and device
TW202240445A (en) De-centralized data authorization control system capable of transferring read token from block chain subsystem to data requester device
CN112804354A (en) Method and device for data transmission across chains, computer equipment and storage medium
CN114329290B (en) Capability open platform and authorized access method thereof
CN112600830B (en) Service data processing method and device, electronic equipment and storage medium
CN111915302B (en) Associated data processing method and device, electronic equipment and computer readable medium
Zhao et al. Operation and security considerations of federated learning platform based on compute first network
CN112887087A (en) Data management method and device, electronic equipment and readable storage medium
WO2020258941A1 (en) Method for data ownership confirmation based on blockchain network, and related apparatus
US20230041862A1 (en) Cloud-side collaborative multi-mode private data circulation method based on smart contract
CN111178819B (en) Electronic document processing method, system and device
CN111756743B (en) Resource transfer method and device based on block chain, computer equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20832873

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20832873

Country of ref document: EP

Kind code of ref document: A1