Code copyright registration system, method and platform based on blockchain

Through the blockchain-based code copyright registration system, the blockchain platform's smart contract is used for registration and signature verification, which solves the problem of fuzzy and misappropriation of copyright ownership in software code copyright management, and realizes the clear ownership and unified management of code copyright , reducing the calculation cost.

CN114896569BActive Publication Date: 2024-12-27韩安阳
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210550099.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-18
Publication Date
2024-12-27
Estimated Expiration
2042-05-18

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively manage the copyright of software code, resulting in code theft and vague ownership of rights, lack of a unified code copyright management platform, affecting copyright transactions and market economy.

Method used

Adopt a blockchain-based code copyright registration system, generate feature sets through the client and perform original verification, and use the smart contract of the blockchain platform for registration and signature verification to ensure the uniqueness and immutability of copyright, and realize code copyright unified management.

Benefits of technology

It reduces the pressure on blockchain storage and computing, reduces the cost of computing, ensures the originality of copyright and the accuracy of rights changes, prevents losses caused by irreversibility, and realizes the clear ownership and unified management of code copyright.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114896569B_ABST
    Figure CN114896569B_ABST
Patent Text Reader

Abstract

The present application discloses a blockchain-based code copyright registration system, method and platform. By storing a feature set for determining originality in the blockchain, the storage pressure of the blockchain and the gas cost of computing are reduced. The data fingerprint of the data set is obtained by calculation as the copyright identifier to facilitate the confirmation of rights. In addition, double signature verification is set up to ensure the accuracy of the change of rights, prevent irreparable losses due to the irreversibility of the blockchain network, and thus achieve unified management of code copyrights.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a blockchain-based code copyright registration system, method and platform. Background Art

[0002] With the development of Internet technology, more and more software systems are being developed and applied to production and life. At the same time, the problem of software code copyright management has become increasingly prominent. First, software systems often contain a large number of code documents. It takes a lot of manpower and material resources to determine the originality of code documents, which makes it difficult to register the copyright of software codes. Secondly, the lack of a unified code copyright management platform has led to the dispersion of copyright resources and the ambiguity of copyright ownership, which is not conducive to copyright transactions and the formation of a market economy.

[0003] At present, the copyright resources of code documents are scattered and the ownership is unclear, which leads to the prominent problems of code theft and infringement of the rights of the original author, which has attracted widespread attention from scholars in many fields. At the same time, blockchain technology provides a new way to solve the problem of code copyright protection due to its characteristics of decentralization, anti-tampering, and data traceability. Summary of the invention

[0004] The purpose of the present invention is to provide a blockchain-based code copyright registration system, method and platform to address the deficiencies in the prior art.

[0005] On one hand, the present application provides a blockchain-based code copyright registration system, which includes a client and a blockchain platform, wherein:

[0006] The client is used to send a registration data packet to the blockchain platform, wherein the registration data packet includes a feature set, and the feature set is generated by the client;

[0007] The blockchain platform is used to verify the originality of the feature set; when the feature set is successfully verified, the feature set is received and the registration service related to the feature set is performed; when the feature set is failed to be verified, the feature set is rejected;

[0008] The client is further used to send a change data packet to the blockchain platform; the change data packet is generated by the client; the change data packet includes the registration certificate and the first digital signature;

[0009] The blockchain platform is also used to perform signature verification on the change data packet; when the verification of the change data packet is successful, execute the change business related to the registration certificate; when the verification of the change data packet fails, reject the change data packet.

[0010] Preferably, the client is also used to obtain source code data and initialize the feature set before sending a registration data packet to the blockchain platform; decompose the source code data into a number of feature vectors; perform a hash operation on each feature vector to obtain a set of hash values; weight the hash value corresponding to each feature vector; traverse the set and convert the feature set according to each hash value in the set; accumulate and merge the values ​​of specific bits of the hash value to the corresponding bits of the feature set; traverse each bit of the feature set, and when the value of the bit is greater than 0, the value of the corresponding bit of the feature set is set to 1; when the value of the bit is less than or equal to 0, the value of the corresponding bit of the feature set is set to 0.

