Data transmission method and device and network node

A data transmission method and node technology, applied in the field of communication, can solve the problem that the interests of data or service providers cannot be truly protected, and achieve the effects of less transmission delay, improved security and reliability, and improved security

Active Publication Date: 2019-08-23
HUAWEI TECH CO LTD
6 Cites 14 Cited by

AI-Extracted Technical Summary

Problems solved by technology

In this model, there are two main problems: on the one hand, the provider of data and services is subjec...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Method used

[0125] The technical solutions provided in the following embodiments of this application combine mobile edge computing and block chain technology to provide users with services and data with low latency and low load, while also ensuring the security of data transmission sex, and the interests of business and data providers.
[0152] The entire system will allow each participating node to obtain a copy of the complete database in the form of a sub-database. Unless more than 51% of the nodes in the entire system can be controlled at the same time, the modification of the database on a single node is invalid and cannot affect the data content on other nodes. Therefore, the more nodes in the participating system and the stronger the computing power, the The higher the data security in the system.
[0159] The various technical solutions of this application can be applied to the Internet of Things system, and realize the sharing and access of big data in the system by using the intelligent sharing device as the carrier, but the following embodiments include but are not limited to the above technical scenarios.
[0160] In order to reduce data transmission delay and load, and protect the interests of data providers while ensuring data security, in the technical solutions of various embodiments of the application, mobile edge computing is combined with blockchain technology, so that The requester can obtain information related to the data to be accessed, such as data information and data key information, from a blockchain node that is closer to its location.
[0173] In each embodiment of the present application, the key information of the data is generated by the private key or public key of the first node through the incentive response in the PUF technology, thereby ensuring that the data-related information is transmitted in the block chain network security.
[0234] In this embodiment, the first node acquires data information according to the transaction index information, which can avoid the encrypted data or the address information of the encrypted data from being directly transmitted in the network, which is easy to be stolen, and the data information obtained by using the transaction index information is further The security of data transmission is improved.
[0238] The method provided in this embodiment utilizes the data consensus mechanism on the block chain, so that the requesting party, that is, the first node, can obtain data information from the block chain, or any node on the block chain, thereby reducing the data information on the block chain. The burden of repeated transmission between the core network or multiple routes reduces transmission delay and improves transmission efficiency.
[0275] In this embodiment, the first blockchain node can quickly find the first node that matches these information through the data identifier or first node identifier or transaction index information contained in the first information, and the first identifier. Blockchain transactions, and then quickly obtain the key information of the data through the information recorded in the transaction, and realize the rapid acquisi...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The invention discloses a data transmission method and device and a network node. The method comprises: enabling a first node to obtain data information and secret key information of data recorded ona first block chain; obtaining encrypted data according to the data information, and obtaining a secret key according to the secret key information of the data; and decrypting the encrypted data by using the key to obtain data. According to the method, the characteristic of data sharing on the block chain is utilized, so that the first node of the requester can directly obtain the data informationfrom any block chain node of the block chain, the burden of repeated transmission of the data information between a core network or a plurality of routes is further reduced, and the transmission delay is reduced.

Application Domain

Technology Topic

Image

  • Data transmission method and device and network node
  • Data transmission method and device and network node
  • Data transmission method and device and network node

Examples

  • Experimental program(4)

Example Embodiment

