WO2020093609A1 - 区块链的区块生成方法、装置、设备及非易失性可读存储介质 - Google Patents
区块链的区块生成方法、装置、设备及非易失性可读存储介质 Download PDFInfo
- Publication number
- WO2020093609A1 WO2020093609A1 PCT/CN2019/073298 CN2019073298W WO2020093609A1 WO 2020093609 A1 WO2020093609 A1 WO 2020093609A1 CN 2019073298 W CN2019073298 W CN 2019073298W WO 2020093609 A1 WO2020093609 A1 WO 2020093609A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- preset number
- nodes
- network training
- character string
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present application relates to the field of blockchain technology, and in particular to a block generation method, device, device and non-volatile readable storage medium of the blockchain.
- Blockchain technology first appeared in the underlying implementation mechanism of Bitcoin and is currently widely used in shared ledgers.
- Shared ledger uses a decentralized distributed network composed of many nodes to record transactions. Blockchain technology is the most basic core part of shared ledger. There is no need for a central control node in the shared ledger. When the shared ledger creates a new block, the node in the shared ledger needs to perform a proof of work for the new block, and then determine which node to authenticate and grant block generation authority. In order to generate new blocks in the blockchain.
- the inventor found that the related art has at least the following problems: the number of leading zeros used to control the difficulty of node block generation depends on the difficulty value of the network, and the hash power of the node for hash calculation is not Participation, the hash computing power will not affect the proof of work generated by the node, resulting in the hash computing power being wasted in vain, the node that generates the block may not be the most hash power in the blockchain Good node.
- the present application provides a block generation method, device, device, and non-volatile readable storage medium of the blockchain.
- the main purpose is to solve the problem that the current hash calculation power is wasted in vain.
- a block generation method of a blockchain including:
- a signature algorithm is used to perform digest signature processing on the training parameters to generate a result string of the training parameters; the result string is segmented to obtain a preset number of string segments; when the preset number of When claiming a certificate, start network training and add a preset number of nodes to the network training.
- the preset number of nodes is the node that sends the preset number of claim credentials; the node that acquires the preset number is joining
- the preset number of weight data transmitted after the network training generates a block to be written based on the preset number of weight data, the training parameters, the result string, and the preset number of claim credentials .
- a block generation method of a blockchain including:
- the target character string segment from a preset number of character string segments, the preset number of character string segments are generated and distributed by the issuer by dividing the result character string, and the result string is generated by the issuer
- the training parameters are generated by digest signature processing, and the target character string segment is any character string segment in the preset number of character string segments; based on the hash algorithm, the target character string segment is performed Calculate, generate a claim credential, and return the claim credential to the issuer; when it is detected to join the network training, determine the weight data in the network training, and transmit the weight data to the issuer.
- the network training is initiated by the issuer after receiving a preset number of claim credentials.
- a block generation device for a blockchain including:
- the processing module is used to perform signature signature processing on the training parameters by using a signature algorithm to generate a result string of the training parameters; the segmentation module is used to segment the result string to obtain a preset number of string segments
- the startup module is used to start network training when the preset number of claim credentials is received, add a preset number of nodes to the network training, and the preset number of nodes is for sending the preset number A node claiming a credential; a first generation module for acquiring a preset number of weight data transmitted by the preset number of nodes after joining the network training, based on the preset number of weight data and the training parameters , The result character string and the preset number of claim credentials to generate a block to be written.
- a block generation device for a blockchain including:
- An obtaining module configured to obtain a target character string segment in a preset number of character string segments, the preset number of character string segments are generated and distributed by the issuing end by dividing the result character string, and the result character string Generated by the publishing terminal by performing digest signature processing on the training parameters, the target character string segment is any character string segment in the preset number of character string segments;
- a calculation module is used for the hash algorithm-based , Calculate the target character string segment, generate claim credentials, and return the claim credentials to the issuer;
- the transmission module is used to determine the weight in the network training when it is detected to join the network training Data, the weight data is transmitted to the issuer, and the network training is initiated by the issuer after receiving a preset number of claim credentials.
- a computer device including a memory and a processor, the memory stores computer-readable instructions, and the processor implements the computer-readable instructions to implement the first aspect or the second aspect above Aspects of the method.
- a computer non-volatile readable storage medium having computer readable instructions stored thereon, the computer readable instructions implementing the first aspect or the second aspect when executed by a processor The steps of the method.
- a block generation method, device, device and non-volatile readable storage medium of the blockchain are different from the way in which the number of leading zeros depends on the difficulty value of the network
- this application uses a signature algorithm to perform digest signature processing on the training parameters to generate a result string of the training parameters and divide the result string to obtain a preset number of string segments so that when a preset number of When claiming a voucher, start network training, add a preset number of nodes to the network training, obtain a preset number of weight data transmitted by the preset number of nodes after joining the network training, based on the preset number of weight data, training parameters, results
- the character string and the preset number of claim credentials generate the block to be written, so that by claiming the credentials, the node with the best hashing power is added to the network training to avoid the waste of hashing computing power of the node and guarantee
- the node that generates the block is the node with the best hashing power in the blockchain.
- FIG. 1 shows a schematic flow chart of a block generation method of a blockchain provided by an embodiment of the present application
- FIG. 2 shows a schematic flow chart of a block generation method of a blockchain provided by an embodiment of the present application
- FIG. 3A shows a block diagram of a blockchain block generation device according to an embodiment of the application
- FIG. 3B shows a block diagram of a block chain block generation device according to an embodiment of the application
- FIG. 3D shows a block diagram of a blockchain block generation device provided by an embodiment of the application
- FIG. 3D shows a block diagram of a block chain block generation device provided by an embodiment of the application
- FIG. 4A FIG. 4B shows a block diagram of a blockchain block generation device provided by an embodiment of the application
- FIG. 4B shows a block diagram of a block chain block generation device provided by an embodiment of the application
- FIG. 4C A schematic structural diagram of a block generation device of a block chain provided by an embodiment of the present application is shown.
- a data sharing system refers to a system for data sharing between nodes.
- the data sharing system may include N nodes, and the N nodes may refer to various clients in the data sharing system, where N is a positive integer .
- Each node can generate data during normal work and maintain the shared data in the data sharing system based on the data.
- there may be an information connection between each node in the data sharing system, and the information transmission between the nodes may be performed through the above information connection.
- the data sharing system may be a transaction system, and the transaction system refers to a system used for financial transactions.
- the transaction system may include N nodes, and each node generates ledger data when conducting a transaction, and maintains the shared ledger in the transaction system based on the ledger data.
- Each node in the data sharing system stores an identical blockchain.
- the blockchain is composed of multiple blocks, each of which stores different data. The data stored in all the blocks on the blockchain constitute the shared data of the node where the blockchain is located.
- any node in the data sharing system can serve as a publishing end.
- the embodiments of the present application provide a block generation method of the blockchain.
- the node with the best hashing power can be added to the network training to avoid wasting the hashing power of the node and guarantee
- the node that generates the block is the purpose of the node with the best hashing power in the blockchain.
- this method is applied to the issuer and the node. The method includes:
- the issuer uses a signature algorithm to perform digest signature processing on the training parameters to generate a result string of the training parameters.
- the issuing end uses a signature algorithm to perform digest signature processing on the training parameters to generate a result string of the training parameters. For details, see the content shown in step 201 below.
- the issuer divides the result character string to obtain a preset number of character string segments.
- the issuer divides the result character string to obtain a preset number of character string segments. For details, see the content shown in step 202 below.
- the node obtains the target character string segment from the preset number of character string segments.
- the preset number of character string segments are generated and published by the issuer by splitting the result character string, and the result string is determined by the issuer on the training parameters Digest signature generation is performed, and the target character string segment is any character string segment in a preset number of character string segments.
- the node can obtain any character string segment from the preset number of character string segments as the target character string segment. For details, see the content shown in step 203 below.
- the node calculates the target character string segment based on the hash algorithm, generates a claim certificate, and returns the claim certificate to the issuer.
- the node in order to join the network training issued by the publishing end, the node needs to prove its hashing power to the publishing end. Specifically, based on the hash algorithm, the target character string segment is calculated to generate a claim Voucher and return the claimed voucher to the issuer. For details, see the content shown in step 203 below.
- the issuer When the issuer receives the preset number of claim credentials, it starts network training and adds the preset number of nodes to the network training.
- the preset number of nodes is the node that sends the preset number of claim credentials.
- the publisher assigns the preset number of nodes a position in the network training, according to the preset number of nodes' position in the network training, The connection relationship between the preset number of nodes is generated, and the connection relationship is transmitted to each node in the preset number of nodes. For details, refer to the following steps 204 to 205.
- the node When the node detects that it has joined the network training, it determines the weight data in the network training and transmits the weight data to the issuer.
- the network training is initiated by the issuer after receiving a preset number of claim credentials.
- a node when a node detects that it has joined the network training, it receives the connection relationship transmitted by the publishing end, generates weight data in the network training based on the connection relationship and the number of nodes included in the network training, and uses the node
- the private key signs the weight data, generates a weight ciphertext carrying the weight data, and transmits the weight ciphertext to the issuer.
- the connection relationship is generated by the publisher according to the position of the preset number of nodes in the network training after starting the network training.
- the node can receive the block to be broadcast broadcast by the publishing terminal.
- the block to be broadcast is generated by the publishing terminal and the block to be written is verified by signature verification.
- the block to be written is generated by the issuer after receiving the preset number of weight data, based on the preset number of weight data, training parameters, result strings and the preset number of claim credentials, the block to be broadcast is added To the node blockchain.
- the content shown in step 210 below see the content shown in step 210 below.
- the publisher obtains a preset number of weight data transmitted by a preset number of nodes after joining the network for training, and generates a pending write based on the preset number of weight data, training parameters, result strings, and a preset number of claim credentials Block.
- the issuer receives the preset number of weighted ciphertexts transmitted by the preset number of nodes after joining the network training, and for any weighted ciphertext of the preset number of weighted ciphertexts, it is determined to send the weighted ciphertexts
- the target node and the node public key of the target node use the node public key to sign the weight ciphertext to obtain the weight data of the target node.
- the weight ciphertext is generated by the node using the node private key to sign the weight data. For details, see the content shown in step 208 below.
- the issuer uses the issuer's private key to perform signature verification on the block to be written, obtains the block to be broadcast, and broadcasts the block to be broadcast to a preset number of nodes. For details, see the content shown in step 209 below.
- the method provided in the embodiment of the present application adopts a signature algorithm to perform digest signature processing on the training parameters, generate a result string of the training parameters, and divide the result string to obtain a preset number of character string segments so that when received
- start the network training add the preset number of nodes to the network training, obtain the preset number of weight data transmitted by the preset number of nodes after joining the network training, based on the preset number of weight data, Training parameters, result strings and a preset number of claim credentials to generate blocks to be written, so that by claiming the credentials, the node with the best hashing power is added to the network training to avoid the hashing power of the node's hash calculation It is wasted to ensure that the node that generates the block is the node with the best hashing power in the blockchain.
- the embodiments of the present application provide a block generation method of the blockchain, which can achieve the purpose of generating blocks by using the node hashing power by selecting the nodes that join the network training based on the claim credentials generated by the nodes based on their hashing power
- the method includes:
- the issuer uses a signature algorithm to perform digest signature processing on the training parameters to generate a result string of the training parameters.
- the training parameters are the network parameters of the network to be trained and the sample addresses defined by the issuing end of the network training according to the network to be trained.
- the network parameter may be the network type and network level of the network to be trained; the sample address is the sample address of the sample data of the network to be trained.
- the task-related parameters need to That is, the training parameters are provided to multiple nodes, so that multiple nodes claim the task by hashing the training parameters, and detect the hash power of the node, so that the node with the better hash power can join the network training In the process.
- the publisher before selecting the node to join in the network training, the publisher first uses a signature algorithm to perform a digest signature on the training parameters to generate a result string of the training parameter, so that the subsequent calculation of the result string can determine which node Join the network training.
- the signature algorithm may be a SHA (Secure Hash Algorithm) digest algorithm.
- the embodiment of the present application does not specifically limit the method of generating a result string.
- the issuer divides the result character string to obtain a preset number of character string segments.
- the result string is divided so that subsequent authentication can be performed based on a certain segment in the result string to shorten the authentication time of the node.
- a preset number may be set, and the result character string may be evenly divided into a preset number of character string segments.
- the preset data can be set by the publisher.
- the publisher can determine how many nodes you want to join the network training according to the actual situation of the network training, so as to set the preset number to avoid wasting the resources of the node.
- the node can complete other work.
- the publisher does not set the preset number by itself, the total number of nodes in the blockchain can be defaulted to the preset number. In this way, if there are many nodes in the blockchain, the preset number will be set larger. Each string segment obtained by segmentation is shorter, and the authentication process of the node will be faster; if there are fewer nodes in the blockchain, the smaller the preset number is set, the fewer string segments will be segmented, the more Fewer nodes complete the network training to achieve the purpose of saving node resources.
- the issuer will divide the preset number of characters The string segmentation is released so that each node in the blockchain can join the network training based on the string segmentation request.
- the node obtains the target character string segment from the preset number of character string segments, calculates the target character string segment based on the hash algorithm, generates a claim voucher, and returns the claim voucher to the issuer.
- the node after the publishing end publishes the preset number of character string segments, if the node wants to perform authentication, so as to join in the network training of the issuing end, the node can enter the preset number of character string segments Obtain the target character string segment and perform authentication based on the target character string segment.
- the target character string segment is any character string segment in the preset number of character string segments, and the node can select the character string segment as the target character string segment in any of the preset number of character string segments .
- the node After obtaining the target string segment, the node can calculate the target string segment based on the hash algorithm, generate a claim voucher for the target string, and return the claim voucher to the issuing end, so that the release End to determine that the node can be added to the network training.
- the hash algorithm may be MD5 (Message Digest Algorithm 5, message digest algorithm) algorithm
- the generated claim credential may be in the form of hash leading zeros.
- the form of claiming vouchers is not specifically limited.
- the issuer may receive multiple claim certificates transmitted by multiple nodes at the same time, in order for the issuer to distinguish which nodes are sent according to the claim certificate, the node sends the claim certificate to the issuer .
- the node identification can be carried in the claim voucher, so that the issuer can trace back to the node that sent the claim voucher based on the claim voucher.
- the issuer When receiving the preset number of claim credentials, the issuer starts network training, and adds the preset number of nodes to the network training.
- the issuer since the preset number of character string segments will be claimed by the nodes, and after each node successfully claims the character string segments, it will return the claim certificate to the issuer. Therefore, the issuer will Multiple claim certificates are received.
- the issuer receives the preset number of claim certificates that claim the preset number of nodes, it is determined that each string segment is claimed by the node. At this time, it can be The nodes that claim the preset number of character string segments are added to the network training, that is, the publishing terminal starts the network training, and the preset number of nodes are added to the network training.
- each character string segment is different, therefore, the claim vouchers generated according to different character string segments will be different In this way, when the issuer receives the claim voucher, it can identify which string segment is claimed based on the claim voucher.
- the publisher can receive the first one The node corresponding to the claim credential serves as the node claiming the string segmentation, and the node is added to the network training.
- the publishing terminal allocates a preset number of nodes to the position in the network training, generates a connection relationship between the preset number of nodes according to the position of the preset number of nodes in the network training, and transmits the connection relationship to the preset Each node in the number of nodes.
- the preset number of nodes can be trained on the network Allocate positions in the middle, so that each node will have adjacent nodes in the network training, so that the connection relationship between the preset number of nodes can be generated according to the adjacent nodes of each node.
- connection relationship is transmitted to each node of the preset number of nodes, so that each node can determine its own weight data in network training according to the connection relationship.
- the node when determining its own weight data, the node also needs to combine the number of all nodes in the network training, so when the publisher transmits the connection relationship to the node, it can also count the nodes included in the network training. Number of nodes, send the number of nodes to the nodes together, so that the nodes can directly use the connection relationship to determine the weight data, and there is no need to count the number of nodes included in the network training.
- the node receives the connection relationship transmitted by the publishing terminal, generates weight data in the network training based on the connection relationship and the number of nodes included in the network training, and uses the node private key to sign the weight data to generate the weight data Weighted ciphertext, transmits the weighted ciphertext to the publisher.
- the node after the node receives the connection relationship transmitted by the issuer, it can determine the nodes adjacent to itself, and according to the connection relationship statistics, which nodes are included in network training, and determine its own network based on the network relationship The part of training that is occupied and managed to determine its own weight data.
- the node can count the number of nodes involved in the connection relationship, and determine the total workload in network training according to the number of nodes; then, determine its own sub-workload according to its own working capacity; finally, calculate The proportion of the sub-workload in the total workload of the network training, which is used as its own weight data.
- the node After generating its own weight data, considering that there may be malicious nodes in the blockchain, that is, nodes used by criminals to steal data, in order to avoid the weight data being intercepted and used by malicious nodes during the transmission process, the node can
- the weight data is encrypted to generate a weight ciphertext carrying the weight data, and the weight ciphertext is transmitted to the publishing terminal, so that after receiving the weight ciphertext, the publishing terminal obtains the weight data of the node by decrypting the weight ciphertext .
- each node in the blockchain has a public and private key pair including a public key and a private key, where the public key is known to all nodes in the blockchain, and the private key is known only to itself, data encrypted with the private key can The public key is used for decryption. Therefore, when encrypting the weight data, the node can use its own node private key to sign the weight data, and then generate the weight ciphertext carrying the weight data, and then transmit the weight ciphertext to the publishing end, so that The issuer can decrypt the weight ciphertext using the node's node public key to obtain the weight data of the node.
- the issuer receives the preset number of weight ciphertexts transmitted by the preset number of nodes after joining the network training, and extracts the preset number of weight data from the preset number of weight ciphertexts.
- the publishing end since each node in the preset number of nodes added to the network training transmits the weight ciphertext after encrypting its own weight data to the publishing end, the publishing end will receive the preset Number of weighted ciphertexts, so that the issuer needs to extract a preset number of weighted data from the preset number of weighted ciphertexts.
- any weighted ciphertext in the preset number of weighted ciphertexts since the weighted ciphertext is generated by the node that sent the weighted ciphertext using its own node private key for signature, only the node based on the node public The key can decrypt the weighted ciphertext, so first of all, you need to determine the target node and the node public key of the target node to send the weighted ciphertext; then, use the node public key to sign the weighted ciphertext to decrypt the weighted ciphertext The purpose is to obtain the weight data included in the weight ciphertext. Since the issuer receives the weight ciphertext sent by the preset number of nodes, the process of signing the weight ciphertext is repeated, and the issuer can obtain the weight data of the preset number of nodes.
- the issuer generates a block to be written based on a preset number of weight data, training parameters, result strings, and a preset number of claim credentials, and adds the block to be written to the issuer blockchain.
- the publisher after the publisher obtains the weight data of each node in the entire network training, it can generate a block to be written, and record the weight data of the entire network training based on the block to be written.
- the training parameters, the result string and a preset number of claim credentials can also be written to the block to be written together in.
- the preset number of claim certificates can be written in the form of a certificate list, that is, a certificate list including the preset number of claim certificates and the correspondence between nodes is generated, and the certificate list is written into the block to be written.
- the issuer can add the block to be written to its own issuer blockchain.
- the content of the network training published by the publishing end is usually related to the business, and the business will involve the content of the ledger, so that when the block to be written is generated, the content of the ledger in the business can also be Write to the block to be written.
- the embodiment of the present application does not specifically limit the content included in the written block.
- the issuer uses the issuer's private key to perform signature verification on the block to be written, obtains the block to be broadcast, and broadcasts the block to be broadcast to a preset number of nodes.
- the block to be written can be added to the block chains of all nodes involved in network training, thereby ensuring the block chain of each node The data in is consistent, and the publisher needs to broadcast the block to be written to each node, so that each node adds the block to be written to the blockchain.
- the issuer when broadcasting the block to be written to each node, in order to prevent malicious nodes from stealing the data in the module to be written, the issuer can use its own private key of the issuer to perform signature verification on the written block to obtain Block to be broadcast, and broadcast the block to be broadcast to a preset number of nodes in network training, so that each node can add the block to be broadcast to its own node blockchain, while also To prevent the data to be written into the block from being stolen.
- the node receives the block to be broadcast broadcast by the publisher, and adds the block to be broadcast to the node blockchain.
- the node after the node receives the block to be broadcast broadcasted by the publishing end, it can add the block to be broadcasted to its own node blockchain, so as to ensure that the publishing end blockchain The data remains consistent.
- the method provided in the embodiment of the present application adopts a signature algorithm to perform digest signature processing on the training parameters, generate a result string of the training parameters, and divide the result string to obtain a preset number of character string segments so that when received
- start the network training add the preset number of nodes to the network training, obtain the preset number of weight data transmitted by the preset number of nodes after joining the network training, based on the preset number of weight data, Training parameters, result strings and a preset number of claim credentials to generate blocks to be written, so that by claiming the credentials, the node with the best hashing power is added to the network training to avoid the hashing power of the node's hash calculation It is wasted to ensure that the node that generates the block is the node with the best hashing power in the blockchain.
- an embodiment of the present application provides a block generation device for a blockchain.
- the device includes: a processing module 301, a segmentation module 302, a startup module 303, and a third ⁇ Generating module 304.
- the processing module 301 is used to perform signature signature processing on the training parameters by using a signature algorithm to generate a result string of training parameters; the segmentation module 302 is used to segment the result string to obtain a preset number of string segments
- the activation module 303 is used to start network training when a preset number of claim credentials are received, and add a preset number of nodes to the network training.
- the preset number of nodes is a node that sends a preset number of claim credentials;
- the first generating module 304 is used to obtain a preset number of weight data transmitted by a preset number of nodes after joining the network training, based on the preset number of weight data, training parameters, result strings, and a preset number of claim credentials, Generate the block to be written.
- the device further includes: an allocation module 305, a second generation module 306, and a transmission module 307.
- the allocation module 305 is used for allocating the position of the preset number of nodes in the network training; the second generation module 306 is used for generating a preset number of nodes according to the position of the preset number of nodes in the network training Connection relationship; the transmission module 307 is used to transmit the connection relationship to each node of the preset number of nodes.
- the first generation module 304 includes a receiving sub-module 3041, a stator sub-module 3042, and a signature sub-module 3043.
- the receiving submodule 3041 is used to receive a preset number of weight ciphertexts transmitted by a preset number of nodes after joining the network training, and the weight ciphertexts are generated by the node using the node private key to sign the weight data; the determination submodule 3042, It is used to determine the target node sending the weight ciphertext and the node public key of the target node for any weight ciphertext in the preset number of weight ciphertexts; the signature submodule 3043 is used to perform weighted ciphertexts using the node public key Sign to obtain the weight data of the target node; the determination sub-module 3042 is also used to repeatedly execute the above process of signing the weight ciphertext to obtain a preset number of weight data.
- the device further includes a broadcast module 308.
- the broadcast module 308 is used to perform signature verification on the block to be written using the private key of the issuer to obtain the block to be broadcast, and broadcast the block to be broadcast to a preset number of nodes.
- the block generation device of the blockchain may use a signature algorithm to perform digest signature processing on the training parameters to generate a result string of the training parameters, and divide the result string to obtain a preset number of characters String segmentation, so that when a preset number of claim credentials are received, network training is started, a preset number of nodes are added to the network training, and a preset number of weight data transmitted by the preset number of nodes after joining the network training are acquired, Based on a preset number of weight data, training parameters, result strings, and a preset number of claim credentials, generate blocks to be written, so that by claiming the credentials, the node with the best hashing power is added to the network training to avoid The hash power of the node's hash calculation is wasted, ensuring that the node that generates the block is the node with the best hash power in the blockchain.
- a signature algorithm to perform digest signature processing on the training parameters to generate a result string of the training parameters, and divide the result string to obtain a preset number of characters String segmentation
- an embodiment of the present application provides a block generation device of a blockchain.
- the device includes: an acquisition module 401, a calculation module 402, and a transmission module 403.
- the acquisition module 401 is used to acquire a target character string segment from a preset number of character string segments.
- the preset number of character string segments are generated and distributed by the issuing end by dividing the result character string, and the result character string is issued by The end performs digest signature processing on the training parameters, and the target character string segmentation is any one of a preset number of character string segments;
- the calculation module 402 is used to divide the target character string based on the hash algorithm The segment calculates, generates a claim voucher, and returns the claim voucher to the publisher;
- the transmission module 403 is used to determine the weight data in the network training when it is detected to join the network training, and transmit the weight data to the publisher It is initiated by the issuer after receiving a preset number of claim certificates.
- the transmission module 403 includes a reception submodule 4031, a generation submodule 4032, and a transmission submodule 4033.
- the receiving submodule 4031 is configured to receive the connection relationship transmitted by the publishing terminal when it detects that joining the network training, the connection relationship is generated by the publishing terminal according to the position of the preset number of nodes in the network training after starting the network training;
- the generation submodule 4032 is used to generate the weight data in the network training based on the connection relationship and the number of nodes included in the network training;
- the transmission submodule 4033 is used to sign the weight data with the node private key and generate The weight ciphertext carrying weight data is transmitted to the publishing end.
- the device further includes a receiving module 404 and an adding module 405.
- the receiving module 404 is used to receive the to-be-broadcasted block broadcast by the publishing end.
- the to-be-broadcasting block is generated by the issuing end and is to be written by the signature verification of the to-be-written block.
- the terminal After receiving the preset number of weight data, the terminal generates according to the preset number of weight data, training parameters, result strings and preset number of claim credentials; the adding module 405 is used to add the block to be broadcast to Node blockchain.
- the block generation device of the blockchain provided in the embodiment of the present application can obtain the target character string segment from a preset number of character string segments, and calculate and generate the target character string segment based on the hash algorithm Claiming a credential, returning the claiming credential to the issuing end, and when it is detected to join the network training, determining the weight data in the network training, and transmitting the weighting data to the issuing end, so as to pass the claim Credentials, the nodes with the best hashing power are added to the network training to avoid wasting the hashing power of the nodes, and to ensure that the node that generates the block is the node with the best hashing power in the blockchain.
- a computer device including a memory and a processor, the memory stores computer-readable instructions, and the processor implements the computer-readable instructions to implement the blockchain Steps of the block generation method.
- a non-volatile readable storage medium having computer readable instructions stored thereon, when the computer readable instructions are executed by a processor to implement the steps of the block generation method of the block chain.
- the present application can be implemented by hardware, or by software plus a necessary general hardware platform.
- the technical solution of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (can be a CD-ROM, U disk, mobile hard disk, etc.), including several The instructions are used to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in various implementation scenarios of the present application.
- a computer device which may be a personal computer, a server, or a network device, etc.
- modules in the device in the implementation scenario may be distributed in the device in the implementation scenario according to the description of the implementation scenario, or may be changed accordingly in one or more devices different from the implementation scenario.
- the modules in the above implementation scenarios can be combined into one module, or can be further split into multiple sub-modules.
- the above serial number of the present application is for description only, and does not represent the advantages and disadvantages of the implementation scenario.
- the above disclosure is only a few specific implementation scenarios of the present application, however, the present application is not limited to this, and any changes that can be thought by those skilled in the art should fall within the protection scope of the present application.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种区块链的区块生成方法、装置、设备及非易失性可读存储介质,涉及区块链技术领域,可以通过认领凭证,将哈希算力最好的节点加入到网络训练中,避免节点的哈希计算的算力被浪费,保证生成区块的节点是区块链中哈希算力最好的节点。所述方法包括:采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串;对结果字符串进行分割,得到预设数目的字符串分段;当接收到预设数目的认领凭证时,启动网络训练,将预设数目的节点加入网络训练;获取预设数目的节点在加入网络训练后传输的预设数目的权重数据,基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块。
Description
本申请要求与2018年11月8日提交中国专利局、申请号为2018113260486、申请名称为“区块链的区块生成方法、装置、设备及非易失性可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在申请中。
本申请涉及区块链技术领域,特别是涉及一种区块链的区块生成方法、装置、设备及非易失性可读存储介质。
区块链技术最早出现在比特币的底层实现机制中,目前广泛应用于共享账本中。共享账本使用由众多节点构成的去中心化分布式网络来记录交易,区块链技术就是共享账本最基础的核心部分。共享账本中不需要中央控制节点,当共享账本创建新增区块时,共享账本中的节点需要进行新增区块的工作量证明,进而确定对哪一个节点进行认证及授予区块生成权限,以便生成区块链中的新区块。
相关技术中,在对共享账本中的节点进行新增区块的工作量证明时,需要确定区块的哈希值,并基于哈希值的前导零的个数来控制节点区块生成的难度,实现对节点的认证,允许节点生成区块。
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:用于控制节点区块生成难度的前导零的个数取决于网络的难度值,而节点进行哈希计算的算力并没有参与,哈希计算的算力并不会对节点生成的工作量证明造成影响,导致哈希计算的算力被白白浪费了,生成区块的节点可能并不是区块链中哈希算力最好的节点。
发明内容
有鉴于此,本申请提供了一种区块链的区块生成方法、装置、设备及非易失性可读存储介质,主要目的在于解决目前哈希计算的算力被白白浪费了的问题。
依据本申请第一方面,提供了一种区块链的区块生成方法,该方法包括:
采用签名算法,对训练参数进行摘要签名处理,生成所述训练参数的结果字符串;对所述结果字符串进行分割,得到预设数目的字符串分段;当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练,所述预设数目的节点为发送所述预设数目的认领凭证的节点;获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,基于所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证,生成待写入区块。
依据本申请第二方面,提供了一种区块链的区块生成方法,包括:
在预设数目的字符串分段中获取目标字符串分段,所述预设数目的字符串分段为发布端对结果字符串分割生成并发布的,所述结果字符串由所述发布端对训练参数进行摘要签名处理生成,所述目标字符串分段为所述预设数目的字符串分段中的任一字符串分段;基于哈希算法,对所述目标字符串分段进行计算,生成认领凭证,将所述认领凭证返回至所述发布端;当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,所述网络训练由所述发布端在接收到预设数目的认领凭证后启动的。
依据本申请第三方面,提供了一种区块链的区块生成装置,包括:
处理模块,用于采用签名算法,对训练参数进行摘要签名处理,生成所述训练参数的结果字符串;分割模块,用于对所述结果字符串进行分割,得到预设数目的字符串分段;启动模块,用于当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练,所述预设数目的节点为发送所述预设数目的认领凭证的节点;第一生成模块,用于获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,基于所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证,生成待写入区块。
依据本申请第四方面,提供了一种区块链的区块生成装置,包括:
获取模块,用于在预设数目的字符串分段中获取目标字符串分段,所述预设数目的字符串分段为发布端对结果字符串分割生成并发布的,所述结果字符串由所述发布端对训练参数进行摘要签名处理生成,所述目标字符串分段为所述预设数目的字符串分段中的任一字符串分段;计算模块,用于基于哈希算法,对所述目标字符串分段进行计算,生成认领凭证,将所述认领凭证返回至所述发布端;传输模块,用于当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,所述网络训练由所述发布端在接收到预设数目的认领凭证后启动的。
依据本申请第五方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述第一方面或第二方面所述方法的步骤。
依据本申请第六方面,提供了一种计算机非易失性可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述第一方面或第二方面所述的方法的步骤。
借由上述技术方案,本申请提供的一种区块链的区块生成方法、装置、设备及非易失性可读存储介质,与目前前导零的个数取决于网络的难度值的方式相比,本申请采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串,并对结果字符串进行分割,得到预设数目的字符串分段,以便当接收到预设数目的认领凭证时,启动网络训练,将预设数 目的节点加入网络训练,获取预设数目的节点在加入网络训练后传输的预设数目的权重数据,基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块,使得通过认领凭证,将哈希算力最好的节点加入到网络训练中,避免节点的哈希计算的算力被浪费,保证生成区块的节点是区块链中哈希算力最好的节点。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种区块链的区块生成方法流程示意图;图2示出了本申请实施例提供的一种区块链的区块生成方法流程示意图;图3A示出了本申请实施例提供的一种区块链的区块生成装置的结构示意图;图3B示出了本申请实施例提供的一种区块链的区块生成装置的结构示意图;图3C示出了本申请实施例提供的一种区块链的区块生成装置的结构示意图;图3D示出了本申请实施例提供的一种区块链的区块生成装置的结构示意图;图4A示出了本申请实施例提供的一种区块链的区块生成装置的结构示意图;图4B示出了本申请实施例提供的一种区块链的区块生成装置的结构示意图;图4C示出了本申请实施例提供的一种区块链的区块生成装置的结构示意图。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在对本申请进行详细的解释说明之前,先对本申请实施例涉及的数据共享系统进行简单介绍。数据共享系统是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括N个节点,该N个节点可以是指数据共享系统中各个客户端,其中,N为正整数。每个节点可以在进行正常工作时生成数据,并基于数据维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到数据时,数据共享系统中的全部节点便将数据作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。其中,数据共享系统可为交易系统,交易系统指用于金融交易的系统。交易系统中可以包括N个节点,每个节点在进行交易时生成账本数据,并基 于账本数据维护该交易系统内的共享账本。数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,每个区块均存储有不同的数据,区块链上的全部区块存储的数据组成了区块链所在节点的共享数据。其中,当某一节点请求在数据共享系统内进行数据共享时,由于该节点需要将数据广播给其他节点,以便其他节点生成区块,并将区块添加至自身存储的区块链中,因此,请求进行数据共享的节点即为发布端。在本申请实施例中,数据共享系统中的任一节点均可作为发布端。
本申请实施例提供了一种区块链的区块生成方法,可以通过认领凭证,将哈希算力最好的节点加入到网络训练中,避免节点的哈希计算的算力被浪费,保证生成区块的节点是区块链中哈希算力最好的节点的目的,如图1所示,该方法应用于发布端和节点,该方法包括:
101、发布端采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串。在本申请实施例中,为了后续对节点进行验证,并向节点证明发布的网络训练是存在的,发布端采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串。具体参见下述步骤201中所示内容。
102、发布端对结果字符串进行分割,得到预设数目的字符串分段。在本申请实施例中,为了使多个节点都可以进行认证,并减轻节点的认证负担,发布端在生成结果字符串后,对结果字符串进行分割,得到预设数目的字符串分段。具体参见下述步骤202中所示内容。
103、节点在预设数目的字符串分段中获取目标字符串分段,预设数目的字符串分段为发布端对结果字符串分割生成并发布的,结果字符串由发布端对训练参数进行摘要签名处理生成,目标字符串分段为预设数目的字符串分段中的任一字符串分段。在本申请实施例中,当发布端将预设数目的字符串分段发布后,节点便可以在预设数目的字符串分段中获取任一字符串分段作为目标字符串分段。具体参见下述步骤203中所示内容。
104、节点基于哈希算法,对目标字符串分段进行计算,生成认领凭证,将认领凭证返回至发布端。在本申请实施例中,节点为了加入到发布端发布的网络训练中,需要向发布端证明自身的哈希算力,具体地,基于哈希算法,对目标字符串分段进行计算,生成认领凭证,并将认领凭证返回至发布端。具体参见下述步骤203中所示内容。
105、当发布端接收到预设数目的认领凭证时,启动网络训练,将预设数目的节点加入网络训练,预设数目的节点为发送预设数目的认领凭证的节点。在本申请实施例中,当发布端将预设数目的节点加入网络训练后,发布端为预设数目的节点分配在网络训练中的位置,根据预设数目的节点在网络训练中的位置,生成预设数目的节点之间的连接关系,并将连接关系传输至预设数目的节点中的每一个节点。具体参见下述步骤204至步骤205中所示内容。
106、节点当检测到加入网络训练时,确定在网络训练中的权重数据,将权重数据传输至发布端,网络训练由发布端在接收到预设数目的认领凭证后启动的。在本申请实施例中,当节点检测到加入网络训练时,接收发布端传输的连接关系,基于连接关系以及网络训练中 包括的节点的节点个数,生成在网络训练中的权重数据,采用节点私钥对权重数据进行签名,生成携带权重数据的权重密文,将权重密文传输至发布端。连接关系为发布端在启动网络训练后根据预设数目的节点在网络训练中的位置生成的。具体参见下述步骤206中所示内容。另外,节点在将权重数据传输至发布端后,便可以接收发布端广播的待广播区块,待广播区块由发布端生成待写入区块,并对待写入区块进行签名验证得到的,待写入区块由发布端在接收到预设数目的权重数据后,根据预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证生成的,将待广播区块添加至节点区块链中。具体参见下述步骤210中所示内容。
107、发布端获取预设数目的节点在加入网络训练后传输的预设数目的权重数据,基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块。在本申请实施例中,发布端接收预设数目的节点在加入网络训练后传输的预设数目的权重密文,对于预设数目的权重密文中的任一权重密文,确定发送权重密文的目标节点以及目标节点的节点公钥,采用节点公钥对权重密文进行签名,得到目标节点的权重数据。重复执行上述对权重密文进行签名的过程,得到预设数目的权重数据。其中,权重密文由节点采用节点私钥对权重数据签名生成。具体参见下述步骤208中所示内容。在生成待写入模块后,发布端采用发布端私钥对待写入区块进行签名验证,得到待广播区块,将待广播区块广播至预设数目的节点。具体参见下述步骤209中所示内容。
本申请实施例提供的方法,采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串,并对结果字符串进行分割,得到预设数目的字符串分段,以便当接收到预设数目的认领凭证时,启动网络训练,将预设数目的节点加入网络训练,获取预设数目的节点在加入网络训练后传输的预设数目的权重数据,基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块,使得通过认领凭证,将哈希算力最好的节点加入到网络训练中,避免节点的哈希计算的算力被浪费,保证生成区块的节点是区块链中哈希算力最好的节点。
本申请实施例提供了一种区块链的区块生成方法,可以通过对节点基于自身哈希算力产生的认领凭证选取加入网络训练的节点,达到利用节点哈希算力生成区块的目的,保证生成区块的节点是区块链中算力最好的节点的目的,如图2所示,该方法包括:
201、发布端采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串。在本申请实施例中,训练参数为网络训练的发布端按照待训练网络定义的待训练网络的网络参数以及样本地址。具体地,网络参数可为待训练网络的网络类型以及网络层次;样本地址为待训练网络的样本数据的样本地址。为了使节点确定发布端发布的任务是确实存在的,以便节点自愿参与到网络训练的过程中来,实现区块的生成,发布端在区块链中发布任务以后,需要将任务相关的参数,也即训练参数提供给多个节点,以便多个节点通过对训练参数 进行哈希计算来认领任务,并检测节点的哈希算力,使得哈希算力较优的节点可以加入到网络训练的过程中。在实际应用的过程中,由于训练参数中涉及的内容较多,如果让节点通过对训练参数的计算来加入网络训练,则节点中涉及的计算量较大,且计算得到的数据仅是用来对节点的哈希算力进行检测,并没有涉及到真正的任务,不具有实际的意义,浪费了大量的计算资源。因此,发布端在选择加入到网络训练中的节点之前,先采用签名算法对训练参数进行摘要签名处理,生成该训练参数的结果字符串,以便后续通过对结果字符串的计算来确定哪一个节点加入到网络训练中。其中,签名算法可为SHA(Secure Hash Algorithm,安全哈希算法)摘要算法,本申请实施例对生成结果字符串的方式不进行具体限定。
202、发布端对结果字符串进行分割,得到预设数目的字符串分段。在本申请实施例中,考虑到生成的结果字符串可能较长,如果后续每一个节点均基于生成的结果字符串进行计算来认证,则每个节点均需要耗费大量的时间,节点认证的时间过长,因此,在生成结果字符串后,对结果字符串进行分割,以便后续可以基于结果字符串中的某一段进行认证,缩短节点的认证时间。其中,在对结果字符串进行分割时,可以设置预设数目,并将结果字符串平均分成预设数目的字符串分段。预设数据可以由发布端设置,发布端可以根据网络训练的实际情况确定想要多少节点加入到网络训练中,从而将预设数目设置为多少,避免浪费节点的资源,其他未加入网络训练的节点可以完成其他的工作。另外,如果发布端没有自行设置预设数目,则可以将区块链中节点的总个数默认为预设数目,这样,如果区块链中节点较多,设置的预设数目便较大,分割得到的每个字符串分段较短,节点的认证过程便会较快;如果区块链中节点较少,设置的预设数目便越小,分割得到的字符串分段越少,越少的节点完成网络训练,达到节省节点资源的目的。需要说明的是,当完成了对结果字符串的分割得到预设数目的字符串分段后,为了使区块链中的节点可以获取到字符串分段,发布端会将预设数目的字符串分段发布出去,使得区块链中的每个节点均可以基于字符串分段请求加入到网络训练中。
203、节点在预设数目的字符串分段中获取目标字符串分段,基于哈希算法,对目标字符串分段进行计算,生成认领凭证,将认领凭证返回至发布端。在本申请实施例中,当发布端将预设数目的字符串分段发布以后,节点如果想要进行认证,从而加入到发布端的网络训练中,节点可以在预设数目的字符串分段中获取目标字符串分段,并基于该目标字符串分段进行认证。其中,目标字符串分段为预设数目的字符串分段中的任一字符串分段,节点可以在预设数目的字符串分段中任一选取字符串分段作为目标字符串分段。当获取到目标字符串分段后,节点便可以基于哈希算法,对目标字符串分段进行计算,生成对该目标字符串的认领凭证,并将该认领凭证返回至发布端,从而使发布端来判定能够将该节点加入到网络训练中。其中,哈希算法可为MD5(Message Digest Algorithm 5,消息摘要算法)算法,生成的认领凭证可为哈希前导零形式的,本申请实施例对节点基于目标字符串分段生成认领凭证的 方式以及认领凭证的形式不进行具体限定。需要说明的是,由于发布端在同一时间可能接收到多个节点传输的多个认领凭证,为了使发布端可以根据认领凭证来区分是由哪些节点发送的,节点在向发布端发送认领凭证时,可以在认领凭证中携带节点标识,以便发布端可以基于该认领凭证追溯到发送该认领凭证的节点。
204、当接收到预设数目的认领凭证时,发布端启动网络训练,将预设数目的节点加入网络训练。在本申请实施例中,由于预设数目的字符串分段均会被节点认领,且每个节点在对字符串分段认领成功后,均会向发布端返回认领凭证,因此,发布端会接收到多个认领凭证,这样,当发布端接收到对预设数目的节点进行认领的预设数目的认领凭证后,则确定每一个字符串分段均被节点认领了,此时,便可以将认领预设数目的字符串分段的节点加入到网络训练中来,也即发布端启动网络训练,将预设数目的节点加入到网络训练中来。需要说明的是,由于预设数目的字符串分段为结果字符串的分段,每个字符串分段均是不同的,因此,根据不同的字符串分段生成的认领凭证便会是不同的,这样,发布端在接收到认领凭证时,便可以根据认领凭证来识别哪一个字符串分段被认领了。在实际应用的过程中,可能会有多个节点对同一个字符串节点进行认领,为了使加入到网络训练中的节点是哈希算力最优的节点,发布端可以将最先接收到的认领凭证对应的节点作为认领该字符串分段的节点,并将该节点加入到网络训练中。
205、发布端为预设数目的节点分配在网络训练中的位置,根据预设数目的节点在网络训练中的位置,生成预设数目的节点之间的连接关系,将连接关系传输至预设数目的节点中的每一个节点。在本申请实施例中,当发布端将预设数目的节点加入到网络训练中后,由于训练参数中包括了网络层次,因此,根据网络层次的划分,可以为预设数目的节点在网络训练中分配位置,这样,每个节点在网络训练中便会存在相邻的节点,使得根据每个节点的相邻节点可以生成预设数目的节点之间的连接关系。为了使后续节点可以根据其在网络训练中的位置以及与其他节点之间的连接关系生成自身的权重数据,从而完成网络训练,发布端在生成了预设数目的节点之间的连接关系后,将连接关系传输至预设数目的节点中的每一个节点,以使每一个节点都可以根据连接关系确定自身在网络训练中的权重数据。需要说明的是,由于在确定自身的权重数据时,节点还需要结合网络训练中全部节点的个数,因此,发布端在将连接关系传输至节点时,还可以统计网络训练中包括的节点的节点个数,将该节点个数一同发送给节点,以便节点可以直接利用连接关系确定权重数据,无需再统计网络训练中包括的节点的个数。
206、节点接收发布端传输的连接关系,基于连接关系以及网络训练中包括的节点的节点个数,生成在网络训练中的权重数据,采用节点私钥对权重数据进行签名,生成携带权重数据的权重密文,将权重密文传输至发布端。在本申请实施例中,当节点接收到发布端传输的连接关系后,便可以确定与自己相邻的节点,并根据连接关系统计到网络训练中包括了哪 些节点,根据网络关系确定自己在网络训练中占据以及管理的部分,从而确定自身的权重数据。具体地,首先,节点可以统计连接关系中涉及的节点的节点个数,根据节点个数确定网络训练中的总工作量;随后,根据自身的工作能力,确定自身的子工作量;最后,计算子工作量在网络训练的总工作量中的占比,将该占比作为自身的权重数据。当生成了自身的权重数据后,考虑到区块链中可能存在恶意节点,也即不法分子用来盗取数据的节点,为了避免权重数据在传输的过程中被恶意节点拦截利用,节点可以对权重数据进行加密,生成携带权重数据的权重密文,并将该权重密文传输至发布端,以便发布端在接收到权重密文后,通过对权重密文的解密来获取该节点的权重数据。由于区块链中的每个节点均存在包括公钥和私钥的公私钥对,其中,公钥被区块链中的全部节点知晓,而私钥只有自身知晓,采用私钥加密的数据可以采用公钥解密,因此,节点在对权重数据进行加密时,可以采用自身的节点私钥对权重数据进行签名,进而生成携带权重数据的权重密文,将该权重密文传输给发布端,以便发布端可以采用该节点的节点公钥对该权重密文进行解密,获取到该节点的权重数据。
207、发布端接收预设数目的节点在加入网络训练后传输的预设数目的权重密文,在预设数目的权重密文中提取预设数目的权重数据。在本申请实施例中,由于加入到网络训练中的预设数目的节点中的每个节点均会将自身权重数据加密后的权重密文传输给发布端,因此,发布端会接收到预设数目的权重密文,这样,发布端便需要在预设数目的权重密文中提取预设数目的权重数据。其中,对于预设数目的权重密文中的任一权重密文,由于该权重密文是由发送该权重密文的节点采用自身的节点私钥进行签名后生成的,只有基于该节点的节点公钥才能对权重密文进行解密,因此,首先,需要确定发送权重密文的目标节点以及目标节点的节点公钥;随后,采用节点公钥对权重密文进行签名,达到对权重密文解密的目的,从而得到该权重密文中包括的权重数据。由于发布端接收到预设数目的节点发送的权重密文,因此,重复执行上述对权重密文进行签名的过程,发布端便可以得到预设数目的节点的权重数据。
208、发布端基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块,将待写入区块添加至发布端区块链中。在本申请实施例中,当发布端得到了整个网络训练中每个节点的权重数据后,便可以生成待写入区块,基于待写入区块记录整个网络训练的权重数据。其中,为了使待写入数据中包括的数据更加完整且具体,在生成待写入区块时,还可以将训练参数、结果字符串以及预设数目的认领凭证一起写入待写入区块中。其中,预设数目的认领凭证可以以凭证列表的形式写入,也即生成包括预设数目的认领凭证以及节点之间对应关系的凭证列表,将凭证列表写入待写入区块。当生成了待写入区块后,发布端便可以将该待写入区块添加至自身的发布端区块链中。在实际应用的过程中,发布端发布的网络训练的内容通常是关乎业务的,而业务中会涉及到账本内容,这样,在生成待写入区块时,还可以将业务中的账本内容一同写入待写入区块中。本申请实施例对待写 入区块包括的内容不进行具体限定。
209、发布端采用发布端私钥对待写入区块进行签名验证,得到待广播区块,将待广播区块广播至预设数目的节点。在本申请实施例中,当生成了待写入区块后,为了使网络训练涉及到的全部节点的区块链中均可以添加该待写入区块,从而保证每个节点的区块链中的数据一致,发布端需要将待写入区块广播给每一个节点,以使每一个节点均将该待写入区块添加至区块链中。其中,在将待写入区块广播至每一个节点时,为了防止恶意节点盗取待写入模块中的数据,发布端可以采用自身的发布端私钥对待写入区块进行签名验证,得到待广播区块,并将该待广播区块广播至网络训练中的预设数目的节点中,以使每一个节点均可以将该待广播区块添加到自身的节点区块链中,同时还避免待写入区块中的数据被盗取。
210、节点接收发布端广播的待广播区块,将待广播区块添加至节点区块链中。在本申请实施例中,当节点接收到发布端广播的待广播区块后,便可以将该待广播区块添加至自身的节点区块链中,从而保证与发布端的发布端区块链中的数据保持一致。本申请实施例提供的方法,采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串,并对结果字符串进行分割,得到预设数目的字符串分段,以便当接收到预设数目的认领凭证时,启动网络训练,将预设数目的节点加入网络训练,获取预设数目的节点在加入网络训练后传输的预设数目的权重数据,基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块,使得通过认领凭证,将哈希算力最好的节点加入到网络训练中,避免节点的哈希计算的算力被浪费,保证生成区块的节点是区块链中哈希算力最好的节点。
进一步地,作为图1方法的具体实现,本申请实施例提供了一种区块链的区块生成装置,如图3A所示,装置包括:处理模块301,分割模块302,启动模块303和第一生成模块304。
该处理模块301,用于采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串;该分割模块302,用于对结果字符串进行分割,得到预设数目的字符串分段;该启动模块303,用于当接收到预设数目的认领凭证时,启动网络训练,将预设数目的节点加入网络训练,预设数目的节点为发送预设数目的认领凭证的节点;该第一生成模块304,用于获取预设数目的节点在加入网络训练后传输的预设数目的权重数据,基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块。
在具体的应用场景中,如图3B所示,该装置还包括:分配模块305,第二生成模块306和传输模块307。
该分配模块305,用于为预设数目的节点分配在网络训练中的位置;该第二生成模块306,用于根据预设数目的节点在网络训练中的位置,生成预设数目的节点之间的连接关系;该传输模块307,用于将连接关系传输至预设数目的节点中的每一个节点。
在具体的应用场景中,如图3C所示,该第一生成模块304,包括接收子模块3041,确 定子模块3042和签名子模块3043。
该接收子模块3041,用于接收预设数目的节点在加入网络训练后传输的预设数目的权重密文,权重密文由节点采用节点私钥对权重数据签名生成;该确定子模块3042,用于对于预设数目的权重密文中的任一权重密文,确定发送权重密文的目标节点以及目标节点的节点公钥;该签名子模块3043,用于采用节点公钥对权重密文进行签名,得到目标节点的权重数据;该确定子模块3042,还用于重复执行上述对权重密文进行签名的过程,得到预设数目的权重数据。
在具体的应用场景中,如图3D所示,该装置还包括广播模块308。
该广播模块308,用于采用发布端私钥对待写入区块进行签名验证,得到待广播区块,将待广播区块广播至预设数目的节点。
本申请实施例提供的区块链的区块生成装置,可以采用签名算法,对训练参数进行摘要签名处理,生成训练参数的结果字符串,并对结果字符串进行分割,得到预设数目的字符串分段,以便当接收到预设数目的认领凭证时,启动网络训练,将预设数目的节点加入网络训练,获取预设数目的节点在加入网络训练后传输的预设数目的权重数据,基于预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证,生成待写入区块,使得通过认领凭证,将哈希算力最好的节点加入到网络训练中,避免节点的哈希计算的算力被浪费,保证生成区块的节点是区块链中哈希算力最好的节点。
进一步地,作为图1方法的具体实现,本申请实施例提供了一种区块链的区块生成装置,如图4A所示,装置包括:获取模块401,计算模块402和传输模块403。
该获取模块401,用于在预设数目的字符串分段中获取目标字符串分段,预设数目的字符串分段为发布端对结果字符串分割生成并发布的,结果字符串由发布端对训练参数进行摘要签名处理生成,目标字符串分段为预设数目的字符串分段中的任一字符串分段;该计算模块402,用于基于哈希算法,对目标字符串分段进行计算,生成认领凭证,将认领凭证返回至发布端;该传输模块403,用于当检测到加入网络训练时,确定在网络训练中的权重数据,将权重数据传输至发布端,网络训练由发布端在接收到预设数目的认领凭证后启动的。
在具体的应用场景中,如图4B所示,该传输模块403,包括接收子模块4031,生成子模块4032和传输子模块4033。
该接收子模块4031,用于当检测到加入网络训练时,接收发布端传输的连接关系,连接关系为发布端在启动网络训练后根据预设数目的节点在网络训练中的位置生成的;该生成子模块4032,用于基于连接关系以及网络训练中包括的节点的节点个数,生成在网络训练中的权重数据;该传输子模块4033,用于采用节点私钥对权重数据进行签名,生成携带权重数据的权重密文,将权重密文传输至发布端。
在具体的应用场景中,如图4C所示,该装置还包括接收模块404和添加模块405。
该接收模块404,用于接收发布端广播的待广播区块,待广播区块由发布端生成待写入区块,并对待写入区块进行签名验证得到的,待写入区块由发布端在接收到预设数目的权重数据后,根据预设数目的权重数据、训练参数、结果字符串以及预设数目的认领凭证生成的;该添加模块405,用于将待广播区块添加至节点区块链中。
本申请实施例提供的区块链的区块生成装置,可以在预设数目的字符串分段中获取目标字符串分段,基于哈希算法,对所述目标字符串分段进行计算,生成认领凭证,将所述认领凭证返回至所述发布端,并当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,使得通过认领凭证,将哈希算力最好的节点加入到网络训练中,避免节点的哈希计算的算力被浪费,保证生成区块的节点是区块链中哈希算力最好的节点。
需要说明的是,本申请实施例提供的一种区块链的区块生成装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。在示例性实施例中,还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现所述区块链的区块生成方法的步骤。一种非易失性可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现所述的区块链的区块生成方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (20)
- 一种区块链的区块生成方法,其特征在于,包括:采用签名算法,对训练参数进行摘要签名处理,生成所述训练参数的结果字符串;对所述结果字符串进行分割,得到预设数目的字符串分段;当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练,所述预设数目的节点为发送所述预设数目的认领凭证的节点;获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,基于所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证,生成待写入区块。
- 根据权利要求1所述的方法,其特征在于,所述当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练之后,所述方法还包括:为所述预设数目的节点分配在所述网络训练中的位置;根据所述预设数目的节点在所述网络训练中的位置,生成所述预设数目的节点之间的连接关系;将所述连接关系传输至所述预设数目的节点中的每一个节点。
- 根据权利要求1所述的方法,其特征在于,所述获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,包括:接收所述预设数目的节点在加入所述网络训练后传输的预设数目的权重密文,所述权重密文由节点采用节点私钥对权重数据签名生成;对于所述预设数目的权重密文中的任一权重密文,确定发送所述权重密文的目标节点以及所述目标节点的节点公钥;采用所述节点公钥对所述权重密文进行签名,得到所述目标节点的权重数据;重复执行上述对权重密文进行签名的过程,得到所述预设数目的权重数据。
- 根据权利要求1所述的方法,其特征在于,所述获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,基于所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证,生成待写入区块之后,所述方法还包括:采用发布端私钥对所述待写入区块进行签名验证,得到待广播区块,将所述待广播区块广播至所述预设数目的节点。
- 一种区块链的区块生成方法,其特征在于,包括:在预设数目的字符串分段中获取目标字符串分段,所述预设数目的字符串分段为发布端对结果字符串分割生成并发布的,所述结果字符串由所述发布端对训练参数进行摘要签名处理生成,所述目标字符串分段为所述预设数目的字符串分段中的任一字符串分段;基于哈希算法,对所述目标字符串分段进行计算,生成认领凭证,将所述认领凭证返回 至所述发布端;当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,所述网络训练由所述发布端在接收到预设数目的认领凭证后启动的。
- 根据权利要求5所述的方法,其特征在于,所述当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,包括:当检测到加入所述网络训练时,接收所述发布端传输的连接关系,所述连接关系为所述发布端在启动网络训练后根据预设数目的节点在所述网络训练中的位置生成的;基于所述连接关系以及所述网络训练中包括的节点的节点个数,生成在所述网络训练中的权重数据;采用节点私钥对所述权重数据进行签名,生成携带所述权重数据的权重密文,将所述权重密文传输至所述发布端。
- 根据权利要求5所述的方法,其特征在于,所述当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端之后,所述方法还包括:接收所述发布端广播的待广播区块,所述待广播区块由所述发布端生成待写入区块,并对所述待写入区块进行签名验证得到的,所述待写入区块由所述发布端在接收到预设数目的权重数据后,根据所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证生成的;将所述待广播区块添加至节点区块链中。
- 一种区块链的区块生成装置,其特征在于,包括:处理模块,用于采用签名算法,对训练参数进行摘要签名处理,生成所述训练参数的结果字符串;分割模块,用于对所述结果字符串进行分割,得到预设数目的字符串分段;启动模块,用于当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练,所述预设数目的节点为发送所述预设数目的认领凭证的节点;第一生成模块,用于获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,基于所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证,生成待写入区块。
- 根据权利要求8所述的装置,其特征在于,所述装置还包括:分配模块,用于为所述预设数目的节点分配在所述网络训练中的位置;第二生成模块,用于根据所述预设数目的节点在所述网络训练中的位置,生成所述预设数目的节点之间的连接关系;传输模块,用于将所述连接关系传输至所述预设数目的节点中的每一个节点。
- 根据权利要求8所述的装置,其特征在于,所述第一生成模块,包括:接收子模块,用于接收所述预设数目的节点在加入所述网络训练后传输的预设数目的权重密文,所述权重密文由节点采用节点私钥对权重数据签名生成;确定子模块,用于对于所述预设数目的权重密文中的任一权重密文,确定发送所述权重密文的目标节点以及所述目标节点的节点公钥;签名子模块,用于采用所述节点公钥对所述权重密文进行签名,得到所述目标节点的权重数据;所述确定子模块,还用于重复执行上述对权重密文进行签名的过程,得到所述预设数目的权重数据。
- 根据权利要求8所述的装置,其特征在于,所述装置还包括:广播模块,用于采用发布端私钥对所述待写入区块进行签名验证,得到待广播区块,将所述待广播区块广播至所述预设数目的节点。
- 一种区块链的区块生成装置,其特征在于,包括:获取模块,用于在预设数目的字符串分段中获取目标字符串分段,所述预设数目的字符串分段为发布端对结果字符串分割生成并发布的,所述结果字符串由所述发布端对训练参数进行摘要签名处理生成,所述目标字符串分段为所述预设数目的字符串分段中的任一字符串分段;计算模块,用于基于哈希算法,对所述目标字符串分段进行计算,生成认领凭证,将所述认领凭证返回至所述发布端;传输模块,用于当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,所述网络训练由所述发布端在接收到预设数目的认领凭证后启动的。
- 根据权利要求12所述的装置,其特征在于,所述传输模块,包括:接收子模块,用于当检测到加入所述网络训练时,接收所述发布端传输的连接关系,所述连接关系为所述发布端在启动网络训练后根据预设数目的节点在所述网络训练中的位置生成的;生成子模块,用于基于所述连接关系以及所述网络训练中包括的节点的节点个数,生成在所述网络训练中的权重数据;传输子模块,用于采用节点私钥对所述权重数据进行签名,生成携带所述权重数据的权重密文,将所述权重密文传输至所述发布端。
- 根据权利要求12所述的装置,其特征在于,所述装置还包括:接收模块,用于接收所述发布端广播的待广播区块,所述待广播区块由所述发布端生成待写入区块,并对所述待写入区块进行签名验证得到的,所述待写入区块由所述发布端在接收到预设数目的权重数据后,根据所述预设数目的权重数据、所述训练参数、所述结果字符 串以及所述预设数目的认领凭证生成的;添加模块,用于将所述待广播区块添加至节点区块链中。
- 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现区块链的区块生成方法,包括:采用签名算法,对训练参数进行摘要签名处理,生成所述训练参数的结果字符串;对所述结果字符串进行分割,得到预设数目的字符串分段;当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练,所述预设数目的节点为发送所述预设数目的认领凭证的节点;获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,基于所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证,生成待写入区块。
- 根据权利要求15所述的计算机设备,其特征在于,所述当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练之后,所述方法还包括:为所述预设数目的节点分配在所述网络训练中的位置;根据所述预设数目的节点在所述网络训练中的位置,生成所述预设数目的节点之间的连接关系;将所述连接关系传输至所述预设数目的节点中的每一个节点。
- 一种非易失性可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现区块链的区块生成方法,包括:采用签名算法,对训练参数进行摘要签名处理,生成所述训练参数的结果字符串;对所述结果字符串进行分割,得到预设数目的字符串分段;当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练,所述预设数目的节点为发送所述预设数目的认领凭证的节点;获取所述预设数目的节点在加入所述网络训练后传输的预设数目的权重数据,基于所述预设数目的权重数据、所述训练参数、所述结果字符串以及所述预设数目的认领凭证,生成待写入区块。
- 根据权利要求17所述的计算机非易失性可读存储介质,其特征在于,所述当接收到所述预设数目的认领凭证时,启动网络训练,将预设数目的节点加入所述网络训练之后,所述方法还包括:为所述预设数目的节点分配在所述网络训练中的位置;根据所述预设数目的节点在所述网络训练中的位置,生成所述预设数目的节点之间的连接关系;将所述连接关系传输至所述预设数目的节点中的每一个节点。
- 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现区块链的区块生成方法,包括:在预设数目的字符串分段中获取目标字符串分段,所述预设数目的字符串分段为发布端对结果字符串分割生成并发布的,所述结果字符串由所述发布端对训练参数进行摘要签名处理生成,所述目标字符串分段为所述预设数目的字符串分段中的任一字符串分段;基于哈希算法,对所述目标字符串分段进行计算,生成认领凭证,将所述认领凭证返回至所述发布端;当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,所述网络训练由所述发布端在接收到预设数目的认领凭证后启动的。
- 一种非易失性可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现区块链的区块生成方法,包括:在预设数目的字符串分段中获取目标字符串分段,所述预设数目的字符串分段为发布端对结果字符串分割生成并发布的,所述结果字符串由所述发布端对训练参数进行摘要签名处理生成,所述目标字符串分段为所述预设数目的字符串分段中的任一字符串分段;基于哈希算法,对所述目标字符串分段进行计算,生成认领凭证,将所述认领凭证返回至所述发布端;当检测到加入网络训练时,确定在所述网络训练中的权重数据,将所述权重数据传输至所述发布端,所述网络训练由所述发布端在接收到预设数目的认领凭证后启动的。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811326048.6 | 2018-11-08 | ||
| CN201811326048.6A CN109698750B (zh) | 2018-11-08 | 2018-11-08 | 区块链的区块生成方法、装置、设备及可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020093609A1 true WO2020093609A1 (zh) | 2020-05-14 |
Family
ID=66229784
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/073298 Ceased WO2020093609A1 (zh) | 2018-11-08 | 2019-01-27 | 区块链的区块生成方法、装置、设备及非易失性可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN109698750B (zh) |
| WO (1) | WO2020093609A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112531891A (zh) * | 2020-11-19 | 2021-03-19 | 辽宁东科电力有限公司 | 一种基于区块链的输电线路在线监测系统参数数据处理与定位方法 |
| CN114760157A (zh) * | 2022-06-16 | 2022-07-15 | 天津市城市规划设计研究总院有限公司 | 城市规划领域区块链节点合法性验证方法及系统 |
| CN120200830A (zh) * | 2025-04-25 | 2025-06-24 | 北京美创美利科技有限公司 | 一种基于区块链存证的工业互联网加密方法及系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105630609A (zh) * | 2016-02-24 | 2016-06-01 | 杭州复杂美科技有限公司 | 区块链的打包存储方法 |
| CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
| CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
| CN107330581A (zh) * | 2017-06-08 | 2017-11-07 | 上海交通大学 | 基于区块链的农产品质量信息系统 |
| CN108241968A (zh) * | 2017-03-26 | 2018-07-03 | 杭州复杂美科技有限公司 | 前置机参与区块链共识的方法 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9973341B2 (en) * | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
| CN108255590B (zh) * | 2017-12-07 | 2021-07-30 | 深圳比特微电子科技有限公司 | 一种数据流控制方法和装置 |
| CN108428136B (zh) * | 2018-02-28 | 2020-09-01 | 浙江麦知网络科技有限公司 | 电动汽车信息认证方法 |
| CN108712486B (zh) * | 2018-05-11 | 2021-10-08 | 北京奇虎科技有限公司 | 工作量证明方法及装置 |
-
2018
- 2018-11-08 CN CN201811326048.6A patent/CN109698750B/zh active Active
-
2019
- 2019-01-27 WO PCT/CN2019/073298 patent/WO2020093609A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
| CN105630609A (zh) * | 2016-02-24 | 2016-06-01 | 杭州复杂美科技有限公司 | 区块链的打包存储方法 |
| CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
| CN108241968A (zh) * | 2017-03-26 | 2018-07-03 | 杭州复杂美科技有限公司 | 前置机参与区块链共识的方法 |
| CN107330581A (zh) * | 2017-06-08 | 2017-11-07 | 上海交通大学 | 基于区块链的农产品质量信息系统 |
Non-Patent Citations (2)
| Title |
|---|
| PAN, CHEN ET AL.: "Research on Scalability of Blockchain Technology: Problems and Methods", JOURNAL OF COMPUTER RESEARCH AND DEVELOPMENT, vol. 55, no. 10, 31 October 2018 (2018-10-31), ISBN: 1000-1239 * |
| SATOSHI NAKAMOTO: "A Peer-to-Peer Electronic Cash System", BITCOIN, 31 October 2008 (2008-10-31), XP055532810 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112531891A (zh) * | 2020-11-19 | 2021-03-19 | 辽宁东科电力有限公司 | 一种基于区块链的输电线路在线监测系统参数数据处理与定位方法 |
| CN114760157A (zh) * | 2022-06-16 | 2022-07-15 | 天津市城市规划设计研究总院有限公司 | 城市规划领域区块链节点合法性验证方法及系统 |
| CN114760157B (zh) * | 2022-06-16 | 2022-09-16 | 天津市城市规划设计研究总院有限公司 | 城市规划领域区块链节点合法性验证方法及系统 |
| CN120200830A (zh) * | 2025-04-25 | 2025-06-24 | 北京美创美利科技有限公司 | 一种基于区块链存证的工业互联网加密方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109698750A (zh) | 2019-04-30 |
| CN109698750B (zh) | 2021-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10977362B2 (en) | Program execution and data proof scheme using multiple key pair signatures | |
| JP6865850B2 (ja) | 高度に利用可能な信頼できる実行環境を使用してブロックチェーンネットワークに対するアクセスデータを取得すること | |
| US11451614B2 (en) | Cloud authenticated offline file sharing | |
| US10135616B2 (en) | Revocation of cryptographic keys in the absence of a trusted central authority | |
| EP2491672B1 (en) | Low-latency peer session establishment | |
| CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
| CN107592202B (zh) | 应用签名方法、装置、系统、计算设备及存储介质 | |
| WO2018112940A1 (zh) | 区块链节点的业务执行方法、装置及节点设备 | |
| WO2018145605A1 (zh) | 鉴权方法及服务器、访问控制装置 | |
| CN107294729A (zh) | 区块链中不同节点之间的通信方法及装置 | |
| CN111193755B (zh) | 数据访问、数据加密方法及数据加密与访问系统 | |
| CN110177124A (zh) | 基于区块链的身份认证方法及相关设备 | |
| WO2019110018A1 (zh) | 通信网络系统的消息验证方法、通信方法和通信网络系统 | |
| WO2021042851A1 (zh) | 区块链中数据签名的方法、装置、计算机设备及存储介质 | |
| CN115396153A (zh) | 一种数据通信方法、计算机设备及存储介质 | |
| EP4252384B1 (en) | Methods, devices and system related to a distributed ledger and user identity attribute | |
| CN112926983A (zh) | 一种基于区块链的存证交易加密系统及方法 | |
| WO2020093609A1 (zh) | 区块链的区块生成方法、装置、设备及非易失性可读存储介质 | |
| CN111817860B (zh) | 一种通信认证方法、装置、设备及存储介质 | |
| US11139982B2 (en) | Communication-efficient device delegation | |
| US12506590B2 (en) | Methods for trusted platform module based secure device enrollment in cloud services for managed devices | |
| CN120162831B (zh) | 一种访问控制方法、访问控制系统及计算机可读存储介质 | |
| CN115604712A (zh) | 面向5g环境的云存储数据完整性审计方法及装置 | |
| CN115694843A (zh) | 避免仿冒的摄像机接入管理方法、系统、设备和介质 | |
| HK40045913B (zh) | 部署合约的方法及装置 |
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: 19882713 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 06.08.2021) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19882713 Country of ref document: EP Kind code of ref document: A1 |