[0011] Preferably, the blockchain platform is specifically used to obtain a set of feature sets; traverse the set of feature sets, perform Hamming operation on the current feature set and the feature set to obtain the Hamming distance; when the Hamming distance is less than or equal to 3, it is determined that the originality verification has failed; when the Hamming distance is not less than or equal to 3, it is determined that the originality verification has succeeded.

[0012] Preferably, the registration data packet also includes a timestamp and a rights public key, and the registration service specifically includes:

[0013] The blockchain platform performs a hash operation based on the feature set to generate a digital fingerprint; the blockchain platform uses the digital fingerprint as a Key value, and stores the feature set, the timestamp and the right public key as Value values ​​in a storage domain.

[0014] Preferably, the change data packet further includes a second digital signature, the registration certificate includes the target public key and the digital fingerprint, and the signature verification specifically includes:

[0015] The blockchain platform verifies according to the right public key, the registration certificate and the first digital signature;

[0016] The blockchain platform verifies according to the target public key, the registration certificate and the second digital signature;

[0017] When all verifications pass, the signature verification is confirmed to be successful.

[0018] Preferably, the change service specifically includes: the blockchain platform obtains the corresponding right public key according to the digital fingerprint retrieval; and replaces the value of the right public key with the value of the target public key.

[0019] On the one hand, the present application provides a code copyright registration method based on blockchain, the method comprising:

[0020] The client sends a registration data packet to the blockchain platform, wherein the registration data packet includes a feature set, and the feature set is generated by the client;

[0021] The blockchain platform verifies the originality of the feature set; when the feature set is successfully verified, the feature set is received and the registration service related to the feature set is performed; when the feature set is failed to be verified, the feature set is rejected;

[0022] The client sends a change data packet to the blockchain platform; the change data packet is generated by the client; the change data packet includes the registration certificate and the first digital signature;

[0023] The blockchain platform performs signature verification on the change data packet; when the change data packet is successfully verified, the change service related to the registration certificate is executed; when the change data packet is failed to be verified, the change data packet is rejected.

[0024] On the one hand, the present application provides a code copyright registration platform based on blockchain, the platform comprising:

[0025] A first acquisition module, configured to acquire a registration data packet sent by a client; wherein the registration data packet includes a feature set, and the feature set is generated by the client;

[0026] An originality verification module, used to verify the originality of the feature set;

[0027] A registration module, configured to receive the feature set and perform registration services related to the feature set when the feature set is successfully verified; and to reject the feature set when the feature set is failed to be verified;

[0028] A second acquisition module is used to acquire a change data packet sent by the client; the change data packet is generated by the client; the change data packet includes the registration certificate and the first digital signature;

[0029] A signature verification module, used to perform signature verification on the changed data packet;

[0030] A change module is used to execute the change service related to the registration certificate when the change data packet is successfully verified; and to reject the change data packet when the change data packet is failed to be verified.

[0031] In one aspect, 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 a method in one aspect of the present application.

[0032] In one aspect, the present application provides a computer-readable storage medium storing a computer program. The computer program includes program instructions. When the program instructions are executed by a processor, the processor executes the method in the above aspect.

[0033] The blockchain-based code copyright registration system, method and platform provided by the present invention store the feature set used to judge originality in the blockchain, thereby reducing the storage pressure of the blockchain and the cost of computing gas. The data fingerprint of the feature set is obtained by calculation as the identifier of the copyright, which is convenient for confirming the rights. In addition, the accuracy of the change of rights is ensured by setting up double signature verification to prevent irreparable losses caused by the irreversibility of the blockchain network, thereby realizing the unified management of code copyright. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the embodiments of the present invention or the existing technical solutions, 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 recorded in the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0035] Figure 1 This is a schematic diagram of the structure of a code copyright registration system based on blockchain provided by an embodiment of the present application;

[0036] Figure 2 This is a schematic diagram of the structure of a code copyright registration system based on blockchain provided by an embodiment of the present application;

[0037] Figure 3 This is a schematic diagram illustrating a process of generating a feature set provided by an embodiment of the present application;

[0038] Figure 4 This is a schematic diagram of a data interaction process scenario between a client and a blockchain platform provided in an embodiment of the present application;

[0039] Figure 5 This is a flowchart of a code copyright registration method based on blockchain provided by an embodiment of the present application;