[0190] Example 1
[0191] This embodiment uses intelligent sharing equipment and/or sharing big data as technical scenarios to illustrate the technical solutions of the present application. This application scenario is only an example for understanding the technical solutions of the present invention, and the present invention includes but is not limited to this. .
[0192] like image 3 As shown, the application scenario may include the following devices: node U1 (representing UE1), node N1 (representing Node1), node D (representing data source node Data source), one or more blockchains, each blockchain has It is composed of several blockchain nodes. In this embodiment, the above scenario is used as an example to illustrate the content of the invention, but the method provided in this embodiment includes but is not limited to the above scenario.
[0193] This embodiment provides a data access method, which specifically includes the following steps:
[0194] Step 301: A first node (eg, node U1) sends a first request message, where the first request message is used to request data information and/or data key information.
[0195] Wherein, the data information includes encrypted data or address information of encrypted data, the key information of the data includes: encrypted data key or address information for storing encrypted data key, key information of the data used to obtain the key.
[0196] The first request message includes first information, for example, the first information includes a data ID, a first node ID, or a combination of one or more items of transaction index information.
[0197] The first node identifier may be the device identifier of the first node, the IP address of the first node, the public key of the first node, or other types of identifiers, which are not limited in this application, as long as the first node can be identified All belong to the protection scope of the present invention.
[0198] It should be particularly noted that the data identifier may be the same as or different from the first node identifier.
[0199] The transaction index information (transaction index information) is used to determine the first blockchain transaction, and the key information of the data is recorded in the first blockchain transaction. Further, the transaction index information includes: block number , block height, transaction index number, or one or more of the blockchain identifiers.
[0200] For example, the transaction index number takes the transaction index number X as an example, which is used to indicate the sequence number of the transaction in the block, such as the Xth transaction.
[0201] For another example, the block number takes block number Y as an example, which is used to indicate that the block is the Y-th block in the blockchain.
[0202] For another example, the block height is used to indicate the position of the block in the blockchain, that is, it is also used to indicate the block number of the block in the blockchain.
[0203] Exemplarily, the first node may directly send the first request message to the data source node.
[0204] Exemplarily, the first node may send the first request message to the relay node or a certain blockchain node, for example, the first request message may be sent to the first blockchain node, and the relay node or The first blockchain node obtains relevant data information and data key information, wherein the relay node and the first blockchain node may be the same node or different nodes.
[0205] Step 302: After receiving the first request message sent by the first junction point, the first blockchain node or relay node sends a message to the data source node according to the content of the first request message, and the message includes the first request message. Information for requesting data information and/or data key information required by the first node.
[0206] The message sent by the first blockchain node may be the same as the first request message.
[0207] Step 303a: The data source node records the data or the address information of the data on the second blockchain or the second blockchain node. The data includes encrypted data that the first node requests to access.
[0208] Step 303b: The data source node obtains and uses the public key of the first node to encrypt the key (key) of the encrypted data requested to be accessed by the first node to generate key information of the data.
[0209] Specifically, the data source node receives a request message sent by the first node or the relay node or the blockchain node, where the request message is used to request access to the data.
[0210] The data source node obtains the public key of the first node according to the message, and uses the public key of the first node to encrypt the key (key) of the encrypted data requested to be accessed by the first node to generate key information of the data.
[0211] Specifically, the data source node encrypts the data, and then puts the encrypted data on the blockchain, or puts the storage address of the encrypted data on the blockchain. The blockchain may be the second blockchain or the first blockchain.
[0212] Step 304: The data source node records the key information of the data on the first blockchain.
[0213] Specifically, step 304 includes: in a first implementation manner, the first blockchain node records and saves the event of the key information of the data as the first transaction on the first blockchain; according to the consensus of the blockchain Mechanism Each block chain node on the first block chain stores the key information of the data, when one block chain node, such as the first block chain node, receives the data sent from the first node or relay node. When a request message is sent, the key information of the data is sent to the first node.
[0214] In the second implementation manner, the data source node broadcasts the key information of the data as the first transaction of the first blockchain to the first blockchain node, so that the transaction is stored in the first blockchain. in the block.
[0215] Step 305: The first blockchain node obtains the key information of the data, and sends the key information of the data to the first node.
[0216] Specifically, the first blockchain node may determine the first blockchain transaction through the transaction index information, and obtain the key information of the data from the first blockchain transaction. The transaction index information may be generated by a data source node and sent to the first blockchain node or relay node.
[0217] Alternatively, the first blockchain node or the data source node directly sends the key information of the data to the first node.
[0218] Alternatively, the first blockchain node or the data source node first sends the key information of the data to the relay node, and then the relay node sends the key information of the data to the first node.
[0219] It should be noted that the order of step 304 and step 304 is not limited in this embodiment, that is, the method may first execute step 304, and the data source node may first record the key information or transaction index information of the data in the On the first blockchain, then in step 301, when the first blockchain node or the relay node receives the first request message from the first node, the key information or transaction of the data in the blockchain The index information is sent to the first node.
[0220] Step 306: The first node obtains the key information of the data recorded on the first blockchain, and decrypts the key information of the data with the private key of the first node to obtain a key (key). ).
[0221] Exemplarily, the first node receives the transaction index information sent by the first node, determines the first blockchain transaction according to the transaction index information, and records the key information of the data in the first blockchain transaction. The first node obtains the key information of the data from the first blockchain transaction.
[0222] Wherein, the transaction index information may include at least one or a combination of: block number, block height, transaction index number or block chain identifier. It should be noted that the transaction index information may be defined by The first blockchain node is generated, and can also be generated by the data source node and sent to the first blockchain node.
[0223] Exemplarily, the first node may directly obtain the key information of the data sent by the first blockchain node, or the first node may also obtain the key information of the data from the first blockchain.
[0224] Step 307: The first node obtains data information from the second blockchain node, wherein the data information includes: encrypted data or address information of the encrypted data, and may also have a mapping relationship with the address of the encrypted data information, etc.
[0225] In addition, the first node may obtain the data information in any of the following different ways, which may specifically be:
[0226] The first node may obtain data information from the first blockchain or the second blockchain; or,
[0227] The first node receives the data information sent by the first blockchain node, where the first blockchain node may be any node in the first blockchain; or,
[0228] The first node receives the data information sent by the relay node or the data source node.
[0229] Wherein, in the above method of acquiring the data information, the first blockchain and the second blockchain may be the same or different. The data information obtained from the blockchain, the blockchain node or the relay node may be provided by the data source node, including: the data source node stores the generated data information in the second blockchain or a node on the second blockchain, and then the second blockchain node sends the data information to the first node.
[0230] Specifically, obtaining the data information by the first node includes:
[0231] The first node obtains transaction index information, and determines a blockchain transaction according to the transaction index information, wherein the blockchain transaction is recorded on the first blockchain or the second blockchain, and the region The data information is recorded in the block chain transaction; the transaction index information includes one or more of block number, block height, transaction index number or block chain identifier.
[0232] Exemplarily, the first node sends transaction index information to the relay node, and receives data information sent by the relay node according to the transaction index information.
[0233] In addition, the first node may also obtain the data information in other manners, which is not limited in this embodiment of the present application.
[0234] In this embodiment, the first node obtains the data information according to the transaction index information, which can prevent the encrypted data or the address information of the encrypted data from being directly transmitted in the network, which is easy to be stolen. Using the transaction index information to obtain the data information further improves the data Transmission security.
[0235] Step 308: The first node obtains encrypted data according to the data information, and decrypts the encrypted data with a key to obtain data.
[0236] For example, the data information may be encrypted data to be accessed, or address information corresponding to the encrypted data. Further, if the data information is encrypted data, when the first node receives the data information, the Obtain the encrypted data; if the data information is the address information of the encrypted data, the address where the encrypted data is stored can be determined through the address information, and then the encrypted data can be obtained by using the address.
[0237] The first node decrypts the obtained encrypted data using the key obtained by decryption in step 306 to obtain the data to be accessed.
[0238] The method provided in this embodiment uses the data consensus mechanism on the blockchain, so that the requester, that is, the first node, can obtain data information from the blockchain or any node on the blockchain, thereby reducing the need for data information in the core network or on the blockchain. The burden of repeated transmission between multiple routes reduces transmission delay and improves transmission efficiency.
[0239] In addition, the first node obtains the key information of the data from the blockchain. Since the key information of the data is encrypted by the public key of the first node, the authorized first node can decrypt and read the data. The data, other nodes cannot decrypt and access the data, thereby improving the security of data transmission.
[0240] Exemplarily, the method may further include:
[0241] Step 309: The first node records the obtained data information and the key information of the data obtained from the blockchain as a transaction event on the third blockchain. The transaction event may be referred to as a first transaction event or a first transaction. Further, the first node may broadcast the first transaction event to any node of the third blockchain to record the first transaction event on the third blockchain.
[0242] Wherein, the first transaction event recorded on the third blockchain may include one or more of the following: data identification, device identification for accessing the data, time for accessing the data, transaction index information, the first blockchain Identification, second blockchain identification, transaction identification information of the first blockchain, transaction identification information of the second blockchain, third blockchain identification or transaction identification information of the third blockchain, etc. Wherein, the transaction identification information of the blockchain includes: the block number in which the transaction is located and/or the index of the transaction, etc.
[0243] Similarly, after the data source node determines the encrypted data to be accessed requested by the first node, the encrypted data or the data information of the encrypted data can be recorded and stored in the second blockchain as a transaction. superior.
[0244] According to the three transactions on the first blockchain, the second blockchain, and the third blockchain described in the embodiment of the present application, the following distinctions can be made:
[0245] The first blockchain: transactions that record the key information of the data.
[0246] Second blockchain: transactions that record data information.
[0247] Third blockchain: record event transactions, for example, record the key information that the first blockchain node provides data to the first node, and the second blockchain node provides data information to the first node.
[0248] The transaction recorded by the first blockchain includes one or more of the following: connection identification, cross-chain identification, identification information of the first node, data identification, identification of the first node, device identification of the first node, identification of the first node, and identification of the first node. The public key of the node, the key information of the data, the transaction index information, the time of accessing the data, the first blockchain node identification, the transaction identification information of the first blockchain node, the hash of the data, the key information of the data hash etc.
[0249] The transaction recorded by the second blockchain includes one or more of the following: connection identification, cross-chain identification, identification information of the first node, data identification, first node identification, device identification of the first node, first node identification Node's public key, transaction index information, second blockchain node identification, second blockchain node transaction identification information, data hash, data information hash, encrypted data address information hash or data key information hash, incentive, hash of incentive response, time to generate response, etc.
[0250] The transaction recorded by the third blockchain includes one or more of the following: connection identification, cross-chain identification, identification information of the first node, data identification, first node identification, public key of the first node, access data time, blockchain node identification, blockchain node transaction identification information, transaction index information, cross-chain identification, data hash, data information hash, encrypted data address information hash, data key information hash, A transaction in which the first node obtains data information and data key information, the first blockchain provides the first node with data key information, and the second blockchain provides the first node with data key information, etc.
[0251] The hash of the data recorded in the blockchain transaction is used to verify the authenticity and integrity of the data transmission. Specifically, for example, after decrypting and obtaining the data, the first node obtains the hash of the decrypted data according to a hash algorithm. The first node also obtains a hash with the data from the blockchain (eg, the second blockchain). Further, the first node compares the hash of the data with the hash of the decrypted data, and if the two values ​​are inconsistent, the data obtained by the first node is the tampered data; or, if the two values ​​are consistent, it indicates that the first node The data obtained by a node is trusted data.
[0252] Wherein, the first blockchain, the second blockchain and the third blockchain can be the same blockchain. When these three kinds of transactions are all recorded on the same blockchain, they can be identified by identification, such as Connection ID to connect.
[0253] When the first blockchain, the second blockchain and the third blockchain are three different blockchains, the three associated transactions can be connected through the cross-chain identification, that is, through the cross-chain identification Identifies the association.
[0254] There is also a possibility that the third blockchain recording event transactions may be the same as the first blockchain, or the same as the second blockchain, for example, on the first blockchain transaction Recorded: the transaction of the key information of the data and the event transaction of the first blockchain node providing the key information of the data for the first node; the second blockchain transaction records: the The transaction of data information and the event transaction in which the second blockchain node provides data information to the first node, the two transactions in the first blockchain for the first node can be identified by the connection To establish an association, for the two transactions of the first node in the second blockchain, an association can also be established through a connection identifier, for the first node of the first blockchain and the second blockchain. Transactions in these two blockchains can be linked through cross-chain identification.
[0255]In a nutshell, those with associated transactions in the same blockchain are associated with a connection ID, and those associated with transactions in different blockchains are associated with a cross-chain ID. Wherein, the connection identifier and the cross-chain identifier may be two different identifiers, or, the connection identifier and the cross-chain identifier may also be the same identifier, so that the same blockchain and different blockchains can be used. Establish a connection relationship between related transactions.
[0256] In addition, it should be noted that, in this embodiment, the relay node may be a blockchain node, such as a first blockchain node, and then execute the method steps of the first blockchain node. The relay node may also be an edge device node, such as a base station Node1 (N1 for short), which is used to receive and forward relevant information of the first node, and send various feedback information in the blockchain network to the first node. .
[0257] In addition, exemplarily, a node on the second blockchain, such as a second blockchain node, the node for storing or recording the data information may be the same node as the data source node, It can also be a different node. In addition, when the first blockchain and the second blockchain are the same blockchain, the first blockchain node and the second blockchain node may be the same node, or may are different nodes. Similarly, the first blockchain node and the data source node may be the same node or different nodes, which are not limited in this application.
[0258] Exemplarily, the method of the present application further includes:
[0259] The first node verifies the decrypted data, including:
[0260] The first node obtains the data hash, wherein the first node may be obtained from the second blockchain or the second blockchain node that provides the data information, and may also be obtained from the data source node or other nodes.
[0261] The data hash includes: the hash hash of the data requested to be accessed, the data information hash, the address information hash of the encrypted data, the key information hash of the data, and the like.
[0262] The first node determines whether the accessed data has been tampered with according to the data hash.
[0263] Specifically, it includes: using the decrypted data obtained by the first node in step 308 to obtain the hash of the decrypted data according to a hash algorithm; the first node compares the hash of the data with the hash of the decrypted data, and if the two values ​​are consistent, then the first node The data obtained by a node is trusted data. If the two values ​​are inconsistent, the data obtained by the first node is tampered data.
[0264] Step 305 in this embodiment is described in detail below: before the first blockchain node sends the key information of the data to the first node, the first node obtains the key information of the data. The specific process includes:
[0265] The first blockchain node receives a request message sent from the first node or the relay node, and the request message includes first information; the first information includes a data identifier, a first node identifier or a transaction index any of the information.
[0266] The first blockchain node searches for information related to the first information according to one or more of the data identification in the first information, the first node identification, the public key of the first node or the transaction index information. A transaction, in which the key information of the data is recorded.
[0267] This includes finding the transaction in any of the following ways:
[0268] In the first way, the transaction related to the data identification is searched according to the data identification; or
[0269] In the second way, the transaction related to the first node identification is searched according to the first node identification; or
[0270] In a third manner, searching for a transaction related to the identifier of the first node according to the public key of the first node; or
[0271] The fourth method is to search for a transaction related to the transaction index information according to the transaction index information, where the transaction index information includes one or more of block number, block height, transaction index number or block chain identifier; or
[0272] The fifth method is to search for a transaction related to the first node identifier according to two or more of the data identifier, the first node identifier, the first node's public key and the transaction index information; or
[0273] In the sixth method, on the basis of the foregoing five methods, the condition of the first identification is added to improve the search accuracy. Specifically, the first block chain node obtains a first identifier, and the first identifier includes: the first block chain node identifier, the transaction identifier information of the first block chain node, the second block chain node identifier, the second block chain node identifier, and the second block chain node identifier. The transaction identification information, connection identification or cross-chain identification of the blockchain node, etc., determine the transaction according to the first information and the first identification. The first identifier may be pre-stored on the blockchain, or may be obtained by the first blockchain node from the data source node.
[0274] In addition, other ways or adding new information can also be used to search for related transactions, so as to provide the first node with key information of the data. Specifically, the other ways are not limited in this application.
[0275] In this embodiment, the first blockchain node can quickly find the first blockchain that matches these information through the data identifier or the first node identifier or transaction index information contained in the first information, and the first identifier. transaction, and then quickly obtain the key information of the data through the information recorded in the transaction, which realizes the rapid acquisition of shared information on the blockchain. Compared with obtaining the key information of the data from the data source node or data provider, Time-consuming is shortened.
[0276] Similarly, the first blockchain node or other nodes, such as the second blockchain node or the data source node, may also refer to any one of the first to sixth methods to find the data information required by the first node. The transaction is not repeated in this embodiment.

