NFT ownership transfer method, computer device and storage medium
By deploying NFT ownership transfer contracts and configuring a zero-knowledge proof circuit on blockchain nodes, the problem of hackers hijacking transactions and stealing NFTs during NFT transfer is solved, and the security of transfer proofs and the secure transfer of NFTs are achieved.
Patent Information
- Application Number
- CN202111167250.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-04
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2041-10-04
AI Technical Summary
The existing NFT transfer method generates a transfer certificate when the transferee is not determined, which is easily hijacked by hackers and leads to theft of NFTs.
Deploy NFT ownership transfer contracts on the blockchain node, configure the zero-knowledge proof circuit used to verify the transferor and the transferee, and generate a third random number through homomorphic encryption operations to ensure the security of the transfer proof.
Effectively prevent hackers from hijacking transactions and cracking the third random number, so that it is impossible to generate a verified transfer proof, ensuring that NFTs are not stolen.
Smart Images

Figure CN114565378B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of blockchain technology, and specifically to an NFT ownership transfer method, computer equipment and storage medium. Background Art
[0002] The full name of NFT in English is Non-Fungible Token, that is, non-fungible token, which has the characteristics of indivisibility, irreplaceability and uniqueness.
[0003] Correspondingly, a homogeneous token is a token where each token is exactly the same, for example, one game coin and another game coin are exactly the same and there is no difference between them;
[0004] The current application of NFT is that each unique NFT can be used as an ownership mark of a unique digital asset. For example, NFT1 is used as an ownership mark of a digital avatar, NFT2 is used as an ownership mark of a virtual cat in a game, and so on.
[0005] In some scenarios, the transferor of the NFT needs to generate a transfer certificate in advance when the transferee has not been determined. After the transferee is finally determined, the transferee can collect the NFT with the transfer certificate.
[0006] The flaw of the above scheme is that the transaction in which the transferee receives the NFT may be hijacked by hackers. The hackers can parse the transfer certificate from the transaction and repackage it to generate a transaction in which they receive the NFT in order to steal the NFT. Summary of the invention
[0007] In view of the above-mentioned defects or deficiencies in the prior art, it is desired to provide an NFT ownership transfer method, computer equipment and storage medium that allows the transferor to generate a transfer certificate when the transferee has not been determined, while ensuring that the NFT will not be stolen by hackers.
[0008] In a first aspect, the present invention provides an NFT ownership transfer method applicable to a blockchain node, wherein the blockchain is deployed with an NFT ownership transfer contract, the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation mode that satisfies homomorphic encryption and determines a third random number based on two random numbers, the method comprising:
[0009] Execute a first ownership transfer transaction, input the elliptic curve encrypted value of the first random number, the second random number and the first proof information, and the elliptic curve encrypted value of the third random number and the second proof information into the verification algorithm of the zero-knowledge proof circuit for verification:
[0010] If the verification is successful, the ownership of the first NFT will be transferred to the first transferee specified in the first ownership transfer transaction.
[0011] The first proof information is generated according to a first proof algorithm of the zero-knowledge proof circuit; the public input of the first proof algorithm includes an elliptic curve encryption value of the first random number and a second random number, and the private input of the first proof algorithm includes the first random number, an address and a private key of the first transferor of the first NFT;
[0012] The second proof information is generated according to a second proof algorithm of the zero-knowledge proof circuit; the public input of the second proof algorithm includes an elliptic curve encryption value of a third random number, and the private input of the second proof algorithm includes the third random number and the address of the first transferee;
[0013] The third random number is determined according to the first random number, the second random number and the first operation method.
[0014] In a second aspect, the present invention provides an NFT ownership transfer method applicable to a user terminal of a transferee, wherein a blockchain is deployed with an NFT ownership transfer contract, and the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation mode that satisfies homomorphic encryption and determines a third random number based on two random numbers, the method comprising:
[0015] Obtain an elliptic curve encrypted value of a first random number, a second random number, and first proof information; wherein the first proof information is generated according to a first proof algorithm of a zero-knowledge proof circuit; the public input of the first proof algorithm includes the elliptic curve encrypted value of the first random number and the second random number, and the private input of the first proof algorithm includes the first random number, the address and private key of the first transferor of the first NFT;
[0016] Obtaining a third random number; wherein the third random number is determined according to the first random number, the second random number and the first operation method;
[0017] Generate second proof information according to a second proof algorithm of the zero-knowledge proof circuit; wherein the public input of the second proof algorithm includes the elliptic curve encryption value of the third random number, and the private input of the second proof algorithm includes the third random number and the address of the current user;
[0018] The first ownership transfer transaction including the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number and the second proof information is packaged and generated and sent to the blockchain network for execution by the blockchain node through the NFT ownership transfer contract, and the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number and the second proof information are input into the verification algorithm of the zero-knowledge proof circuit for verification:
[0019] If the verification is successful, the ownership of the first NFT will be transferred to the current user.
[0020] In a third aspect, the present invention also provides an NFT ownership transfer method applicable to a user terminal of a transferor, wherein a blockchain is deployed with an NFT ownership transfer contract, and the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation mode that satisfies homomorphic encryption and determines a third random number based on two random numbers, the method comprising:
[0021] In response to the current user transferring the ownership of the first NFT held by the current user to the first transferee, obtaining the address of the first transferee;
[0022] Generate first proof information according to a first proof algorithm of the zero-knowledge proof circuit; wherein the public input of the first proof algorithm includes the elliptic curve encryption value of the first random number and the second random number, and the private input of the first proof algorithm includes the first random number, the address and private key of the current user;
[0023] Determine a third random number according to the first random number, the second random number and the first operation method;
[0024] Generate second proof information according to a second proof algorithm of the zero-knowledge proof circuit; wherein the public input of the second proof algorithm includes the elliptic curve encryption value of the third random number, and the private input of the second proof algorithm includes the third random number and the address of the first transferee;
[0025] The first ownership transfer transaction including the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number and the second proof information is packaged and generated and sent to the blockchain network for execution by the blockchain node through the NFT ownership transfer contract, and the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number and the second proof information are input into the verification algorithm of the zero-knowledge proof circuit for verification:
[0026] If the verification is successful, the ownership of the first NFT will be transferred to the first transferee.
[0027] In a fourth aspect, the present invention also provides a computer device comprising one or more processors and a memory, wherein the memory contains instructions executable by the one or more processors so that the one or more processors execute the NFT ownership transfer method provided according to various embodiments of the present invention.
[0028] In a fifth aspect, the present invention also provides a storage medium storing a computer program, which enables a computer to execute the NFT ownership transfer method provided according to various embodiments of the present invention.
[0029] The NFT ownership transfer method, computer device and storage medium provided by many embodiments of the present invention configure a zero-knowledge proof circuit for verifying the transferor and the transferee and a first operation method that satisfies homomorphic encryption for determining the third random number based on two random numbers in the smart contract, and utilizes the irreversible property of elliptic curve encryption, thereby ensuring that even if a hacker hijacks the transaction, the third random number cannot be cracked, and therefore a second proof information that can be verified cannot be generated to steal the NFT. Ultimately, the transferor can generate a transfer certificate when the transferee has not been determined, while ensuring that the NFT will not be stolen by hackers. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:
[0031] Figure 1 A flowchart of an NFT ownership transfer method provided for one embodiment of the present invention.
[0032] Figure 2 A flowchart of another NFT ownership transfer method provided for an embodiment of the present invention.
[0033] Figure 3 A flowchart of another NFT ownership transfer method provided for an embodiment of the present invention.
[0034] Figure 4 A schematic diagram of the structure of a computer device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0035] The present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It is also necessary to explain that, for ease of description, only the parts related to the invention are shown in the accompanying drawings.
[0036] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0037] Figure 1 A flowchart of an NFT ownership transfer method provided for one embodiment of the present invention.
[0038] like Figure 1As shown, in this embodiment, the present invention provides an NFT ownership transfer method applicable to a blockchain node, wherein the blockchain is deployed with an NFT ownership transfer contract, the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation mode for determining a third random number based on two random numbers and satisfying homomorphic encryption, the method comprising:
[0039] S11: Execute the first ownership transfer transaction, input the elliptic curve encrypted value of the first random number, the second random number and the first proof information, and the elliptic curve encrypted value of the third random number and the second proof information into the verification algorithm of the zero-knowledge proof circuit for verification:
[0040] If the verification is successful, execute step S13: transfer the ownership of the first NFT to the first transferee specified in the first ownership transfer transaction.
[0041] The first proof information is generated according to a first proof algorithm of the zero-knowledge proof circuit; the public input of the first proof algorithm includes an elliptic curve encryption value of the first random number and a second random number, and the private input of the first proof algorithm includes the first random number, an address and a private key of the first transferor of the first NFT;
[0042] The second proof information is generated according to a second proof algorithm of the zero-knowledge proof circuit; the public input of the second proof algorithm includes an elliptic curve encryption value of a third random number, and the private input of the second proof algorithm includes the third random number and the address of the first transferee;
[0043] The third random number is determined according to the first random number, the second random number and the first operation method.
[0044] In this application, the zero-knowledge proof circuit is verified based on the following principles:
[0045] 1. Verify whether the private key and address of the first transferor correspond, and verify whether the address of the first transferor is the address of the owner of the first NFT;
[0046] That is, verify whether the first certification information is generated by the owner of the first NFT;
[0047] 2. R1 = r1 * G;
[0048] r3 = f(r1, r2);
[0049] R3=r3*G=f(r1, r2)*G=f(r1*G, r2*G)=f(R1, R2);
[0050] That is, to verify whether the generator of the second certification information knows r3, only the first transferee designated by the person who knows r3 can pass the verification (those skilled in the art should understand that r3 cannot be calculated based on R3);
[0051] Among them, G is the elliptic curve base point, r1 is the first random number, R1 is the elliptic curve encrypted value of the first random number, r2 is the second random number, R2 is the elliptic curve encrypted value of the second random number, r3 is the third random number, R3 is the elliptic curve encrypted value of the third random number, and f() is the first operation method.
[0052] Those skilled in the art can understand how to generate a zero-knowledge proof circuit according to the above verification principle in a zero-knowledge proof system, and the generated zero-knowledge proof circuit includes a first proof algorithm Prove1(), a second proof algorithm Prove2() and a verification algorithm Verify(), and may also include a generation algorithm Setup(). The specific process will not be repeated here.
[0053] The following is an example of an example in which A uses the NFT3 he holds as a reward for the winner of a decryption competition, provides a transfer certificate before the competition, and B finally wins the decryption competition and receives the NFT3. The above method is exemplified below.
[0054] Before the game, User A generates a first random number r1 and a second random number r2 in response to generating a transfer certificate of NFT3;
[0055] Then generate the elliptic curve encryption value R1=r1*G of the first random number, and the third random number r3=f(r1, r2); wherein f() is the first operation mode configured by the NFT ownership transfer contract;
[0056] Then, the elliptic curve encryption value R1 of the first random number and the second random number r2 are used as the public input of the first proof algorithm Prove1() of the zero-knowledge proof circuit, and the first random number r1, A's address addr1 and private key p1 are used as the private input of the first proof algorithm Prove1() to generate the first proof information prove1:
[0057] Prove1(R1, r2, r1, addr1, p1) → prove1;
[0058] Finally, the elliptic curve encryption value R1 of the first random number, the second random number r2 and the first proof information prove1 are made public as the transfer proof of NFT3, which can be stored on the official website server of the decryption competition, or on the blockchain; at the same time, the third random number r3 is used as the winner's prize voucher (not public).
[0059] After winning the decryption competition, B receives the third random number r3, the winner's prize voucher. At the same time, B's user terminal obtains the elliptic curve encryption value R1 of the first random number, the second random number r2 and the first proof information prove1 from the above-mentioned official website server or blockchain.
[0060] User B uses the elliptic curve encryption value R3 of the third random number as the public input of the second proof algorithm Prove2() of the zero-knowledge proof circuit, and uses the third random number r3 and user B's address addr2 as the private input of the second proof algorithm Prove2() to generate the second proof information prove2:
[0061] Prove2(R3, r3, addr2)→prove2;
[0062] Repackage and generate the ownership transfer transaction tx1 including the elliptic curve encryption value R1 of the first random number, the second random number r2 and the first proof information prove1, as well as the elliptic curve encryption value R3 of the third random number and the second proof information prove2, and send tx1 to the blockchain network.
[0063] In step S11, the blockchain node executes tx1 through the NFT ownership transfer contract, and inputs R1, r2, prove1, R3 and prove2 into the verification algorithm Verify() of the zero-knowledge proof circuit for verification:
[0064] Verify(R1, r2, prove1, R3, prove2)→Yes / No;
[0065] When the output result of the verification algorithm Verify() is No, the verification fails and tx1 execution fails;
[0066] When the output result of the verification algorithm Verify() is Yes, the verification is successful, and step S13 is executed to transfer the ownership of NFT3 to B.
[0067] Those skilled in the art can understand that when a hacker hijacks tx1, he can only parse out R1, r2, prove1, R3 and prove2, but cannot obtain r1 and r3. That is, the hacker can neither reversely deduce r3 based on R3, nor calculate r3 based on r1 and r2. Therefore, without obtaining r3, the hacker cannot generate prove2' that can be verified by the verification algorithm Verify(), resulting in the inability to steal NFT3.
[0068] Those skilled in the art can also understand that the first operation mode f() can be configured as any operation mode commonly used in the art that satisfies homomorphic encryption, and can achieve the same technical effect.
[0069] In the above embodiment, the public input of the first proof algorithm includes the elliptic curve encrypted value of the first random number and the second random number, and the public input of the second proof algorithm includes the elliptic curve encrypted value of the third random number as an example. Figure 1 The method shown is exemplarily explained; in more embodiments, different public inputs can be configured for the first proof algorithm and the second proof algorithm respectively according to actual needs. For example, it can also include the hash value of the first NFT, and so on.
[0070] The above embodiment takes the transferee's user end as an example to package and generate the ownership transfer transaction. Figure 1 The method shown is illustrative;
[0071] In another embodiment, after determining the transferee, the user terminal of the transferor can obtain the address of the first transferee and package and generate an ownership transfer transaction. The user terminal of the transferee only needs to provide the address without performing other operations, and the same technical effect can be achieved.
[0072] The above-mentioned embodiment configures a zero-knowledge proof circuit for verifying the transferor and the transferee in the smart contract and a first operation method that satisfies homomorphic encryption for determining the third random number based on two random numbers, and utilizes the irreversible property of elliptic curve encryption, thereby ensuring that even if a hacker hijacks the transaction, he cannot crack the third random number, and therefore cannot generate a verifiable second proof information to steal the NFT. Ultimately, the transferor can generate a transfer certificate when the transferee is not determined, while ensuring that the NFT will not be stolen by hackers.
[0073] Figure 2 A flowchart of another NFT ownership transfer method provided for an embodiment of the present invention. Figure 2 The method shown can be used with Figure 1 The method shown (packaging the first ownership transfer transaction by the transferee) is executed.
[0074] like Figure 2 As shown, in this embodiment, the present invention also provides an NFT ownership transfer method applicable to the user end of the transferee, the blockchain is deployed with an NFT ownership transfer contract, the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation mode that satisfies homomorphic encryption and determines a third random number based on two random numbers, the method includes:
[0075] S21: Obtain an elliptic curve encrypted value of a first random number, a second random number, and first proof information; wherein the first proof information is generated according to a first proof algorithm of a zero-knowledge proof circuit; the public input of the first proof algorithm includes the elliptic curve encrypted value of the first random number and the second random number, and the private input of the first proof algorithm includes the first random number, the address and private key of the first transferor of the first NFT;
[0076] S23: Obtain a third random number; wherein the third random number is determined according to the first random number, the second random number and the first operation method;
[0077] S25: Generate second proof information according to a second proof algorithm of the zero-knowledge proof circuit; wherein the public input of the second proof algorithm includes the elliptic curve encryption value of the third random number, and the private input of the second proof algorithm includes the third random number and the address of the current user;
[0078] S27: Pack and generate a first ownership transfer transaction including the elliptic curve encryption value of the first random number, the second random number, the first proof information, the elliptic curve encryption value of the third random number and the second proof information and send it to the blockchain network for the blockchain node to execute through the NFT ownership transfer contract, and input the elliptic curve encryption value of the first random number, the second random number, the first proof information, the elliptic curve encryption value of the third random number and the second proof information into the verification algorithm of the zero-knowledge proof circuit for verification:
[0079] If the verification is successful, the ownership of the first NFT will be transferred to the current user.
[0080] Figure 2 The NFT ownership transfer method shown can be referred to Figure 1 The example of packaging the ownership transfer transaction by the transferee in the method shown is not repeated here.
[0081] Figure 3 A flowchart of another NFT ownership transfer method provided for an embodiment of the present invention. Figure 3 The method shown can be used with Figure 1 The method shown (packaging a first ownership transfer transaction by a transferor) is performed.
[0082] like Figure 3 As shown, in another embodiment, the present invention also provides an NFT ownership transfer method applicable to a user terminal of a transferor, wherein a blockchain is deployed with an NFT ownership transfer contract, and the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation mode that satisfies homomorphic encryption and determines a third random number based on two random numbers, the method comprising:
[0083] S31: In response to the current user transferring the ownership of the first NFT held by the current user to the first transferee, obtaining the address of the first transferee;
[0084] S33: Generate first proof information according to a first proof algorithm of the zero-knowledge proof circuit; wherein the public input of the first proof algorithm includes the elliptic curve encryption value of the first random number and the second random number, and the private input of the first proof algorithm includes the first random number, the address and private key of the current user;
[0085] S35: Determine a third random number according to the first random number, the second random number and the first operation method;
[0086] S37: Generate second proof information according to a second proof algorithm of the zero-knowledge proof circuit; wherein the public input of the second proof algorithm includes the elliptic curve encryption value of the third random number, and the private input of the second proof algorithm includes the third random number and the address of the first transferee;
[0087] S39: Pack and generate a first ownership transfer transaction including the elliptic curve encryption value of the first random number, the second random number, the first proof information, the elliptic curve encryption value of the third random number and the second proof information and send it to the blockchain network for the blockchain node to execute through the NFT ownership transfer contract, and input the elliptic curve encryption value of the first random number, the second random number, the first proof information, the elliptic curve encryption value of the third random number and the second proof information into the verification algorithm of the zero-knowledge proof circuit for verification:
[0088] If the verification is successful, the ownership of the first NFT will be transferred to the first transferee.
[0089] Figure 3 The NFT ownership transfer method shown can be referred to Figure 1 The example of packaging the ownership transfer transaction by the transferor in the method shown is not repeated here.
[0090] Figure 4 A schematic diagram of the structure of a computer device provided by an embodiment of the present invention.
[0091] like Figure 4 As shown, as another aspect, the present application also provides a computer device 400, including one or more central processing units (CPU) 401, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 402 or the program loaded from the storage part 408 to the random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the device 400 are also stored. The CPU 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0092] The following components are connected to the I / O interface 405: an input section 406 including a keyboard, a mouse, etc.; an output section 407 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN card, a modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. A removable medium 411, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 410 as needed, so that a computer program read therefrom is installed into the storage section 408 as needed.
[0093] In particular, according to an embodiment of the present disclosure, the method described in any of the above embodiments can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program tangibly contained on a machine-readable medium, and the computer program includes a program code for executing any of the above methods. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 409, and / or installed from the removable medium 411.
[0094] As another aspect, the present application also provides a computer-readable storage medium, which may be a computer-readable storage medium included in the apparatus of the above embodiment; or a computer-readable storage medium that exists independently and is not assembled into the device. The computer-readable storage medium stores one or more programs, which are used by one or more processors to execute the method described in the present application.
[0095] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a dedicated hardware-based system that performs a specified function or operation, or can be realized by a combination of dedicated hardware and computer instructions.
[0096] The units or modules involved in the embodiments described in the present application may be implemented by software or by hardware. The units or modules described may also be provided in a processor. For example, each unit may be a software program provided in a computer or a mobile smart device, or may be a separately configured hardware device. The names of these units or modules do not, in some cases, constitute limitations on the units or modules themselves.
[0097] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the concept of the present application. For example, the above features are replaced with the technical features with similar functions disclosed in the present application (but not limited to) to form a technical solution.
Claims
1. A method for transferring NFT ownership, characterized in that: The blockchain is deployed with an NFT ownership transfer contract, the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation mode that satisfies homomorphic encryption for determining a third random number based on two random numbers, the method is applicable to a blockchain node, and the method includes: Execute a first ownership transfer transaction, input the elliptic curve encrypted value of the first random number, the second random number and the first proof information, and the elliptic curve encrypted value of the third random number and the second proof information into the verification algorithm of the zero-knowledge proof circuit for verification: If the verification is successful, the ownership of the first NFT is transferred to the first transferee specified in the first ownership transfer transaction; The first proof information is generated according to a first proof algorithm of the zero-knowledge proof circuit; the public input of the first proof algorithm includes the elliptic curve encryption value of the first random number and the second random number, and the private input of the first proof algorithm includes the first random number, the address and private key of the first transferor of the first NFT; The second proof information is generated according to a second proof algorithm of the zero-knowledge proof circuit; the public input of the second proof algorithm includes the elliptic curve encryption value of the third random number, and the private input of the second proof algorithm includes the third random number and the address of the first transferee; The third random number is determined according to the first random number, the second random number and the first operation mode.
2. The method according to claim 1, characterized in that The first ownership transfer transaction is packaged and generated by the user terminal of the first transferor of the first NFT after obtaining the address of the first transferee.
3. The method according to claim 1, characterized in that The first ownership transfer transaction is generated by the user end of the first transferee after obtaining the elliptic curve encryption value of the first random number, the second random number, the first certification information and the third random number.
4. A method for transferring NFT ownership, characterized in that: The blockchain is deployed with an NFT ownership transfer contract, the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation method that satisfies homomorphic encryption for determining a third random number based on two random numbers, the method is applicable to the user end of the transferee, and the method includes: Obtain an elliptic curve encrypted value of a first random number, a second random number, and first proof information; wherein the first proof information is generated according to a first proof algorithm of the zero-knowledge proof circuit; the public input of the first proof algorithm includes the elliptic curve encrypted value of the first random number and the second random number, and the private input of the first proof algorithm includes the first random number, the address and private key of the first transferor of the first NFT; Obtaining a third random number; wherein the third random number is determined according to the first random number, the second random number and the first operation mode; Generate second proof information according to a second proof algorithm of the zero-knowledge proof circuit; wherein the public input of the second proof algorithm includes the elliptic curve encryption value of the third random number, and the private input of the second proof algorithm includes the third random number and the address of the current user; A first ownership transfer transaction including the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number, and the second proof information is packaged and generated and sent to the blockchain network for execution by the blockchain node through the NFT ownership transfer contract, and the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number, and the second proof information are input into the verification algorithm of the zero-knowledge proof circuit for verification: If the verification is successful, the ownership of the first NFT will be transferred to the current user.
5. A method for transferring NFT ownership, characterized in that: The blockchain is deployed with an NFT ownership transfer contract, the NFT ownership transfer contract is configured with a zero-knowledge proof circuit for verifying the transferor and the transferee, and a first operation method that satisfies homomorphic encryption for determining a third random number based on two random numbers. The method is applicable to the user end of the transferor, and the method includes: In response to the current user transferring the ownership of the first NFT held by the current user to the first transferee, obtaining the address of the first transferee; Generate first proof information according to a first proof algorithm of the zero-knowledge proof circuit; wherein the public input of the first proof algorithm includes the elliptic curve encryption value of the first random number and the second random number, and the private input of the first proof algorithm includes the first random number, the address and private key of the current user; Determine a third random number according to the first random number, the second random number and the first operation method; Generate second proof information according to a second proof algorithm of the zero-knowledge proof circuit; wherein the public input of the second proof algorithm includes the elliptic curve encryption value of the third random number, and the private input of the second proof algorithm includes the third random number and the address of the first transferee; A first ownership transfer transaction including the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number, and the second proof information is packaged and generated and sent to the blockchain network for execution by the blockchain node through the NFT ownership transfer contract, and the elliptic curve encrypted value of the first random number, the second random number, the first proof information, the elliptic curve encrypted value of the third random number, and the second proof information are input into the verification algorithm of the zero-knowledge proof circuit for verification: If the verification is successful, the ownership of the first NFT will be transferred to the first transferee.
6. A computer device, characterized in that: The device comprises: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors are caused to perform the method according to any one of claims 1 to 5.
7. A storage medium storing a computer program, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Parallel chain consensus method, computer equipment and storage medium
CN113206851A
Decentralized encrypted communication and transaction system
CN113256290A
Cited By
NFT enforcement control system
US12749060B2