[0040] Figure 6 This is a schematic diagram of the structure of a code copyright registration platform based on blockchain provided by an embodiment of the present application;

[0041] Figure 7 It is a structural diagram of a computer device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0042] It is understandable that the present application relates to blockchain technology and its smart contract related technologies. Blockchain technology is the technical basis for realizing distributed applications. Blockchain technology uses hash pointers instead of traditional pointers and stores transactions of digital assets in the block body. It is a transaction-driven state machine. Among them, a smart contract refers to a state code running on a blockchain system. The code logic defines the content of the contract. It is a special protocol used when formulating a contract in a blockchain. It contains code functions (Function) and can also interact with other contracts, make decisions, store data and other functions. Smart contracts provide verification and execution of the conditions established in the contract. Smart contracts allow trusted transactions without a third party, and these transactions are traceable and irreversible.

[0043] See also Figure 1 , Figure 1 This is a structural diagram of a blockchain-based code copyright registration system provided in one embodiment of the present application.

[0044] like Figure 1 As shown, the network architecture may include a blockchain network 10 and a terminal 20. The blockchain network 10 may include multiple blockchain nodes, the logic code of the smart contract runs in the blockchain nodes, the multiple blockchain nodes may interact with each other, and the multiple blockchain nodes may include n nodes such as node N1, node N2, ... and node Nn. The terminal 20 may include n client nodes such as node C1, node C2, ... and node Cn.

[0045] It must be noted that the client node included in the terminal 20 is also a node in the blockchain. The nodes in the blockchain network 10 are usually full nodes, and the nodes in the terminal 20 are usually light nodes. For ease of understanding, all nodes in the blockchain are divided into the blockchain network 10 and the terminal 20. The full node saves all the contents of the entire block, while the light node only saves the block header information of the block. For mobile portable devices, if all the contents of the block are stored, the required space is too large, which is unrealistic. Therefore, the light node only needs to store the block header information, and the full node can store all the contents of the block. When it is necessary to prove to the light node whether a transaction is written into the blockchain network 10, Merkle Proof can be used. A path from the transaction to the root node is Merkle Proof, also known as Merkle Path. The full node sends the entire Merkle Proof to the light node, and the light node can calculate the root hash value based on it and compare it with the one it saves, thereby verifying whether the transaction is written into the blockchain. As long as all hash values ​​are correct along the path, it means that the content has not been modified.

[0046] Furthermore, a blockchain node in the blockchain network 10 or a node in the terminal 20 may be composed of a server or a terminal device. The server used to constitute the node of the blockchain network 10 may be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server used to constitute the node of the terminal 20 is usually a terminal device, which may be a smart terminal such as a smartphone, a tablet computer, a laptop computer, or a desktop computer.

[0047] It is understandable that since software systems often contain a large number of code documents, it is almost impossible for the existing centralized code copyright registration system to verify the originality of each document. Secondly, due to the ambiguity of copyright ownership and the lack of a unified code version management platform, copyright transactions are not smooth and a code copyright market economy cannot be formed.

[0048] See also Figure 2 , Figure 2 This is a structural diagram of a blockchain-based code copyright registration system provided in one embodiment of the present application.

[0049] A code copyright registration system based on blockchain includes a client 100 and a blockchain platform 200, wherein:

[0050] The client 100 is used to send a registration data packet to the blockchain platform 200, wherein the registration data packet includes a feature set, and the feature set is generated by the client 100;

[0051] Specifically, the blockchain platform 200 can obtain the registration data packet sent by the client 100. The registration data packet sent by the client 100 to the blockchain platform 200 mainly includes a feature set of source code data.

[0052] The source code data may be a document containing the source code data, and the feature set refers to a feature set having code arrangement features obtained by calculating the source code data according to a certain algorithm.

[0053] Since the blockchain platform 200 is a decentralized and distributed platform based on smart contracts, if the client 100 directly uploads the source code data to the blockchain platform 200, it will not only greatly increase the storage pressure of each blockchain node, but also cause the calculation amount of the blockchain platform 200 to increase greatly, reduce the operating efficiency, and generate a large amount of gas fees, making the entire system only theoretically feasible. Therefore, generating a feature set of source code data in the client 100 in advance will greatly reduce the storage pressure and calculation pressure of the blockchain platform 200 and save gas fees.