Example Embodiment

[0277] Embodiment 2
[0278] This embodiment provides a data transmission method, which can be used for a node that does not apply for data access for the first time, for example, a process in which the first node initiates data access to the blockchain network. This method may also be performed on the basis of Embodiment 1, that is, after the first node applies for accessing data for the first time, the first node in this embodiment initiates an access request for the same data. In addition, the method can also be executed independently, and the first node initiates a data access request to the blockchain node.
[0279] This embodiment is based on the method steps of the first node requesting access to data for the first time in the first embodiment, and describes in detail the request of the first node to access the same data.
[0280] First, according to the description of the first embodiment, the first blockchain is used to record the key information of the data. Specifically, the key information of the data has been recorded in the first blockchain as a transaction of the first blockchain. For example, for the data that the first node needs to access, the key information of the corresponding data has been recorded in the first blockchain as a transaction.
[0281] The third blockchain may be used to record node X providing data information and/or data key information for node Y. Specifically, the event "node X provides data information and/or data key information for node Y" is taken as the transaction of the third blockchain. For the convenience of understanding and distinction, the transaction of the third blockchain (which can be called is an event transaction), specifically, it may include the following content: "Node X provides data information for node Y", or, it can be "Node X provides key information for node Y", "Node X provides data information for node Y and key information"). For example, for this embodiment, the data that the first node needs to access, the relay node provides the first node with data information and/or data key information, which is recorded in this area as a transaction (also known as an event transaction) of the third blockchain. in the blockchain.
[0282] For this embodiment, for example, the first node needs to access certain data, and the data is data that has been encrypted. Therefore, the first node needs to obtain the data and the key of the data. In this embodiment, the first node obtains the data by obtaining the data information of the data and the key information of the data, thereby finally decrypting the encrypted data according to the two pieces of information.
[0283] Specifically, as Figure 4 As shown, the method includes the following steps:
[0284] Step 401a: Record the key information of the data in the first blockchain as a transaction of the first blockchain. For example, the data source node records the key information of the data on the first blockchain.
[0285] Specifically, for the data that the first node needs to access, the key information of the data is the key information of the data that the first node needs to access, and is recorded in the first blockchain. And the key information of the data may be generated after the data source node encrypts the data key (key) by using the public key of the first node.
[0286] Further, the key information of the data includes an encrypted data key (key), or address information of the encrypted data key.
[0287] Step 401b: Record the data information (including the address information of the data or the data) and the data hash on the second blockchain. on the blockchain node.
[0288] The data information is encrypted data requested to be accessed by the first node, or address information that records the encrypted data.
[0289] The information recorded in the second blockchain may also include one or more of the following: data identification, first node identification, device identification of the first node, public key of the first node, transaction index information, second area Block chain node identification, transaction identification information of the second block chain node, data information hash, address information hash of encrypted data or key information hash of data, incentive, hash of incentive response, time of response, etc.
[0290] Alternatively, the transaction of the second blockchain may include one or more of the following: connection identification, cross-chain identification, identification information of the first node, data identification, identification of the first node, device identification of the first node, identification of the first node, and identification of the first node. One node's public key, transaction index information, second blockchain node identification, second blockchain node transaction identification information, data information hash, encrypted data address information hash or data key information hash, incentive, incentive The hash of the response, the time to generate the response, etc. That is, the content of the transaction of the second blockchain may contain one or more pieces of the above information
[0291] Data hash, data hash hash, and data hash have the same meaning in the present invention. The three words can be collectively referred to as the hash of the data.
[0292] Step 402: The first node sends a request message to the relay node. The request message may be used to request to obtain certain data or the data information and/or request key information of the data.
[0293] The data information may be encrypted data or address information of the encrypted data.
[0294] The key information of the data may be an encrypted data key or address information storing the encrypted data key.
[0295] The request message includes first information, and the first information includes one or more items of a data identifier requested by the first node to access, a first node identifier, a public key of the first node, or transaction index information.
[0296]Exemplarily, the second request message may further include the first identification, where the first identification includes transaction identification information of the blockchain node, blockchain node identification, connection identification or cross-chain identification, and the like.
[0297] Exemplarily, the relay node may be the closest node to the first node, and the relay node may be a node on the blockchain.
[0298] Step 403a: The relay node receives the request message, searches for a transaction related to the first information according to the first information carried in the request message, and obtains the corresponding data from the transaction. key information.
[0299] Specifically, for the process of the relay node searching for related transactions and acquiring key information of the data, reference may be made to the specific description of step 305 in the first embodiment.
[0300] Exemplarily, the relay node searches whether there is a transaction related to the first information according to the first information, and the key information of the data is recorded in the transaction; to obtain the key information of the data; if not, access is denied.
[0301] Further, obtaining, by the relay node, the key information of the data from the transaction includes: the relay node sending the request message to the first blockchain node, the first block The chain node receives the key information of the data fed back according to the request message.
[0302] Exemplarily, the relay node may also jointly search and obtain the data information and the key information of the data according to the first identifier and the first information, where the first identifier includes: a first blockchain Node identification, transaction identification information of the first blockchain node, second blockchain node identification, transaction identification information or cross-chain identification of the second blockchain node, etc.
[0303] Step 403b: The relay node judges whether the first node has access authority.
[0304] Specifically, judging whether the first node has the right to access data includes: judging whether there is a transaction related to the first information requested by the first node on the blockchain, that is, judging whether the first node has obtained the corresponding data If there is a related transaction, or the key information of the data is obtained, it means that the first node has access rights; otherwise, it does not have access rights.
[0305] It also includes: in the case that the relay node determines that the first node does not have the access authority, feeding back a message to the first node, where the message is used to notify the first node that the acquisition of data fails, or the message includes the first node. No permission to access the content of this data.
[0306] In addition, it can also be judged in other ways, for example, whether the first node has the access right is given by the data source node.
[0307] Step 404a: If the relay node has the access authority, the relay node can provide data information for the first node. Specifically, when providing the data information, it is determined whether the data information is locally stored in the first node.
[0308] Step 405a: if stored, directly send the data information to the first node.
[0309] Step 405b: If the first node does not store the data information, the relay node may acquire the data information from other nodes.
[0310] Exemplarily, the relay node sends the request message to the second blockchain node, and the second blockchain node determines the request message related to the first information according to the first information carried in the request message. data information, and send the data information to the relay node.
[0311] Exemplarily, in step 405b, the first node may also obtain the data information from the data source node or the first blockchain or other adjacent relay nodes.
[0312] Exemplarily, the relay node sends the request message to the data source node, and the data source node determines the related data information according to the first information carried in the request message, and sends the data to the data source node. information is sent to the relay node.
[0313] Step 406: The relay node sends the data information and the key information of the data to the first node.
[0314] Step 407: The first node obtains encrypted data according to the data information, and uses the private key of the first node to decrypt the key information of the obtained data to obtain a key (key), and then uses the key to encrypt the data. The encrypted data is decrypted to obtain the access data.
[0315] Wherein, the first node uses the data information to obtain encrypted data, and uses the key information of the data to obtain the key, and the process of decrypting the data to obtain the data is the same as that of the first embodiment, and steps 306 and 308 of the first embodiment may be referred to. , which is not repeated in this embodiment.
[0316] The method provided in this embodiment utilizes the data consensus mechanism of the blockchain. For a node that is not accessed for the first time, for example, the first node can directly obtain data information and data key information from a relatively close edge device, such as a relay node. , so that the first node can avoid obtaining the information from the data source nodes that are far away, resulting in a long transmission delay, and at the same time, it can also avoid the repeated transmission of data between the core network or the relay nodes.
[0317] In addition, the relay node verifies whether the first node has the access authority according to the request message from the first node, and issues the transaction related to the request message according to the verification result, such as the key information of the data, It also refuses access requests to nodes that do not have permission, thereby improving the transmission efficiency and ensuring the rights and interests of the data provider.
[0318] In addition, it should be noted that the relay node may be the same as or different from the first blockchain node, and the relay node may be an edge device, such as a base station.
[0319] Exemplarily, the method described in this embodiment further includes:
[0320] Step 408: The first node records "the relay node provides the first node with data information and the key information of the data" as a blockchain transaction (which may be referred to as an event transaction) on the blockchain. Specifically, "recorded on the blockchain", the blockchain may be the first blockchain or the third blockchain, or a new blockchain.
[0321] The event transaction includes one or more of the following: data identification, first node identification, public key of the first node, time to access data, transaction index information, first blockchain node identification, first blockchain node The transaction identification information, the second blockchain node identification, the transaction identification information of the second blockchain node, the cross-chain identification, the data hash, the data information hash, the encrypted data address information hash or the data key information hash etc.
[0322] According to the above, the three transactions involved in this embodiment and the relationship with each blockchain are described and distinguished, as follows:
[0323] The first blockchain: transactions that record the key information of the data;
[0324] Second blockchain: transactions that record data information;
[0325] The third blockchain: recording event transactions, including: recording the key information that the first blockchain node provides data to the first node, the second blockchain node provides data information to the first node (Embodiment 1), and , the relay node in this embodiment provides the first node with data information and key information of the data.
[0326] Among them, the relationship between the various blockchains and recorded transactions is:
[0327] If the first block chain, the second block chain and the third block chain are the same block chain, that is, when these three kinds of transactions are all recorded on the same block chain, the various Transactions can be linked by link identifiers. If the three blockchains are different blockchains, the three associated transactions can be connected through cross-chain identification.
[0328] Further, the transaction of the first blockchain is used to record the key information of the data, so as to ensure the security and access authority of the data. The transaction of the first blockchain records information including: data identification, device identification, data key information, data hash and other information.
[0329] The second blockchain is used to record data information to ensure traceability of data transactions; transactions in the second blockchain record information including: data identification, device identification, and transactions in the first blockchain.
[0330] The third blockchain is used to provide the first node and the first node with data information and/or key information of the data. The transaction records of the third blockchain include: data identification, device identification, data address, data hash, transaction identification information of the first blockchain, transaction identification information of the second blockchain, and the like.
[0331] In addition, the event transaction of "the relay node provides the first node with data information and the key information of the data" can also be recorded on the first blockchain and the second blockchain, for example, the relay node The event transaction of providing data key information for the first node is recorded on the first blockchain, and the event transaction of the relay node providing data information to the first node is recorded on the second blockchain.
[0332] In this embodiment, the process that the relay node obtains the data information and/or the key information of the data according to the request message from the first node can be specifically implemented in the following manner:
[0333] Method 1: The relay node reads whether there is the key information of the data in the first blockchain according to the first information, and the key information of the data is the key information of the data that the first node needs to access data key information;
[0334] If the relay node obtains the data key information, the first node has the right to access the data, and thus the relay node sends the data information and the key information of the data to the first node.
[0335] If the relay node cannot obtain the key information of the data from the first blockchain, it is determined that the first node does not have access rights, and the relay node will not provide the data for the first node. Further, when the relay node fails to obtain the data key information from the first blockchain, the method further includes: the relay node may send a message to the first node to notify the first node that the request for data fails, or notify the first node of the failure to request data. The node does not have permission to access the data, or the notification refuses to provide data to the first node.
[0336] Method 2: The relay node sends a request message to the first blockchain node according to the first information, which is used to request the data key information, where the data key information is the source of the data that the first node needs to access. corresponding key information.
[0337] If the message fed back by the first blockchain node to the relay node contains the key information of the data, it indicates that the first node has the authority to access the data, and then the relay node provides the first node with data information and The key information of the data, for example, the relay node sends the data information and the key information of the data to the first node.
[0338] If the message fed back by the first blockchain node to the relay station does not contain the key information of the data, or when it feeds back a message with content such as search failure, no access rights, etc., it means that the first node does not have access rights and cannot obtain Data information. Then, the method further includes: the relay node sends a feedback message to the first node, where the feedback message is used to notify the first node that the data request fails, or does not have permission to access the data, or refuses access and other information.
[0339]It should be noted that the "first node" in each embodiment of the present application and the "first node" in the first embodiment may be the same node or different nodes, in order to correspond to each possible technical solution of the present application , the "first node" is used as an example here, and it can be understood that the name may also be "second node" or "third node", which is not limited in this application.

