P
US12294642B2ActiveUtilityPatentIndex 61

Separation of accounting node subnetwork and service node subnetwork

Assignee: TENCENT TECH SHENZHEN CO LTDPriority: Dec 7, 2018Filed: Mar 14, 2024Granted: May 6, 2025
Est. expiryDec 7, 2038(~12.4 yrs left)· nominal 20-yr term from priority
Inventors:LI MAOCAILAN HUWANG ZONGYOUZHOU KAIBANTU HAITAOZHANG JINSONGSHI YIFANGYANG CHANGQINGKONG LIZHU GENGLIANGDING YONGLIU QUCHENGCHEN QIUPINGWANG PENG
H04L 9/50H04L 67/568H04L 9/3247H04L 9/3297H04L 9/3239G06Q 20/389G06Q 20/3825G06Q 20/3829G06Q 20/3678G06Q 20/065G06Q 2220/00G06Q 20/02G06F 16/9024G06Q 30/018G06Q 40/12H04L 65/611G06Q 30/04H04L 9/0643
61
PatentIndex Score
0
Cited by
30
References
20
Claims

Abstract

Aspects of the disclosure are directed to a method for use on a blockchain network that includes an accounting node subnetwork having accounting nodes configured to record a data block onto a blockchain and a service node having service nodes configured to verify data blocks recorded by the accounting nodes onto the blockchain. The method can include generating a signature based on transaction information to be included in a data block to be added onto the blockchain by using a key specific to the accounting node. The method can further include adding the transaction information and the generated signature to the data block and adding the data block onto the blockchain, and transmitting the signature to the service nodes in the service node subnetwork, so that the service nodes perform signature verification on the signature based on the key specific to the accounting node.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for verifying a data block recorded in a blockchain network having an accounting node subnetwork and a service node subnetwork, the accounting node subnetwork including accounting nodes that are configured to record data blocks onto a blockchain to be verified by service nodes, the service node subnetwork including the service nodes that are configured to verify data blocks recorded by the accounting nodes onto the blockchain, the method being performed by a service node of the service nodes in the service node subnetwork and comprising:
 receiving a signature from an accounting node in the accounting node subnetwork, wherein the signature is generated based on (i) transaction information included in the data block recorded in the blockchain network by the accounting node and (ii) a key specific to the accounting node; 
 performing signature verification on the signature based on the key specific to the accounting node; and 
 transmitting a result of the signature verification indicating success or failure. 
 
     
     
       2. The method according to  claim 1 , wherein:
 the receiving the signature comprises:
 receiving the signature and a digest that is calculated based on the transaction information from the accounting node in the accounting node subnetwork, wherein the performing the signature verification on the signature is based on the key specific to the accounting node and the received digest. 
 
 
     
     
       3. The method according to  claim 2 , wherein:
 the digest and the signature are included in a block header of the data block; and 
 the receiving the signature and the digest comprises: 
 receiving the block header from the accounting node in the accounting node subnetwork, wherein the signature verification is performed on the signature in the block header according to the key specific to the accounting node and the received digest in the block header. 
 
     
     
       4. The method according to  claim 3 , wherein
 the service node is a proxy node that is one of the service nodes in the service node subnetwork; and 
 the method further comprises broadcasting the block header to remaining service nodes in the service node subnetwork by the proxy node. 
 
     
     
       5. The method according to  claim 3 , wherein
 the service node is a proxy node that is one of the service nodes in the service node subnetwork; 
 the receiving the block header comprises:
 receiving the block header in the proxy node; 
 transmitting by the proxy node the received block header to another service node of the service nodes closest to the proxy node among remaining service nodes that have not received the block header; and 
 transmitting the block header by using the another service node that receives the block header, until all the remaining service nodes receive the block header. 
 
 
     
     
       6. The method according to  claim 5 , wherein the transmitting by the proxy node the received block header to the another service node closest to the proxy node further comprises:
 determining distances between the proxy node and all the remaining service nodes in the service node subnetwork; 
 transmitting the block header to a remaining service node corresponding to a smallest one of the distances, and receiving a rejection response in the proxy node when the remaining service node that receives the block header has previously received the block header; and 
 transmitting the block header to a remaining service node corresponding to a second smallest one of the distances when the rejection response is received, until an acceptance response is received. 
 
     
     
       7. The method according to  claim 3 , wherein:
 the digest calculated for the transaction information is a first Merkle root calculated based on a first hash value of the transaction information in the data block, and 
 after the receiving the block header from the accounting node, the method further comprises: 
 transmitting a request to the accounting node for the transaction information in the data block; 
 receiving a first portion of the transaction information that the service node has permission to obtain and that is in the data block from the accounting node based on permission data of the service node, and receiving a second hash value of a second portion of the transaction information that the service node does not have permission to obtain and that is in the data block from the accounting node; and 
 calculating a second Merkle root based on the received first portion of the transaction information and the second hash value, and comparing the calculated second Merkle root with the first Merkle root included in the block header, to perform content verification. 
 
     
     
       8. The method according to  claim 1 , wherein the performing the signature verification further comprises:
 obtaining the key specific to the accounting node from a certification authority; and 
 implementing a signature algorithm on the transaction information included in the data block recorded in the blockchain by using the key obtained from the certification authority to verify the signature. 
 
     
     
       9. The method according to  claim 3 , wherein the received block header includes a digest of a previous data block, a Merkle root as the digest calculated based on the transaction information included in the data block, and the signature. 
     
     
       10. The method according to  claim 8 , wherein the accounting node is selected from the accounting node subnetwork by:
 obtaining processing load of each accounting node in the accounting node subnetwork; 
 determining a distance from each accounting node in the accounting node subnetwork to a service node that transmits the transaction information; and 
 determining the accounting node based on the processing load and the distances. 
 
     
     
       11. The method according to  claim 10 , wherein the determining the accounting node comprises:
 determining a first score of each accounting node in the accounting node subnetwork according to the processing load of the respective accounting node; 
 determining a second score of each accounting node in the accounting node subnetwork according to the distance corresponding to the respective accounting node; and 
 determining the accounting node based on the first score and the second score of each accounting node. 
 
     
     
       12. The method according to  claim 11 , wherein the determining the accounting node further comprises:
 determining a weighted sum of the first score and the second score of each accounting node; and 
 determining the accounting node based on the weighted sums. 
 
     
     
       13. A service node for verifying a data block recorded in a blockchain network including an accounting node subnetwork having accounting nodes that are configured to record data blocks onto a blockchain to be verified by service nodes, and including a service node subnetwork having the service nodes that are configured to verify data blocks recorded by the accounting nodes onto the blockchain, the service node including processing circuitry that is configured to:
 receive a signature from an accounting node in the accounting node subnetwork, wherein the signature is generated based on (i) transaction information included in the data block recorded in the blockchain network by the accounting node and (ii) a key specific to the accounting node; 
 perform signature verification on the signature based on the key specific to the accounting node; and 
 transmit a result of the signature verification indicating success or failure. 
 
     
     
       14. The service node according to  claim 13 , wherein the processing circuitry is configured to:
 receive the signature and a digest that is calculated based on the transaction information from the accounting node in the accounting node subnetwork, wherein the processing circuitry is configured to perform the signature verification on the signature based on the key specific to the accounting node and the received digest. 
 
     
     
       15. The service node according to  claim 14 , wherein
 the digest and the signature are included in a block header of the data block; and 
 the processing circuitry is configured to: 
 receive the block header from the accounting node in the accounting node subnetwork, wherein the processing circuitry is configured to perform the signature verification on the signature in the block header according to the key specific to the accounting node and the digest in the block header. 
 
     
     
       16. The service node according to  claim 15 , wherein
 the service node is a proxy node that is one of the service nodes in the service node subnetwork; and 
 the processing circuitry is configured to:
 broadcast the block header to remaining service nodes in the service node subnetwork by the proxy node. 
 
 
     
     
       17. The service node according to  claim 15 , wherein
 the service node is a proxy node that is one of the service nodes in the service node subnetwork; and 
 the processing circuitry is configured to:
 receive the block header in the proxy node; 
 transmit the received block header to another service node of the service nodes closest to the proxy node among remaining service nodes that have not received the block header; and 
 transmit the block header by using the another service node that receives the block header, until all the remaining service nodes receive the block header. 
 
 
     
     
       18. The service node according to  claim 17 , wherein the processing circuitry is configured to:
 determine distances between the proxy node and all the remaining service nodes in the service node subnetwork; 
 transmit the block header to a remaining service node corresponding to a smallest one of the distances, and receive a rejection response in the proxy node when the remaining service node that receives the block header has previously received the block header; and 
 transmit the block header to a remaining service node corresponding to a second smallest one of the distances when the rejection response is received, until an acceptance response is received. 
 
     
     
       19. A service node, comprising:
 memory that is configured to store computer-readable instructions; and 
 one or more processors that are configured to read the computer-readable instructions stored in the memory and perform the method according to  claim 1 . 
 
     
     
       20. A non-transitory computer-readable storage medium that stores computer-readable instructions that, when executed by a processor of a service node, cause the service node to perform a method for verifying a data block recorded in a blockchain network having an accounting node subnetwork and a service node subnetwork, the accounting node subnetwork including accounting nodes that are configured to record data blocks onto a blockchain to be verified by service nodes, the service node subnetwork including the service nodes that are configured to verify data blocks recorded by the accounting nodes onto the blockchain, the method comprising:
 receiving a signature from an accounting node in the accounting node subnetwork, wherein the signature is generated based on (i) transaction information included in the data block recorded in the blockchain network by the accounting node and (ii) a key specific to the accounting node; 
 performing signature verification on the signature based on the key specific to the accounting node; and 
 transmitting a result of the signature verification indicating success or failure.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.