[0054] It is understandable that in smart contract technology, data calculation and storage require gas fees. Therefore, it is necessary to design a method that can not only make the feature set occupy less space, but also preserve the source code document data features and facilitate the verification of the feature set generation method.

[0055] The client 100 is also used for:

[0056] Before sending a registration data packet to the blockchain platform 200, obtaining source code data and initializing the feature set;

[0057] The source code data may be uploaded by a user to the client 100. The feature set may be a binary value with a data width of 64 bits.

[0058] Decomposing the source code data into a plurality of feature vectors;

[0059] Specifically, the decomposition process of the source code data can be achieved through word segmentation or bigram, and then a weight of 1-5 is set for each feature vector.

[0060] Performing a hash operation on each of the feature vectors to obtain a set of hash values;

[0061] Weighting the hash value corresponding to each of the feature vectors;

[0062] Specifically, each bit on the hash value is traversed. When the value on a bit is 1, the hash value and the weight value are positively multiplied. When the value on a bit is 0, the hash value and the weight value are negatively multiplied.

[0063] Traversing the set, converting the feature set according to each hash value in the set; accumulating and merging the value of a specific bit of the hash value to the corresponding bit of the feature set;

[0064] Traversing each bit of the feature set, when the value of the bit is greater than 0, the value of the corresponding bit of the feature set is set to 1; when the value of the bit is less than or equal to 0, the value of the corresponding bit of the feature set is set to 0;

[0065] Please also see Figure 3 , Figure 3 It is a schematic diagram demonstrating the feature set generation process provided in one embodiment of the present application.

[0066] like Figure 3 As shown, first, the blockchain platform 200 decomposes the source code data into several feature vectors through word segmentation or bigram and assigns a certain weight to each feature vector. Then, the feature vector is hashed and multiplied by the weight value to obtain a set of hash values ​​h1, h2.......hn. The set of hash values ​​is then accumulated and merged, that is, the first-bit values ​​of h1, h2.......hn are added to obtain the first-bit value of the feature set, and the second-bit values ​​of h1, h2.......hn are added to obtain the second-bit value of the feature set, and so on until the values ​​on all corresponding bits are accumulated to obtain the first-stage feature set. Finally, dimensionality reduction is performed on the first-stage feature set, that is, the value on a specific bit is set to 1 if it is greater than 1, otherwise it is set to 0, so as to obtain the final feature set.

[0067] The above process is the feature set generation process. The feature set is obtained by performing a series of operations such as word segmentation, hashing, weighting, accumulation, and dimensionality reduction on the source code data. It can not only preserve the source code document data features, but also occupy a small space, thereby achieving the effect of easy storage of the feature set in the blockchain platform 200 and low gas consumption.

[0068] The blockchain platform 200 is used to verify the originality of the feature set; when the feature set is successfully verified, the feature set is received and the registration service related to the feature set is performed; when the feature set is failed to be verified, the feature set is rejected;

[0069] Specifically, after the blockchain platform 200 obtains the feature set, it can verify the originality of the feature set.

[0070] Specifically, after the originality verification is successful, the blockchain platform 200 can register the feature set as copyright, and the smart contract in the blockchain platform 200 can write the feature set data into the storage domain. When the blockchain platform 200 generates a block, the relevant transaction is published to the blockchain network 10 to achieve the purpose of announcement and non-tamperability.

[0071] It is understandable that in smart contract technology, computing power is a very valuable resource. When conducting originality verification, it is necessary to avoid consuming excessive computing power of the blockchain platform, which will not only reduce the efficiency of system operation, but also generate a lot of gas fees.

[0072] Of course, a specific originality verification method can be designed, as follows:

[0073] Blockchain platform 200 is specifically used for:

[0074] Obtain a feature set set; wherein the feature set set can be the sum of all registered feature sets in the blockchain platform 200.

[0075] Traverse the feature set set, perform Hamming operation on the current feature set and the feature set to obtain the Hamming distance; when the Hamming distance is less than or equal to 3, determine that the originality verification fails; when the Hamming distance is not less than or equal to 3, determine that the originality verification succeeds; wherein, the current feature set can be the feature set read by the blockchain platform 200 when traversing the feature set set and compared with the feature set that needs to be registered. Among them, in information encoding, the number of bits encoded differently on the corresponding bits of two legal codes is called code distance, also known as Hamming distance.