Example Embodiment

[0340] Embodiment 3
[0341] This embodiment also provides a data transmission method, see Figure 5 , the method includes three parts of the process, namely part A, part B and part C, wherein the method in part A describes the process of the first node (U1) requesting access to the data, and the method in part B describes the second node (U2) requesting access to the data. The process, part C method describes the process of the third node (U3) requesting access to data.
[0342] Among them, these three parts of the method process can be executed independently, or combined in two, for example, part A and part B, part B and part C, or part A, part B and part C can be combined. This is not limited.
[0343] The method steps of each part of the process in this embodiment will be described and introduced below.
[0344] Part A Process
[0345] The method flow of Part A describes the process of the first node U1 requesting access to data.
[0346] Specifically, as Figure 5 shown, including:
[0347] Step A1: The data source node (for example, the data provider) records the information of the data as a transaction (Transaction) on the first blockchain.
[0348] The key information of the data can be the encrypted data key (key), or the address information stored by the data key, etc.; specifically, the key information of the data is the encrypted data key (key): For example, use the public key of the device accessing the data (eg, the public key of the node U1) to encrypt the key of the data to generate the key information of the data, and record the key information of the data as a transaction in the first on a blockchain.
[0349] Step A2: Node U1 sends a request message to node N1, where the request message is used to request access to data.
[0350] The request message contains at least one of the following: a data ID (Data ID), the node U1 ID (or the device ID of the first node), the public key or transaction index information of the node U1, and may also include the first area. The identity of the blockchain, etc.
[0351] Step A3: Node N1 (eg, site Node1) receives the request message sent by node U1, and obtains the key information of the data corresponding to the data requested by node U1 according to the content carried in the request message.
[0352] A possible implementation is that the node N1 searches the first blockchain for a transaction (transaction) related to the data identifier and the node U1 identifier according to the data identifier and the node U1 identifier in the request message. For the corresponding transaction record, the key information of the corresponding data is obtained from the first blockchain.
[0353] Among them, it also includes: node N1 judges whether the key information of the data corresponding to the node U1's request to access the data is recorded in the blockchain, and if there is key information for the data to be recorded in the transaction, it indicates that the node U1 has access authority; Otherwise, do not have permission to access the data.
[0354] In addition, the key information of the data of the node U1 can also be searched according to other information in the request message, such as transaction index information. For the specific process, please refer to the descriptions in Embodiments 1 and 2, which will not be described in detail here.
[0355] Step A4: Node N1 obtains the key information of the data from the first blockchain.
[0356] Step A5: After receiving the request message sent by the node U1, the node N1 sends the data request message to the second blockchain or the second blockchain node.
[0357] Wherein, the data request message may include, for example, one or more of the data identifier, the identifier of the node U1, the public key of the node U1, transaction index information or the identifier of the first blockchain.
[0358] For details, reference may be made to request messages in other embodiments.
[0359] Step A6: After receiving the request message from the node N1, the second blockchain node verifies the access authority of the node U1, and sends the access data requested by the node U1 to the node N1.
[0360] Exemplarily, a method for verifying access rights is: judging whether there is a transaction on the node N1 or the first blockchain, and recording the data identification or device identification related to the node U1, that is, judging whether there is a node on the blockchain. The key information of the data required by U1. If there is a transaction, or the node N1 obtains the key information of the data, it indicates that the node U1 has the access right; otherwise, it does not have the access right.
[0361] The data is data information, and the data information includes encrypted data or address information where the encrypted data is stored.
[0362] Step A7: Node N1 sends the data information and the key information of the data to node U1.
[0363] Step A8: The node U1 receives the data information and the key information of the data from the node N1, obtains a key (key) for accessing the data through the key information of the data, and then decrypts the encrypted data by using the key, access the data.
[0364] Part B Process
[0365] In the process of Part B, the process of node U2 requesting access to data from the blockchain is described. In this process, the data information and the key information of the data are provided to node U2 from the same node.
[0366] Specifically, the process includes:
[0367] Step B1: The data source node records the key information of the data on the first blockchain, and the key information of the data is generated after encrypting the data key requested by the node U2 to access by using the public key of the node U2.
[0368] Step B2: The node U2 sends a request message to the node N1, the request message includes one or more of the data identifier, the public key of the node U2, the identifier of the node U2 (node ​​U2ID) or transaction index information.
[0369] Step B3: After the node N1 receives the request message, it is determined according to the data identifier carried in the request message that the data requested to be accessed by the node U2 is stored on the node N1.
[0370] Specifically, after the node N1 receives the request message from the node U2, it determines whether the node U2 has the data access authority. Specifically, an implementation method is: the node N1 determines whether the key information of the data required by the node U2 can be obtained. , if yes, the node U2 has access rights; otherwise, it does not have access rights.
[0371] When judging that the node U2 has the access authority, the node N1 further judges whether the data information required by the node U2 is stored locally; if the data information is stored, the data information can be directly provided to the node U2; If the data is stored, the data information can be obtained from other nodes first, and then the data information can be sent to the node U2.
[0372] In addition, the node N1 inquires about the relevant transaction according to the request message, and obtains the key information of the encrypted data of the data. Specifically, according to the content in the request message, the node N1 searches the first blockchain for a relevant transaction, where the key information of the data is recorded in the transaction.
[0373] Step B4: Node N1 obtains the key information of the data from the first blockchain.
[0374] Steps B5 and B6: Node N1 sends the data information and the key information of the data to node U2.
[0375] Step B7: The node U2 obtains a data key (key) for accessing the data through the key information of the data, and decrypts the encrypted data according to the data key key to obtain access data.
[0376] Step B8: Node N1 will provide node U2 with data information and data key information as a transaction, which will be recorded on the third blockchain.
[0377] Part C Process
[0378] The process of the node U3 requesting access to data from the blockchain is described in the process of Part C. In this process, the data information and the key information of the data are provided to the node U3 from different nodes.
[0379] Specifically, the process includes:
[0380] Step C1: The data source node records the key information of the data on the first blockchain, and the key information of the data is generated after encrypting the data key requested by the node U3 to access by using the public key of the node U3.
[0381] Step B2: The node U2 sends a request message to the node U2, the request message includes one or more of the data identifier, the public key of the node U3, the node U3 identifier (node ​​U3ID) or transaction index information.
[0382] Exemplarily, the node U2 is a node closer to the node U3.
[0383] Step C2: Node U2 receives the request message sent by node U3, and provides corresponding data information to node U3.
[0384] Specifically, the process of the node U2 providing the data information to the node U3 is the same as the steps B2 to B5 in the part B process, and the specific steps in the part B process can be referred to and will not be described in detail.
[0385] Step C3: Node U3 obtains data key information from node N1.
[0386] Specifically, a possible implementation manner is that the node U3 sends a request message to the node N1, where the request message is used to request key information of the data. According to the request message, the node N1 searches the first blockchain for the transaction about the data identification and the device identification of the node U3, and obtains the key information of the data from the transaction record, and the node N1 stores the encryption of the data. The key information is sent to node U3.
[0387] Exemplarily, for the specific process, reference may also be made to steps 2 to 5 of the flow of Part B.
[0388] Step C4: The node U3 receives the data information from the node U2 and the key information of the data from the node N1, and obtains a data key (key) for accessing the data through the key information of the data, and according to the data key information The key key decrypts the encrypted data to obtain access data.
[0389] Step C5: Node U2 will provide node U3 with data information as a transaction, which is recorded on the third blockchain.
[0390] Step C6: Node N1 will provide node U3 with the key information of the data as a transaction, which is recorded on the third blockchain.
[0391]Wherein, the transaction records of the third blockchain include: the data identifier requested by the third node to access, the identifier of the third node, the public key of the third node, the data address/address information requested by the third node to access the data, Data/address information hash, transaction index information, transaction identification information of the first blockchain, connection identification or cross-chain identification, etc.
[0392] In the method provided in this embodiment, after a node in the network, such as node U2, accesses and stores data information, when another node adjacent to it, such as node U3, requests to access the same data again, node U2 can directly provide node U3 with data or data information, thereby preventing node U3 from requesting data from distant data source nodes, saving time and load of repeated data transmission in the core network or between multiple network devices, and improving transmission efficiency.
[0393] In addition, using the device public key of the requesting node to encrypt the data key can prevent other nodes from accessing and reading the data in transit, further ensuring the security of data transmission, and only in the data source node or blockchain Only when there is a transaction recorded, the permission to access is issued. Therefore, while improving the transmission efficiency, the rights and interests of the data source node are also guaranteed.
[0394] Overview of the three part method processes from A to C above, in which, in part A process, U1 initiates a data access request to the blockchain network for the first time, and the first blockchain node searches and provides corresponding data for it according to the request message sent by node U1 Similarly, the second blockchain node provides data information related to the data for the first node, and sends the data information to the node U1, wherein the relay node N1 that is closer to the first node Save the data information.
[0395] In part B of the process, the node U2 initiates a data access request to the blockchain network. If the relevant data information is stored on the relay node N1 and the node U2 has the data access authority, the relay node can store the data information. It is provided to the node U2 together with the key information of the data obtained through the first blockchain transaction, that is, the data information requested by the node U2 and the key information of the data both come from the same node N1, thereby improving the transmission efficiency and reducing the Delay.
[0396] Among them, before the relay node N1 provides the data information to the node U2, the identity of the node U2 is also verified according to the key information of the data recorded on the blockchain. Further, the transmission delay is reduced, and the interests of the data source provider are also guaranteed.
[0397] In the process of part C, the node U3 initiates a data access request to the blockchain network, and the message of the request is received by the node U2, which is closer to the location. Since the node U2 records and stores the data information, it can verify that the node U3 has access rights In the case of , the corresponding data information is issued, and the first blockchain node is notified to provide the node U3 with the key information of the corresponding data.
[0398] Among them, in the process of part C, the data information obtained by the node U3 comes from the node U2, and the key information of the data comes from the first blockchain or the first blockchain node, which realizes the information provision of different nodes.
[0399] In addition, it should be noted that only three blockchains are involved in the various embodiments of this application, which are the first blockchain: transactions for recording key information of data; the second blockchain: for Transactions that record data information, and a third blockchain: for recording event transactions, it is understood that more or less blockchains may also be included to record individual transactions in the network, identified by connection or across The chain identifier is associated with each transaction. This application does not specifically limit the number of blockchains and the transaction content recorded by each blockchain.
[0400] In addition, it should be noted that the present application may also include more embodiments according to the different combinations of the above three parts A to C. For example, the process of part A and the process of part B are combined into one embodiment, or the process of part A and part C The combination of the process, or the combination of the process of part B and the process of part C, is not exemplified in this application.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Classification and recommendation of technical efficacy words

Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products