Blockchain-based Software Serial Number Management Method and Device
By managing software serial numbers on the blockchain, the problem of leaking and piracy of serial numbers during multi-party transactions is solved, and the transparency, immutability and disclosure of serial numbers are realized, and management effectiveness and user confidence are improved.
Patent Information
- Application Number
- CN201910918554.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-09-26
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2040-05-09
AI Technical Summary
In the prior art, software serial numbers are easily leaked during multi-party transactions, resulting in illegal manufacturers producing pirated serial numbers, making it difficult for users to ensure the validity of the serial numbers.
The blockchain-based software serial number management method is adopted, and the serial number block is verified and generated by obtaining the serial number of the target proxy object, and adding it to the software blockchain to ensure that the serial number is transparent, tamper-proof and public.
It improves the effectiveness of software serial number management, ensures the accuracy, credibility and traceability of serial number, prevents pirated production, and enhances users' confidence in the effectiveness of serial number.
Smart Images

Figure CN110598377B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of Internet technology, and in particular to a software serial number management method and device based on blockchain. Background Art
[0002] With the rapid development of Internet technology, there are more and more application software, and users use application software more and more frequently. For each application software, the manufacturer can generate multiple genuine serial numbers corresponding to the application software. Only when the user holds the genuine serial number of the application software can he legally use the application software.
[0003] In the existing serial number sales process, after the manufacturer generates multiple genuine serial numbers corresponding to the application software, it can sell the genuine serial numbers to agents for sale, and then sell the genuine serial numbers to users or enterprises. Since the sales process of genuine serial numbers involves multiple parties, it is easy to cause the genuine serial numbers to be leaked during the circulation process, providing illegal manufacturers with opportunities to produce pirated serial numbers. When a user purchases the serial number of the application software, it is difficult to ensure the validity of the serial number due to the liquidity between multiple parties. Summary of the invention
[0004] The embodiments of the present application provide a software serial number management method and device based on blockchain, which can improve the effectiveness of software serial number management.
[0005] On the one hand, an embodiment of the present application provides a software serial number management method based on blockchain, including:
[0006] Obtain a serial number upload request corresponding to a target proxy object, and obtain the to-be-uploaded data corresponding to the target proxy object based on the serial number upload request; the to-be-uploaded data includes target object information, source object information, software information, and target serial number information corresponding to the target proxy object;
[0007] When it is detected that the target serial number information is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, a serial number block is generated based on the data to be uploaded to the chain, and the serial number block is added to the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information.
[0008] Wherein, the method further comprises:
[0009] Based on the source object information in the data to be uploaded to the chain, acquiring an associated proxy object associated with the source object information;
[0010] Acquire the associated sequence number information from the on-chain data corresponding to the associated proxy object, and add the associated sequence number information to the sequence number set;
[0011] When there is associated serial number information in the serial number set that is identical to the target serial number information, it is confirmed that the serial number uplink request is illegal, and an abnormal prompt message is sent to the terminal device corresponding to the target proxy object.
[0012] Wherein, the method further comprises:
[0013] Based on the target sequence number information in the data to be uploaded to the chain, all blocks included in the software blockchain are traversed;
[0014] If the target serial number information does not exist in the software blockchain, the target serial number information is determined to be an abnormal serial number, the serial number on-chain request is determined to be illegal, and an abnormal prompt information is sent to the terminal device corresponding to the target proxy object.
[0015] The step of generating a sequence number block based on the data to be uploaded to the blockchain and adding the sequence number block to the software blockchain includes:
[0016] Based on the key corresponding to the target proxy object, verify the signature of the data to be uploaded to the chain;
[0017] When the signature verification of the data to be uploaded is passed, the target object information, the source object information, the software information and the target serial number information are packaged into the serial number block;
[0018] The serial number block is verified according to the consensus mechanism, and the verified serial number block is added to the software blockchain.
[0019] The step of verifying the signature of the data to be uploaded to the chain based on the key corresponding to the target proxy object includes:
[0020] Decrypting the digital signature carried by the data to be uploaded to the chain based on the key, and obtaining a first hash value corresponding to the digital signature;
[0021] Performing a hash operation on the data to be uploaded to the chain based on a hash operation to generate a second hash value corresponding to the data to be uploaded to the chain;
[0022] If it is detected that the first hash value is the same as the second hash value, it is determined that the signature verification of the data to be uploaded to the chain has passed.
[0023] Wherein, the method further comprises:
[0024] Obtaining an on-chain request carrying software data to be on-chain associated with a source object; the software data to be on-chain includes the source object information, the software information, and a sequence number set;
[0025] The source object information, the software information and the serial number set are packaged into a history block, and the history block is added to the software blockchain; the serial number set includes the target serial number information.
[0026] Wherein, the method further comprises:
[0027] When receiving a serial number query request for the target serial number information sent by the requesting terminal, obtaining an associated block corresponding to the target serial number information from the software blockchain based on the serial number query request; the associated block includes the serial number block;
[0028] A flow track corresponding to the target serial number information is generated based on the associated block, production object information corresponding to the target serial number information is determined based on the flow track, and the production object information is sent back to the requesting terminal as a query result.
[0029] On the one hand, an embodiment of the present application provides a software serial number management device based on blockchain, including:
[0030] An acquisition module is used to acquire a serial number on-chain request corresponding to a target proxy object, and acquire the to-be-on-chain data corresponding to the target proxy object based on the serial number on-chain request; the to-be-on-chain data includes target object information, source object information, software information and target serial number information corresponding to the target proxy object;
[0031] The first on-chain module is used to generate a sequence number block based on the data to be on-chain, and add the sequence number block to the software blockchain when it is detected that the target sequence number information is different from the associated sequence number information corresponding to the associated proxy object and the target sequence number information exists in the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information.
[0032] Wherein, the device further comprises:
[0033] An associated object acquisition module, configured to acquire an associated proxy object associated with the source object information based on the source object information in the data to be uploaded to the chain;
[0034] A sequence number adding module, used to obtain the associated sequence number information from the on-chain data corresponding to the associated proxy object, and add the associated sequence number information to the sequence number set;
[0035] The comparison module is used to confirm that the serial number uplink request is illegal when there is associated serial number information in the serial number set that is the same as the target serial number information, and send an abnormal prompt message to the terminal device corresponding to the target proxy object.
[0036] Wherein, the device further comprises:
[0037] A traversal module, used to traverse all blocks included in the software blockchain based on the target sequence number information in the data to be uploaded;
[0038] The detection module is used to determine the target sequence number information as an abnormal sequence number if the target sequence number information does not exist in the software blockchain, determine that the sequence number chain request is illegal, and send an abnormal prompt information to the terminal device corresponding to the target proxy object.
[0039] Wherein, the first uplink module includes:
[0040] A signature verification unit, used to verify the signature of the data to be uploaded to the chain based on the key corresponding to the target proxy object;
[0041] A block packaging unit, configured to package the target object information, the source object information, the software information and the target serial number information into the serial number block when the signature verification of the data to be uploaded is passed;
[0042] A verification unit is used to verify the serial number block according to a consensus mechanism, and add the verified serial number block to the software blockchain.
[0043] The signature verification unit includes:
[0044] A decryption subunit, configured to decrypt the digital signature carried by the data to be uploaded to the chain based on the key, and obtain a first hash value corresponding to the digital signature;
[0045] A hash operation subunit, configured to perform a hash operation on the data to be uploaded to the chain based on a hash operation to generate a second hash value corresponding to the data to be uploaded to the chain;
[0046] The judgment subunit is used to determine that the signature verification of the data to be uploaded to the chain has passed if it is detected that the first hash value is the same as the second hash value.
[0047] Wherein, the device further comprises:
[0048] An on-chain request acquisition module, used to acquire an on-chain request carrying software data to be on-chain associated with a source object; the software data to be on-chain includes the source object information, the software information and a sequence number set;
[0049] The second on-chain module is used to package the source object information, the software information and the serial number set into a historical block, and add the historical block to the software blockchain; the serial number set includes the target serial number information.
[0050] Wherein, the device further comprises:
[0051] a query request acquisition module, configured to, when receiving a sequence number query request for the target sequence number information sent by a request terminal, acquire an associated block corresponding to the target sequence number information from the software blockchain based on the sequence number query request; the associated block includes the sequence number block;
[0052] A query module is used to generate a flow trajectory corresponding to the target serial number information based on the associated block, determine the production object information corresponding to the target serial number information based on the flow trajectory, and send the production object information as a query result to the requesting terminal.
[0053] On one hand, an embodiment of the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the method described in one aspect of the embodiment of the present application.
[0054] On the one hand, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program includes program instructions, and when the program instructions are executed by a processor, the steps of the method described in one aspect of the embodiment of the present application are executed.
[0055] The embodiment of the present application can obtain the data to be chained corresponding to the target proxy object, and the data to be chained includes the target object information, source object information, software information and target serial number information corresponding to the target proxy object. When it is detected that the target serial number information is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, a serial number block is generated according to the data to be chained, and the serial number block is added to the software blockchain. The target proxy object and the associated proxy object are both associated with the source object information. Due to the decentralization and immutability of the blockchain, the software serial number information is open and transparent to the management node with query authority, which improves the accuracy, credibility and traceability of the software serial number information record. All software serial numbers produced by the manufacturer and the flow process of the software serial number can be recorded in the software blockchain, which can improve the effectiveness of software serial number management. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0057] Figure 1 This is a schematic diagram of a software serial number chaining scenario provided in an embodiment of the present application;
[0058] Figure 2 It is a flowchart of a software serial number management method based on blockchain provided in an embodiment of the present application;
[0059] Figure 3 This is a schematic diagram of signature verification of data to be uploaded to the chain provided by an embodiment of the present invention;
[0060] Figure 4 It is a flowchart of another software serial number management method based on blockchain provided in an embodiment of the present application;
[0061] Figure 5 This is a schematic diagram of a scenario for querying a serial number provided in an embodiment of the present application;
[0062] Figure 6 It is a structural diagram of a software serial number management device based on blockchain provided in an embodiment of the present application;
[0063] Figure 7 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0064] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0065] Explanation of related technical terms in the embodiments of the present application: A software serial number refers to an identification code (similar to a person's ID number) consisting of a string of numbers, letters or other symbols that is generated by encrypted calculation based on the computer hardware information on which the user software is installed. Normally, the corresponding software serial number needs to be entered during the initial installation of the software before the software can be verified as genuine. At the same time, only after the software has passed the genuine verification can the various functions of the genuine software be realized, and the user can normally install and use the software and obtain upgrade services. In other words, the software serial number can be understood as a technical protection measure taken to prevent piracy, and the copyright owner can control the validity period of the software through the serial number.
[0066] Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission (P2P transmission), consensus mechanism, encryption algorithm, etc. It is essentially a decentralized database; blockchain can be composed of multiple serial transaction records (also known as blocks) that are connected and protected by cryptography. The distributed ledger connected by blockchain allows multiple parties to effectively record transactions and can permanently check the transaction (cannot be tampered with). Among them, the consensus mechanism refers to the mathematical algorithm that enables different nodes in the blockchain network to establish trust and obtain rights and interests; in other words, the consensus mechanism is a mathematical algorithm recognized by all network nodes of the blockchain.
[0067] See also Figure 1 , is a schematic diagram of a software serial number chaining scenario provided by an embodiment of the present application. Figure 1 As shown, the server 10c can be represented as any blockchain node in the blockchain network, and the terminal device 10a, the terminal device 10d and the terminal device 10f can all be represented as user terminals corresponding to the agent. The terminal device 10a, the terminal device 10d and the terminal device 10f can all send the serial number information purchased by the agent to the blockchain node in the blockchain network, such as the server 10c. When the agent A purchases the serial number 1 of the software A from the manufacturer A, the terminal device 10a corresponding to the agent A can package the purchased serial number 1 (which can be called the target serial number information), the software A to which the serial number 1 belongs (which can be called the software information), the manufacturer A of the serial number 1 (which can be called the source object information) and the agent A (which can be called the target object information) into the data to be uploaded to the chain 10b, and send a data upload request to the server 10c, and the data upload request can carry the data to be uploaded to the chain 10b.
[0068] After receiving the data 10b to be uploaded to the chain uploaded by the terminal device 10a, the server 10c can determine all the associated agents associated with the agent A based on the source object information in the data 10b to be uploaded to the chain, that is, determine the remaining agents that have transaction records with the manufacturer A, such as agent B, agent C, etc.; then the server 10c can obtain the data uploaded to the server 10c by all the associated agents, such as the data 10e uploaded by the terminal device 10d corresponding to the agent B, the data 10g uploaded by the terminal device 10g corresponding to the agent C, and so on; obtain the corresponding serial number information from the data uploaded by all the associated agents, that is, the serial number information obtained from the data 10e is serial number 2, the serial number information obtained from the data 10g is serial number n, and so on. Compare the serial number 1 in the data to be uploaded 10b with the serial number information uploaded by all associated agents. If the serial number information uploaded by all associated agents already has serial number 1, it means that the serial number 1 uploaded by agent A has been given to other agents by manufacturer A, that is, agent A does not have the authority to own serial number 1. It directly sends a serial number abnormality prompt message to the terminal device 10a and stops executing the subsequent steps. If the serial number information uploaded by all associated agents is different from serial number 1, it means that serial number 1 is only assigned to agent A, and then the subsequent steps can be continued. At the same time, after receiving the data to be uploaded 10b uploaded by the terminal device 10a, the server 10c can also read all the data stored in the software blockchain 10h to detect whether the serial number 1 exists in the software blockchain 10h. If the software blockchain 10h has serial number 1, and the serial number information uploaded by all associated agents is different from serial number 1, the data to be uploaded 10b can be packaged into a serial number block 10i, and after the consensus on serial number 10i is reached, the serial number block 10i can be added to the software blockchain 10h. The software blockchain 10h can record all serial number information produced by the manufacturer and the flow process of the serial number information.
[0069] It should be noted that the same manufacturer can produce multiple serial numbers, and the manufacturer can upload all serial numbers carrying the manufacturer's information to the blockchain network so that the blockchain network can record the serial numbers it produces. Subsequently, the manufacturer can sell the serial numbers it produces to multiple agents. After receiving the serial numbers sold by the manufacturer, the agents can also upload the serial numbers carrying the agent information and the manufacturer information to the chain. It should be understood that the same serial number for the same software cannot be sold repeatedly to multiple agents. Therefore, before the serial number information is uploaded to the chain, the serial number information that needs to be uploaded to the chain needs to be tested. Only when the other agents have not purchased the serial number information and the serial number information is indeed produced by the manufacturer, can the serial number information be uploaded to the chain.
[0070] Among them, the terminal device 10a, the terminal device 10d and the terminal device 10f can all include mobile phones, tablet computers, laptop computers, PDAs, mobile Internet devices (mobile internet devices, MIDs), wearable devices (such as smart watches, smart bracelets, etc.), etc.
[0071] See also Figure 2 , is a flowchart of a software serial number management method based on blockchain provided in an embodiment of the present application. Figure 2 As shown, the method may include:
[0072] Step S101, obtaining a serial number upload request corresponding to a target proxy object, and obtaining data to be uploaded corresponding to the target proxy object based on the serial number upload request; the data to be uploaded includes target object information, source object information, software information and target serial number information corresponding to the target proxy object;
[0073] Specifically, after the target proxy object obtains the target serial number, the terminal device corresponding to the target proxy object (corresponding to the above Figure 1 The terminal device 10a in the corresponding embodiment can upload the target object information corresponding to the target proxy object and the source object information, software information and the target serial number corresponding to the software serial number to the blockchain network, and send a serial number upload request associated with the target proxy object to the blockchain network. Figure 1 The server 10c) in the corresponding embodiment receives the above serial number uplink request and based on the serial number uplink request, uses the target object information corresponding to the target proxy object and the source object information, software information and target serial number corresponding to the software serial number as data to be uplinked.
[0074] Among them, the target agent object may refer to the user, enterprise and agent who has purchased the software serial number, and the target object information corresponding to the target agent object may be represented as the name, number and other information of the target agent object; the source object information may refer to the name, number and other information of the manufacturer and / or agent who sells the software serial number; the software information may refer to the relevant information of the software to which the serial number purchased by the target agent object belongs, such as the software name, software version number and other information; the target serial number information may refer to the serial number purchased by the target agent object from the source object and the serial number label and other information.
[0075] For example, agent A purchases serial number 1 and serial number 2 of software A from manufacturer A, and then agent A can upload the name of agent A, the name of manufacturer A, the name and version number of software A, serial number 1 and serial number 2 to the blockchain network through its terminal. After receiving the serial number chain upload request sent by the terminal device belonging to agent A, the node server can use the name of agent A, the name of manufacturer A, the name and version number of software A, serial number 1 and serial number 2 as the data to be uploaded to the chain; at this time, agent A is the target agent object, the name of agent A is the target object information, the name of manufacturer A is the source object information, the name and version number of software A is the software information, and serial number 1 and serial number 2 are the target serial number information. If agent A purchases serial number 1 and serial number 2 from manufacturer A and then sells serial number 1 to enterprise A, then enterprise A can upload the name of enterprise A, the name of agent A, the name of manufacturer A, the name and version number of software A, and serial number 1 to the blockchain network. After receiving the serial number chain upload request sent by the terminal device belonging to enterprise A, the node server can use the name of enterprise A, the name of agent A, the name of manufacturer A, the name and version number of software A, and serial number 1 as data to be uploaded to the chain; at this time, enterprise A is the target agent object, the name of enterprise A is the target object information, the name of agent A and the name of manufacturer A are the source object information, the name and version number of software A is the software information, and serial number 1 is the target serial number information.
[0076] Optionally, in order to prevent the data to be uploaded to the chain from being tampered with during the upload process (such as the data to be uploaded to the chain associated with the target proxy object is maliciously intercepted during the upload process and replaced with data corresponding to other proxy objects, etc.), the terminal device corresponding to the target proxy object can generate a digital signature corresponding to the data to be uploaded to the blockchain network before uploading the data to be uploaded to the chain, so that the node server can verify the signature of the actual received data, and then determine whether the received data is the data to be uploaded to the chain sent by the terminal device corresponding to the target proxy object. Taking the above example as an example, the process of generating a digital signature for the terminal device corresponding to the target proxy object is specifically described: Agent A purchases serial number 1 and serial number 2 of software A from manufacturer A. The terminal device corresponding to agent A can use the name of agent A, the name of manufacturer A, the name and version number of software A, serial number 1 and serial number 2 as the data to be uploaded, and use a hash algorithm (also called a hash algorithm, or a hash function, or a hash algorithm) to perform a hash operation on the data to be uploaded, and convert the data to be uploaded into a hash value of a fixed length; the terminal device corresponding to agent A can generate a key pair, which can include a public key and a private key. The terminal device can notify the public key to all blockchain nodes in the blockchain network, and manage the private key by itself. The terminal device can use the private key to encrypt the hash value converted from the data to be uploaded, obtain the digital signature corresponding to the data to be uploaded (the digital signature can be decrypted using the public key of the terminal device), and then upload the data to be uploaded carrying the digital signature to the blockchain network. Among them, the hash algorithm can compress data or messages into a summary, which can not only fix the format of the data, but also reduce the amount of data. The hash algorithm may include but is not limited to SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512. Taking the SHA-256 algorithm as an example, for data of any size, the SHA-256 algorithm can generate a 256-bit hash value, and different hash values can be generated for different data.
[0077] Optionally, in order to ensure the confidentiality of the data to be uploaded, the terminal device corresponding to the target proxy object can also use a private key to encrypt the data to be uploaded. In other words, the data to be uploaded can be a ciphertext carrying a digital signature.
[0078] Step S102: When it is detected that the target serial number information is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, a serial number block is generated based on the data to be uploaded, and the serial number block is added to the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information.
[0079] Specifically, after receiving the data to be uploaded to the chain, the node server needs to verify the data to be uploaded to the chain. Only after the data to be uploaded to the chain passes the verification can it be packaged into a sequence number block. The verification process of the data to be uploaded to the chain may include the following aspects:
[0080] On the one hand, the node server can obtain the associated proxy object associated with the source object information according to the source object information in the data to be uploaded, obtain the associated serial number information from the uploaded data corresponding to the associated proxy object, and add the acquired associated serial number information to the serial number set. When the associated serial number information in the serial number set is the same as the target serial number information in the data to be uploaded, it can be confirmed that the above serial number upload request is illegal, and then the data to be uploaded is determined as invalid data for deletion, and an abnormal prompt information is sent to the terminal device corresponding to the target proxy object, and the abnormal prompt information can be: the target serial number information has been used by other proxy objects, and the target proxy object does not have the authority to use the target serial number information. When there is no associated serial number information in the serial number set that is the same as the target serial number information, it can be determined that the target serial number information is not used by other proxy objects, and then the subsequent detection process can be performed. For example, a manufacturer can produce multiple serial numbers and sell the produced serial numbers to multiple agents. After purchasing the serial numbers, the above multiple agents can upload the purchased serial number related information to the blockchain network to request to be uploaded. When the target agent purchases a serial number (i.e., the target serial number information) from the manufacturer and requests to upload it to the chain, the node server can obtain the remaining agents (i.e., associated agent objects) who have purchased the serial number from the manufacturer, and obtain the serial numbers purchased by the remaining agents from the data uploaded by the remaining agents, and detect whether the serial number purchased by the target agent is the same as the serial number purchased by the remaining agents, that is, detect whether the manufacturer has sold the same serial number repeatedly to different agents.
[0081] On the other hand, the node server can traverse all blocks contained in the software blockchain according to the target serial number information in the data to be uploaded to the chain. When the target serial number information does not exist in the software blockchain, the target serial number information can be determined as an abnormal serial number, and then the above serial number upload request can be determined to be illegal, and the above data to be uploaded to the chain is determined to be invalid data for deletion, and an abnormal prompt message is sent to the terminal device corresponding to the target proxy object. The abnormal prompt message can be: The target serial number information is a non-genuine serial number, please purchase a genuine serial number. When the target serial number information exists in the software blockchain, it means that the target serial number information is a genuine serial number. It should be understood that all manufacturers need to upload all serial numbers produced after producing genuine serial numbers. Therefore, if the target serial number information purchased by the target proxy object is stored in the software blockchain, it means that the target serial number information is a genuine serial number. Only when the target sequence number information in the data to be uploaded to the chain satisfies the following conditions at the same time: ① the target sequence number information is different from the associated sequence number information corresponding to the associated proxy object; ② the target sequence number information is the genuine sequence number; does it indicate that the data to be uploaded to the chain meets the detection conditions, and the data to be uploaded to the chain can be packaged into a sequence number block.
[0082] On the other hand, after receiving the data to be uploaded, if the data to be uploaded carries a digital signature, the node server needs to verify the data to be uploaded. The specific verification process may include: the node server can decrypt the digital signature carried by the data to be uploaded according to the public key of the terminal device corresponding to the target proxy object, obtain the first hash value corresponding to the digital signature, and then perform a hash operation on the data to be uploaded based on the hash algorithm to generate a second hash value corresponding to the data to be uploaded. If it is detected that the first hash value is the same as the second hash value, the above-mentioned data to be uploaded is verified, and the request to upload is determined to be legal, that is, the data to be uploaded can be generated into a block, and the block after consensus is reached can be added to the software blockchain. If the digital signature carried in the data to be uploaded received by the node server is not the digital signature of the terminal device corresponding to the target proxy object, that is, the digital signature in the data to be uploaded is a digital signature generated using a fake private key, then when the node server uses the real public key for decryption, it will directly display that the decryption failed.
[0083] Please also see Figure 3 , is a schematic diagram of a signature verification of data to be uploaded to the chain provided by an embodiment of the present invention. Figure 3As shown, after the server 10c receives the data to be uploaded 20a uploaded by the terminal device corresponding to the target proxy object, it can obtain the digital signature 20b carried by the data to be uploaded 20a, and use the public key 20c corresponding to the terminal device corresponding to the target proxy object to decrypt the digital signature 20b, and obtain the hash value 1. Then the server 10c can use the hash algorithm 20d (the hash algorithm 20d is the hash algorithm used by the terminal device to generate the digital signature 20b) to perform a hash operation on the data to be uploaded 20a, and obtain the hash value 2 corresponding to the data to be uploaded 20a. If the hash value 1 is equal to the hash value 2, it means that the data to be uploaded 20a has not been tampered with during the upload process, and the signature verification passes; if the hash value 1 is not equal to the hash value 2, it means that the actual transaction data in the data to be uploaded 20a may be tampered with during the upload process, the signature verification fails, and the data to be uploaded 20a is deleted. It should be understood that before uploading the data 20a to be uploaded to the chain, the client has already notified the server 10c of the public key 20c and the hash algorithm 20d used to generate the digital signature 20b. If the data 20a to be uploaded to the chain is tampered with during the upload process, the digital signature 20b received by the server 10c is not the digital signature originally generated by the above-mentioned terminal device. When the server 10c uses the public key 20c corresponding to the above-mentioned terminal device to decrypt the digital signature 20b, it will be unable to solve the problem.
[0084] It should be noted that the detection process of whether the target serial number information mentioned above is repeated (i.e., whether the target serial number information purchased by the target proxy object is the same as the associated serial number information purchased by the associated proxy object), the detection process of whether the target serial number information is a genuine serial number (i.e., whether the target serial number information exists in the software blockchain) and the signature verification process are all verifications performed by the node server after receiving the data to be uploaded to the chain. The above three verification processes are not in chronological order. For example, after receiving the data to be uploaded to the chain, the node server can first verify the signature of the data to be uploaded to the chain. After the signature verification is passed, it can detect whether the target serial number information is a duplicate serial number. When the target serial number information is not a duplicate serial number, it can detect whether the target serial number information is a genuine serial number; it can also first detect whether the target serial number information in the data to be uploaded to the chain is a genuine serial number. When the target serial number information is a genuine serial number, it can detect whether the target serial number information is a duplicate serial number. Under the premise of non-repetition, the data to be uploaded to the chain is verified. The specific detection and verification order is not limited here. When all the verification processes meet the conditions, the node server can package the data to be uploaded into a serial number block. Of course, if any of the above-mentioned verification processes do not meet the requirements, the data to be uploaded can be determined as invalid data and deleted without further verification. For example, after receiving the data to be uploaded, the node server first verifies the signature. If the signature verification fails, the data to be uploaded is directly determined as invalid data and deleted without the need to perform the detection process of whether the target serial number information is repeated or whether the target serial number information is a genuine serial number.
[0085] When the data to be uploaded is verified, and it is detected that the target serial number information in the data to be uploaded is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, the node server can package the data to be uploaded into a serial number block, and verify the generated serial number block according to the consensus mechanism. The serial number block that passes the verification can be added to the software blockchain. The specific generation process of the serial number block may include: obtaining the generation timestamp corresponding to each block in the software blockchain, and the block with the largest generation timestamp is the latest block recorded in the software blockchain; obtaining the hash value and current time corresponding to the latest block, and generating the hash value corresponding to the data to be uploaded, based on the hash value corresponding to the latest block, the current time and the hash value corresponding to the data to be uploaded, generating the block header data in the serial number block; generating the block body data of the serial number block based on the data to be uploaded, and the serial number block can be generated according to the block header data and the block body data. The node server can broadcast the generated serial number block to the remaining blockchain nodes in the blockchain network, and parse the data to be uploaded to the chain in the serial number block through the consensus mechanism to determine whether the target object information, source object information, software information and target serial number information in the data to be uploaded to the chain are valid information, such as determining the manufacturer corresponding to the target serial number information based on the source object information, and determining whether the software information and target serial number information in the data to be uploaded to the chain are reasonable based on the manufacturer, etc. If it is determined that the data to be uploaded to the chain in the serial number block is valid data, it means that the serial number block has passed the verification, and the verification result is returned to the node server. When most of the blockchain nodes in the blockchain network (such as more than 50% of the blockchain nodes) return the verification result to the node server, it means that the serial number block has passed the verification, and the verified serial number block can be added to the software blockchain.
[0086] The embodiment of the present application can obtain the data to be chained corresponding to the target proxy object, and the data to be chained includes the target object information, source object information, software information and target serial number information corresponding to the target proxy object. When it is detected that the target serial number information is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, a serial number block is generated according to the data to be chained, and the serial number block is added to the software blockchain. The target proxy object and the associated proxy object are both associated with the source object information. Due to the decentralization and immutability of the blockchain, the software serial number information is open and transparent to the management node with query authority, which improves the accuracy, credibility and traceability of the software serial number information record. All software serial numbers produced by the manufacturer and the flow process of the software serial number can be recorded in the software blockchain, which can improve the effectiveness of software serial number management.
[0087] See also Figure 4, is a flowchart of another software serial number management method based on blockchain provided in an embodiment of the present application. Figure 4 As shown, the method may include:
[0088] Step S201, obtaining a link-up request carrying software data to be linked to a source object; the software data to be linked to the chain includes the source object information, the software information and a sequence number set;
[0089] Specifically, before obtaining the on-chain request for the serial number corresponding to the target proxy object, the node server can also receive an on-chain request carrying the software data to be on-chain associated with the source object. In other words, after the source object produces or purchases the serial number of the software, it can upload the produced or purchased serial number (i.e., the serial number set, if the source object produces or purchases 5 serial numbers, then there are 5 serial numbers in the serial number set), the software information corresponding to the serial number, and the source object information as the software data to be on-chain to the blockchain network, and the node server can obtain the above-mentioned software data to be on-chain based on the on-chain request.
[0090] Among them, in order to prevent the software data to be uploaded to the chain from being tampered with during the upload process, the terminal device corresponding to the source object can also generate a digital signature corresponding to the software data to be uploaded to the blockchain network before uploading the software data to be uploaded to the blockchain network, so that the node server can verify the signature of the actual received data, and then determine whether the received data is the software data to be uploaded to the chain sent by the source object. The process of generating a digital signature can be seen in the above Figure 2 The description of step S101 in the corresponding embodiment will not be repeated here.
[0091] Step S202, packaging the source object information, the software information and the serial number set into a history block, and adding the history block to the software blockchain; the serial number set includes the target serial number information;
[0092] Specifically, after receiving the software data to be uploaded to the chain uploaded by the terminal device corresponding to the source object, the node server can also verify the signature of the received software data to be uploaded to the chain. The signature verification process can be referred to in the above Figure 3 The corresponding embodiments are not described here. The node server can package the software data to be uploaded that has passed the signature verification into a historical block, that is, package the source object information, software information, and all serial number information in the serial number set into a historical block. The generation process of the historical block is the same as Figure 2 The generation process of the serial number block in the corresponding embodiment is similar and will not be repeated here. The serial number set refers to all serial numbers produced by the same manufacturer, and the serial number set includes target serial number information and associated serial number information.
[0093] Step S203, obtaining a serial number upload request corresponding to the target proxy object, and obtaining the to-be-uploaded data corresponding to the target proxy object based on the serial number upload request; the to-be-uploaded data includes target object information, source object information, software information and target serial number information corresponding to the target proxy object;
[0094] Step S204: when it is detected that the target sequence number information is different from the associated sequence number information corresponding to the associated proxy object, and the target sequence number information exists in the software blockchain, a sequence number block is generated based on the data to be uploaded, and the sequence number block is added to the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information;
[0095] The specific implementation process of step S201-step S202 can be referred to above. Figure 2 Steps S101 and S102 in the corresponding embodiment will not be described in detail here.
[0096] Step S205, when a serial number query request for the target serial number information sent by the requesting terminal is received, an associated block corresponding to the target serial number information is obtained from the software blockchain based on the serial number query request; the associated block includes the serial number block;
[0097] Specifically, after the user purchases the target serial number information, the user can enter the target serial number information on the serial number query platform, so that the request terminal of the serial number query platform sends a serial number query request for the target serial number information to the blockchain network. After receiving the serial number query request, the node server can determine all blocks storing the target serial number information in the software blockchain as associated blocks according to the serial number query request, wherein the associated blocks may include the serial number blocks and historical blocks.
[0098] Step S206, generating a flow track corresponding to the target serial number information based on the associated block, determining the production object information corresponding to the target serial number information based on the flow track, and sending the production object information as a query result back to the requesting terminal.
[0099] Specifically, the node server can generate the flow track corresponding to the target serial number information based on the acquired associated blocks. For example, after the manufacturer produces the target serial number information, the manufacturer information, software information and target serial number information are uploaded to the blockchain network, and the blockchain node is packaged into blocks and written into the software blockchain; when the manufacturer sells the target serial number information to agent A, agent A once again uploads agent A's information, manufacturer information, target serial number information and software information to the blockchain network, and the blockchain node is packaged into blocks and written into the software blockchain; when agent A sells the target serial number information to user A, the terminal device corresponding to user A can upload user A's information, agent A's information, manufacturer information, target serial number information and software information to the blockchain network, and the blockchain node is packaged into blocks and written into the software blockchain. Therefore, the flow track of the target serial number information can be obtained as: manufacturer-agent A-user A. Then, the production object information corresponding to the target serial number information can be determined according to the flow track, and the production object information is returned to the requesting terminal as a query result, so that the user can obtain the source of the target serial number information.
[0100] It should be understood that after a user or enterprise purchases a software serial number, the user or enterprise can enter the purchased serial number information on the serial number query platform to check whether the purchased serial number is a genuine serial number. If it is a genuine serial number, the source of the purchased serial number (i.e., the production object information) can be further checked. Please refer to Figure 5 , is a schematic diagram of a scenario for querying a serial number provided in an embodiment of the present application. Figure 5 As shown, after the user purchases the serial number 123xxxabc, the user can enter the serial number 123xxxabc on the serial number query platform provided by the request terminal 30a for query. After the user enters the completed serial number and selects the query button, the request terminal 30a can send a serial number query request to the server 10c (which can be any blockchain node in the blockchain network, and the server 10c is taken as an example here), and based on the serial number query request, the request terminal 30a can query the serial number from the software blockchain 30g (equivalent to the above Figure 1 In the software blockchain 10h in the corresponding embodiment, all blocks recording the serial number 123xxxabc are obtained. If the serial number 123xxxabc does not exist in the software blockchain 30g, the serial number 123xxxabc can be determined as a pirated serial number; if the serial number 123xxxabc exists in the software blockchain 30g, Figure 5As shown, the serial number 123xxxabc is stored in blocks 30b, 30c and 30d, and blocks 30b, 30c and 30d are called associated blocks corresponding to the serial number 123xxxabc. By reading all the data stored in blocks 30b, 30c and 30d, a flow track 30e corresponding to the serial number 123xxxabc can be generated. The flow track 30e is specifically: manufacturer A-agent A-enterprise A. Based on the flow track 30e, a query result 30f can be obtained. The query result 30f is: the serial number 123xxxabc is the genuine serial number, and the manufacturer of the serial number 123xxxabc is manufacturer A. The server 10c can return the query result 30f to the request terminal 30a so that the user can view the query result 30f.
[0101] The embodiment of the present application can obtain the data to be chained corresponding to the target proxy object, and the data to be chained includes the target object information, source object information, software information and target serial number information corresponding to the target proxy object. When it is detected that the target serial number information is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, a serial number block is generated according to the data to be chained, and the serial number block is added to the software blockchain. The target proxy object and the associated proxy object are both associated with the source object information. Due to the decentralization and immutability of the blockchain, the software serial number information is open and transparent to the management node with query authority, which improves the accuracy, credibility and traceability of the software serial number information record. All software serial numbers produced by the manufacturer and the flow process of the software serial number can be recorded in the software blockchain, which can improve the effectiveness of software serial number management.
[0102] See also Figure 6 , is a schematic diagram of the structure of a software serial number management device based on blockchain provided in an embodiment of the present application. Figure 6 As shown, the software serial number management device 1 based on blockchain may include: an acquisition module 11, a first chaining module 12;
[0103] An acquisition module 11 is used to acquire a serial number upload request corresponding to a target proxy object, and acquire the to-be-uploaded data corresponding to the target proxy object based on the serial number upload request; the to-be-uploaded data includes target object information, source object information, software information and target serial number information corresponding to the target proxy object;
[0104] The first on-chain module 12 is used to generate a sequence number block based on the data to be on-chain and add the sequence number block to the software blockchain when it is detected that the target sequence number information is different from the associated sequence number information corresponding to the associated proxy object and the target sequence number information exists in the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information.
[0105] The specific functional implementation of the acquisition module 11 and the first uplink module 12 can be found in the above Figure 2 Steps S101 and S102 in the corresponding embodiment will not be described in detail here.
[0106] Please also see Figure 6 , the software serial number management device 1 based on blockchain may further include: an on-chain request acquisition module 13, a second on-chain module 14, an associated object acquisition module 15, a serial number adding module 16, a comparison module 17, a traversal module 18, a detection module 19, a query request acquisition module 20, and a query module 21;
[0107] The uplink request acquisition module 13 is used to acquire an uplink request carrying software data to be uplinked associated with a source object; the software data to be uplinked includes the source object information, the software information and a sequence number set;
[0108] A second on-chain module 14 is used to package the source object information, the software information and the serial number set into a historical block, and add the historical block to the software blockchain; the serial number set includes the target serial number information;
[0109] An associated object acquisition module 15 is used to acquire an associated proxy object associated with the source object information based on the source object information in the data to be uploaded to the chain;
[0110] A sequence number adding module 16, configured to obtain the associated sequence number information from the on-chain data corresponding to the associated proxy object, and add the associated sequence number information to the sequence number set;
[0111] A comparison module 17 is used to confirm that the serial number uplink request is illegal when there is associated serial number information in the serial number set that is the same as the target serial number information, and send an abnormal prompt information to the terminal device corresponding to the target proxy object;
[0112] A traversal module 18, configured to traverse all blocks included in the software blockchain based on the target sequence number information in the data to be uploaded;
[0113] A detection module 19 is used to determine the target sequence number information as an abnormal sequence number if the target sequence number information does not exist in the software blockchain, determine that the sequence number on-chain request is illegal, and send an abnormal prompt information to the terminal device corresponding to the target proxy object;
[0114] A query request acquisition module 20, configured to, when receiving a serial number query request for the target serial number information sent by a request terminal, acquire an associated block corresponding to the target serial number information from the software blockchain based on the serial number query request; the associated block includes the serial number block;
[0115] The query module 21 is used to generate a flow track corresponding to the target serial number information based on the associated block, determine the production object information corresponding to the target serial number information based on the flow track, and send the production object information as a query result to the requesting terminal.
[0116] The specific functional implementation of the uplink request acquisition module 13 and the second uplink module 14 can be found in the above Figure 4 The specific functional implementation of steps S201-S202, the associated object acquisition module 15, the serial number adding module 16, the comparison module 17, the traversal module 18, and the detection module 19 in the corresponding embodiment can be referred to above. Figure 2 The specific functional implementation of step S102, the query request acquisition module 20, and the query module 21 in the corresponding embodiment can be referred to above. Figure 4 Steps S205 and S206 in the corresponding embodiment will not be described in detail here.
[0117] Please also see Figure 6 , the first uplink module 12 may include: a signature verification unit 121, a block packaging unit 122, and a verification unit 123;
[0118] The signature verification unit 121 is used to verify the signature of the data to be uploaded to the chain based on the key corresponding to the target proxy object;
[0119] The block packaging unit 122 is used to package the target object information, the source object information, the software information and the target serial number information into the serial number block when the signature verification of the data to be uploaded is passed;
[0120] The verification unit 123 is used to verify the serial number block according to the consensus mechanism, and add the verified serial number block to the software blockchain.
[0121] The specific functional implementation of the signature verification unit 121, the block packaging unit 122, and the verification unit 123 can be found in the above Figure 2Step S102 in the corresponding embodiment will not be described in detail here.
[0122] Please also see Figure 6 The signature verification unit 121 may include: a decryption subunit 1211, a hash operation subunit 1212, and a judgment subunit 1213;
[0123] The decryption subunit 1211 is used to decrypt the digital signature carried by the data to be uploaded to the chain based on the key, and obtain a first hash value corresponding to the digital signature;
[0124] The hash operation subunit 1212 is used to perform a hash operation on the data to be uploaded to the chain based on the hash operation to generate a second hash value corresponding to the data to be uploaded to the chain;
[0125] The judging subunit 1213 is configured to determine that the signature verification of the data to be uploaded to the chain has passed if it is detected that the first hash value is the same as the second hash value.
[0126] The specific functional implementation of the decryption subunit 1211, the hash operation subunit 1212, and the judgment subunit 1213 can be found in the above Figure 2 Step S102 in the corresponding embodiment will not be described in detail here.
[0127] The embodiment of the present application can obtain the data to be chained corresponding to the target proxy object, and the data to be chained includes the target object information, source object information, software information and target serial number information corresponding to the target proxy object. When it is detected that the target serial number information is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, a serial number block is generated according to the data to be chained, and the serial number block is added to the software blockchain. The target proxy object and the associated proxy object are both associated with the source object information. Due to the decentralization and immutability of the blockchain, the software serial number information is open and transparent to the management node with query authority, which improves the accuracy, credibility and traceability of the software serial number information record. All software serial numbers produced by the manufacturer and the flow process of the software serial number can be recorded in the software blockchain, which can improve the effectiveness of software serial number management.
[0128] See also Figure 7 , is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Figure 7As shown, the computer device 1000 may include: a processor 1001, a network interface 1004 and a memory 1005. In addition, the above-mentioned computer device 1000 may also include: a user interface 1003, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, the user interface 1003 may include a display screen (Display), a keyboard (Keyboard), and the user interface 1003 may optionally include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1004 may be a high-speed RAM memory, or it may be a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 1005 may optionally also be at least one storage device located away from the aforementioned processor 1001. As Figure 7 As shown, the memory 1005 as a computer-readable storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.
[0129] In such Figure 7 In the computer device 1000 shown, the network interface 1004 can provide a network communication function; the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve:
[0130] Obtain a serial number upload request corresponding to a target proxy object, and obtain the to-be-uploaded data corresponding to the target proxy object based on the serial number upload request; the to-be-uploaded data includes target object information, source object information, software information, and target serial number information corresponding to the target proxy object;
[0131] When it is detected that the target serial number information is different from the associated serial number information corresponding to the associated proxy object, and the target serial number information exists in the software blockchain, a serial number block is generated based on the data to be uploaded to the chain, and the serial number block is added to the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information.
[0132] It should be understood that the computer device 1000 described in the embodiment of the present application can execute the above Figure 2 , Figure 4 The description of the software serial number management method based on blockchain in any corresponding embodiment can also be performed as described above. Figure 6 The description of the software serial number management device 1 based on blockchain in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated here.
[0133] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the blockchain-based software serial number management device 1 mentioned above, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the above-mentioned Figure 2 , Figure 4 The description of the software serial number management method based on blockchain in any corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application.
[0134] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0135] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A software serial number management method based on blockchain, It is characterized in that include: Obtaining an on-chain request carrying software data to be on-chain associated with a source object; the software data to be on-chain includes source object information, software information, and a sequence number set; Packing the source object information, the software information, and the serial number set into a history block, and adding the history block to the software blockchain; The sequence number set includes target sequence number information; Obtain a serial number upload request corresponding to a target proxy object, and obtain the to-be-uploaded data corresponding to the target proxy object based on the serial number upload request; the to-be-uploaded data includes target object information, source object information, software information, and target serial number information corresponding to the target proxy object; Based on the source object information in the data to be uploaded, an associated proxy object associated with the source object information is obtained, and associated serial number information is obtained from the uploaded data corresponding to the associated proxy object, and the associated serial number information is added to the serial number set. When there is no associated serial number information in the serial number set that is the same as the target serial number information, and based on the target serial number information in the data to be uploaded, all blocks included in the software blockchain are traversed. When the target serial number information exists in the software blockchain, a serial number block is generated based on the data to be uploaded, and the serial number block is added to the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information; when there is associated serial number information in the serial number set that is the same as the target serial number information or the target serial number information does not exist in the software blockchain, it is determined that the serial number upload request is illegal, and an abnormal prompt information is sent to the terminal device corresponding to the target proxy object; When receiving a serial number query request for the target serial number information sent by the requesting terminal, obtaining an associated block corresponding to the target serial number information from the software blockchain based on the serial number query request; the associated block includes the serial number block; A flow track corresponding to the target serial number information is generated based on the associated block, production object information corresponding to the target serial number information is determined based on the flow track, and the production object information is sent back to the requesting terminal as a query result.
2. The method according to claim 1, It is characterized in that The generating a sequence number block based on the data to be uploaded to the chain, and adding the sequence number block to the software blockchain, comprises: Based on the key corresponding to the target proxy object, verify the signature of the data to be uploaded to the chain; When the signature verification of the data to be uploaded is passed, the target object information, the source object information, the software information and the target serial number information are packaged into the serial number block; The serial number block is verified according to the consensus mechanism, and the verified serial number block is added to the software blockchain.
3. The method according to claim 2, It is characterized in that The verifying the signature of the data to be uploaded to the chain based on the key corresponding to the target proxy object includes: Decrypting the digital signature carried by the data to be uploaded to the chain based on the key, and obtaining a first hash value corresponding to the digital signature; Performing a hash operation on the data to be uploaded to the chain based on a hash operation to generate a second hash value corresponding to the data to be uploaded to the chain; If it is detected that the first hash value is the same as the second hash value, it is determined that the signature verification of the data to be uploaded to the chain has passed.
4. A software serial number management device based on blockchain, It is characterized in that include: An acquisition module is used to acquire a serial number on-chain request corresponding to a target proxy object, and acquire the to-be-on-chain data corresponding to the target proxy object based on the serial number on-chain request; the to-be-on-chain data includes target object information, source object information, software information and target serial number information corresponding to the target proxy object; The on-chain module is used to obtain the associated proxy object associated with the source object information based on the source object information in the data to be on-chain, obtain the associated serial number information from the on-chain data corresponding to the associated proxy object, add the associated serial number information to the serial number set, and when there is no associated serial number information in the serial number set that is the same as the target serial number information, and based on the target serial number information in the data to be on-chain, traverse all blocks included in the software blockchain, when there is the target serial number information in the software blockchain, and based on the target serial number information in the data to be on-chain The target serial number information is used to traverse all blocks contained in the software blockchain. When the target serial number information exists in the software blockchain, a serial number block is generated based on the data to be uploaded, and the serial number block is added to the software blockchain; the target proxy object and the associated proxy object are both associated with the source object information; when the associated serial number information in the serial number set is the same as the target serial number information or the target serial number information does not exist in the software blockchain, it is determined that the serial number upload request is illegal, and an abnormal prompt information is sent to the terminal device corresponding to the target proxy object; An on-chain request acquisition module, used to acquire an on-chain request carrying software data to be on-chain associated with a source object; the software data to be on-chain includes the source object information, the software information and a sequence number set; A second on-chain module is used to package the source object information, the software information and the serial number set into a historical block, and add the historical block to the software blockchain; The sequence number set includes the target sequence number information; a query request acquisition module, configured to, when receiving a sequence number query request for the target sequence number information sent by a request terminal, acquire an associated block corresponding to the target sequence number information from the software blockchain based on the sequence number query request; the associated block includes the sequence number block; A query module is used to generate a flow trajectory corresponding to the target serial number information based on the associated block, determine the production object information corresponding to the target serial number information based on the flow trajectory, and send the production object information as a query result to the requesting terminal.
5. A computer device, It is characterized in that The method comprises a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the method according to any one of claims 1 to 3.
6. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the steps of the method according to any one of claims 1 to 3 are executed.
Citation Information
Patent Citations
Method for protecting computer software copyrights by hardware identification codes
CN102708332A
Product anti-counterfeiting tracing method and device, server and storage medium
CN108520293A
Commodity information maintenance method based on block chain, block chain node and system thereof
CN109102308A
A hospital electronic payment method based on a block chain
CN109636394A
Blockchain based software licensing enforcement
US20180293363A1