[0076] The above process is the originality verification process. The Hamming distance is calculated by comparing the feature set that needs to be registered with the feature set that has been registered in the blockchain platform 200 one by one to determine whether the originality verification is successful. This method can greatly reduce the computing pressure of the blockchain platform 200 and reduce the expenditure on gasoline fees.

[0077] It is understandable that the transmission of traffic data in the Internet environment is unsafe and there is a risk of traffic data being tampered with. Therefore, it is necessary to verify the legitimacy of traffic data, as detailed below:

[0078] The registration data packet also includes a timestamp and a rights public key. The registration service specifically includes:

[0079] The blockchain platform 200 performs a hash operation according to the feature set to generate a digital fingerprint; the blockchain platform 200 uses the digital fingerprint as a Key value, and stores the feature set, the timestamp and the right public key as Value values ​​in a storage domain.

[0080] Specifically, after the originality verification is successful, the blockchain platform 200 can perform hash operations based on the feature set to generate a digital fingerprint, where the digital fingerprint is used as a unique identifier of the copyright and plays a role in rapid retrieval. In addition, due to the anti-collision characteristics of the hash, the ownership of the rights can be clearly identified.

[0081] Specifically, the blockchain platform 200 can also use the timestamp in the registration data packet as the application date of the copyright, and use the public key of the right as the identifier of the identity of the right holder. The public key of the right can be the public key address of the client 100 or the public key address of the right holder entered by the user.

[0082] Furthermore, the blockchain platform 200 can store the above data in the form of a HashMap in the storage domain of the smart contract, and can use the digital fingerprint as the Key value, and the feature set, timestamp and right public key as the Value value to facilitate quick search.

[0083] The above process is the copyright registration process. The digital fingerprint generated based on the feature set serves as the unique identifier of the copyright, which can play a role in rapid indexing and clarifying rights.

[0084] The client 100 is further used to send a change data packet to the blockchain platform 200; the change data packet is generated by the client 100; the change data packet includes the registration certificate and the first digital signature;

[0085] Specifically, after the blockchain platform 200 obtains the change data packet, it can obtain the registration certificate and the first digital signature, and then verify the legitimacy of the change data packet based on the registration certificate and the first digital signature.

[0086] The registration certificate is used to record information related to the changed business, and the first digital signature can be obtained after the copyright owner signs the registration certificate using a private key.

[0087] The blockchain platform 200 is further used to perform signature verification on the change data packet; when the verification of the change data packet is successful, execute the change business related to the registration certificate; when the verification of the change data packet fails, reject the change data packet;

[0088] Specifically, after the blockchain platform 200 obtains the change data packet, it can read the registration certificate and the first digital signature contained in the change data packet, and can perform signature verification on the registration certificate.

[0089] Specifically, the registration certificate may include a digital fingerprint of the copyright that needs to be changed. The blockchain platform 200 can obtain the corresponding public key of rights based on the digital fingerprint. The blockchain platform 200 will then use the public key of rights to decrypt the first digital signature and obtain data and compare it with the registration certificate. When the two match, the signature verification is successful.

[0090] Specifically, the registration certificate also includes a target public key, which is the public key address of the copyright assignee. After the signature verification is successful, the blockchain platform 200 can modify the rights address corresponding to the digital fingerprint to the target public key value.

[0091] The above process is the signature verification and business change process. By setting up signature verification, the authenticity of the business change can be guaranteed. Malicious nodes cannot pass the verification without obtaining the private key corresponding to the public key of the right, thus ensuring the security of the system.

[0092] It is understandable that due to the irreversibility of blockchain technology, and the fact that the registration certificate is generated unilaterally by the right holder, if the two parties are changing the copyright, the right holder may record the target public key incorrectly during the generation of the registration certificate, resulting in the assignee being unable to obtain the copyright.

[0093] Therefore, a method jointly confirmed by both parties can be designed to change the copyright, as detailed below:

[0094] The change data packet also includes a second digital signature, the registration certificate includes the target public key and the digital fingerprint, and the signature verification specifically includes:

[0095] The blockchain platform 200 performs verification according to the right public key, the registration certificate and the first digital signature;

[0096] The blockchain platform 200 performs verification according to the target public key, the registration certificate and the second digital signature;

[0097] When all verifications pass, the signature verification is confirmed to be successful.

[0098] The second digital signature may be obtained by the copyright assignee signing the registration certificate using the assignee's private key, where the assignee's private key and the target public key together form a public-private key pair.

[0099] Specifically, the blockchain platform 200 can obtain the corresponding public key based on the digital fingerprint. The blockchain platform 200 will then use the public key to decrypt the first digital signature and obtain data and compare it with the registration certificate. When the two match, the signature verification is successful.

[0100] Furthermore, the blockchain platform 200 can obtain the target public key based on the registration certificate. The blockchain platform 200 then uses the target public key to decrypt the second digital signature to obtain data and compare it with the registration certificate. When the two match, the signature verification is successful.

[0101] Furthermore, after both signature verifications are passed, the blockchain platform 200 can execute the change business associated with the registration certificate.

[0102] In the above process, the registration certificate is generated after confirmation by both the right holder and the transferee. Before executing the change business, the signature information of both parties must also be confirmed to ensure the accuracy of the transferee.

[0103] It is understandable that symmetric encryption involves the management of symmetric keys, especially the distribution of symmetric keys. It requires the two communicating parties to exchange a shared symmetric key through another secure channel before communicating, so that the ciphertext can be safely transmitted through an insecure channel. Once the symmetric key is stolen, the encryption made by it will immediately become invalid.

[0104] Therefore, a method for transmitting symmetric keys using asymmetric encryption in an Internet environment can be specifically designed, as shown below:

[0105] Change business, including:

[0106] The blockchain platform 200 retrieves the corresponding right public key according to the digital fingerprint; and replaces the value of the right public key with the value of the target public key.

[0107] In the above process, the blockchain platform 200 quickly locates the public key of the rights through the digital fingerprint in the registration certificate, thereby realizing the rapid change of the copyright right holder by the system.

[0108] The following is a specific description of the embodiments of the present application, taking the data interaction between the client 100 and the blockchain platform 200 as an example.

[0109] Please also see Figure 4 , Figure 4 This is a schematic diagram of a data interaction process scenario between a client 100 and a blockchain platform 200 provided in one embodiment of the present application.

[0110] S401. The client 100 generates a feature set according to the source code data;

[0111] The source code data may be a document containing the source code data, and the feature set refers to a feature set having code arrangement features obtained by calculating the source code data according to a certain algorithm.

[0112] S402. The client 100 sends a registration data packet to the blockchain platform 200;

[0113] Specifically, the blockchain platform 200 can obtain the registration data packet sent by the client 100. The registration data packet sent by the client 100 to the blockchain platform 200 mainly includes a feature set of source code data.

[0114] S403. The blockchain platform 200 performs originality verification and performs registration services;

[0115] Specifically, after the blockchain platform 200 obtains the feature set, it can verify the originality of the feature set.

[0116] Specifically, after the originality verification is successful, the blockchain platform 200 can register the feature set as copyright, and the smart contract in the blockchain platform 200 can write the feature set data into the storage domain. When the blockchain platform 200 generates a block, the relevant transaction is published to the blockchain network 10 to achieve the purpose of announcement and non-tamperability.

[0117] S404. The blockchain platform 200 returns the digital fingerprint to the client 100;

[0118] Among them, the digital fingerprint is used as the unique identifier of the copyright, which plays a role in rapid retrieval. In addition, due to the anti-collision characteristics of the hash, the ownership of the rights can be clearly identified.

[0119] S405. The client 100 sends a change data packet to the blockchain platform 200;

[0120] Specifically, after the blockchain platform 200 obtains the change data packet, it can obtain the registration certificate and the first digital signature, and then verify the legitimacy of the change data packet based on the registration certificate and the first digital signature.

[0121] S406. The blockchain platform 200 performs signature verification and executes the change business.

[0122] Specifically, the registration certificate also includes a target public key, which is the public key address of the copyright assignee. After the signature verification is successful, the blockchain platform 200 can modify the rights address corresponding to the digital fingerprint to the target public key value.

[0123] The above process is the data interaction process between the client 100 and the blockchain platform 200.

[0124] In summary, an embodiment of the present application provides a blockchain-based code copyright registration system.

[0125] By storing the feature set used to determine originality in the blockchain, the storage pressure of the blockchain and the computing gas fee can be reduced. The data fingerprint of the feature set is obtained by calculation as a copyright identifier to facilitate the confirmation of rights. In addition, double signature verification is set up to ensure the accuracy of the change of rights and prevent irreparable losses caused by the irreversibility of the blockchain network 10.

[0126] See also Figure 5 , Figure 5 This is a flowchart of a blockchain-based code copyright registration method provided by an embodiment of the present application.

[0127] S501. The client 100 sends a registration data packet to the blockchain platform 200;

[0128] The registration data packet includes a feature set, and the feature set is generated by the client 100 .

[0129] S502. The blockchain platform 200 verifies the originality of the feature set;

[0130] When the verification of the feature set succeeds, the feature set is received and a registration service related to the feature set is performed; when the verification of the feature set fails, the feature set is rejected.

[0131] S503. The client 100 sends a change data packet to the blockchain platform 200;

[0132] The change data packet is generated by the client 100; the change data packet includes the registration certificate and the first digital signature.

[0133] S504. The blockchain platform 200 performs signature verification on the changed data packet;

[0134] When the verification of the change data packet succeeds, executing the change service related to the registration certificate; when the verification of the change data packet fails, rejecting the change data packet;

[0135] Through the method provided in this application, real-time and reliable data interaction can be achieved between the client 100 and the blockchain platform 200, ensuring clear ownership of code copyright, which is conducive to unified management of code copyright.

[0136] See also Figure 6 , Figure 6 This is a structural diagram of a blockchain-based code copyright registration platform provided by an embodiment of the present application.

[0137] The code copyright registration platform 1 may include: a first acquisition module 11, an originality verification module 12, a registration module 13, a second acquisition module 14, a signature verification module 15, and a change module 16:

[0138] The first acquisition module 11 is used to acquire a registration data packet sent by a client; wherein the registration data packet includes a feature set, and the feature set is generated by the client.

[0139] The originality verification module 12 is used to verify the originality of the feature set.

[0140] The registration module 13 is used to receive the feature set and execute the registration service related to the feature set when the verification of the feature set succeeds; and to reject the feature set when the verification of the feature set fails.

[0141] The second acquisition module 14 is used to acquire a change data packet sent by the client; the change data packet is generated by the client; the change data packet includes the registration certificate and the first digital signature.

[0142] The signature verification module 15 is used to perform signature verification on the changed data packet.

[0143] The change module 16 is used to execute the change service related to the registration certificate when the verification of the change data packet is successful; and to reject the change data packet when the verification of the change data packet fails.

[0144] See also Figure 7 , Figure 7 It is a structural diagram of a computer device provided by an embodiment of the present application.

[0145] Figure 7 As shown, the computer device 1000 may include: a processor 1001, a network interface 1004 and a memory 1005. In addition, the computer device 1000 may also include: a user interface 1003, and at least one communication bus 1002. The communication bus 1002 is used to realize the connection and communication between these components. 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 1005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 1005 may optionally be at least one storage platform located away from the aforementioned processor 1001. As Figure 7 As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.

[0146] exist Figure 7 In the computer device 1000 shown in the figure, 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 implement the above Figure 5 The description of the code copyright registration method based on blockchain in any of the corresponding embodiments. It should be understood that the computer device 1000 described in this application can also perform the description of the code copyright registration platform 1 in the other embodiments above, which will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated.

[0147] In addition, it should be pointed out that: the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the code copyright registration platform 1 mentioned above, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the above-mentioned Figure 5The description of the code copyright registration method based on blockchain in any of the corresponding embodiments 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 storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application.

[0148] 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 above-mentioned 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. Among them, the above-mentioned storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0149] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or apparatus including a series of elements includes not only those elements but also other elements not explicitly listed, or includes other elements for such process, method, commodity or apparatus.

[0150] Inherent elements. In the absence of more restrictions, the elements defined by the phrase "comprising a ..." do not exclude the existence of other identical elements in the process, method, product or device comprising the elements.

[0151] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0152] The terms used in one or more embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of this specification. The singular forms of "a", "said" and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0153] It should be understood that although the terms first, second, third, etc. may be used to describe various information in one or more embodiments of this specification, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0154] The above description is merely a preferred embodiment of one or more embodiments of the present specification and is not intended to limit one or more embodiments of the present specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of one or more embodiments of the present specification shall be included in the scope of protection of one or more embodiments of the present specification.

Claims

1. A code copyright registration system based on blockchain, characterized in that: Including client and blockchain platform, including: The client is used to send a registration data packet to the blockchain platform, wherein the registration data packet includes a feature set, and the feature set is generated by the client; The client is further used to: obtain source code data and initialize the feature set before sending a registration data packet to the blockchain platform; decompose the source code data into a number of feature vectors; perform a hash operation on each feature vector to obtain a set of hash values; weight the hash value corresponding to each feature vector; traverse the set and convert the feature set according to each hash value in the set; accumulate and merge the values ​​of specific bits on the hash value to the corresponding bits of the feature set; traverse each bit of the feature set, and when the value of the bit is greater than 0, the value of the corresponding bit of the feature set is set to 1; when the value of the bit is less than or equal to 0, the value of the corresponding bit of the feature set is set to 0; The blockchain platform is used to verify the originality of the feature set; when the feature set is successfully verified, the feature set is received and the registration service related to the feature set is performed; when the feature set is failed to be verified, the feature set is rejected; The blockchain platform is specifically used to: obtain a feature set set; traverse the feature set set, perform a Hamming operation on the current feature set and the feature set to obtain a Hamming distance; when the Hamming distance is less than or equal to 3, determine that the originality verification fails; when the Hamming distance is not less than or equal to 3, determine that the originality verification succeeds; After the originality verification is successful, the blockchain platform registers the feature set as copyright, and the smart contract in the blockchain platform writes the feature set data into the storage domain. When the blockchain platform generates a block, the relevant transaction is published to the blockchain network to achieve the purpose of announcement and non-tamperability; the registration data packet also includes a timestamp and a public key of rights; the blockchain platform performs a hash operation based on the feature set to generate a digital fingerprint; the blockchain platform uses the digital fingerprint as the Key value, and stores the feature set, the timestamp and the public key of rights as the Value value in the storage domain; The client is also used to send a change data packet to the blockchain platform; the change data packet is generated by the client; the change data packet includes a registration certificate and a first digital signature, the first digital signature is obtained after the copyright right holder signs the registration certificate using the right holder's private key; the change data packet also includes a second digital signature, the registration certificate includes a target public key and the digital fingerprint, the second digital signature is obtained after the copyright assignee signs the registration certificate using the assignee's private key, and the assignee's private key and the target public key are combined into a public-private key pair; The blockchain platform is further used to perform signature verification on the change data packet; when the change data packet is successfully verified, execute the change service related to the registration certificate; when the change data packet is failed to be verified, reject the change data packet; The blockchain platform verifies according to the rights public key, the registration certificate and the first digital signature; the blockchain platform obtains the corresponding rights public key according to the digital fingerprint, and the blockchain platform then compares the data obtained by decrypting the first digital signature using the rights public key with the registration certificate, and the signature verification succeeds when the two match; The blockchain platform performs verification according to the target public key, the registration certificate and the second digital signature; the blockchain platform obtains the target public key according to the registration certificate, and the blockchain platform then compares the data obtained by decrypting the second digital signature using the target public key with the registration certificate, and the signature verification succeeds when the two match; When all verifications are passed, the signature verification is confirmed to be successful; the blockchain platform retrieves the corresponding right public key based on the digital fingerprint; the value of the right public key is replaced with the value of the target public key; the registration certificate is generated after confirmation by both the right holder and the transferee, and the signature information of both parties must be confirmed before executing the change business to ensure the accuracy of the transferee.

Citation Information

Patent Citations

  • Digital copyright protection method based on blockchain technology

    CN108846776A

  • Digital rights protection method based on block chain technology

    CN110968842A

  • Software code copyright protection method

    CN113032739A

  • Method and device for performing credit evaluation on copyright users on the basis of blockchain

    US20210248676A1