NFT anonymous transaction system

Through the NFT anonymous trading system based on discrete logarithmic assumption and Pedersen commitment, the problem of identity exposure in NFT transactions is solved, anonymity and privacy protection is achieved, security risks are reduced, and the activity of the trading market is promoted.

CN120563237AInactive Publication Date: 2025-08-29SU ZHOU JI AN KE JI YOU XIAN GONG SI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510583745.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-07
Publication Date
2025-08-29
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In the existing NFT trading system, NFT ownership is stored explicitly on the blockchain, resulting in the exposure of the holder's identity, privacy concerns and security risks. The existing anonymous trading solution cannot effectively hide the identity and transaction details of the NFT owner, and it is expensive.

Method used

An anonymous trading system based on discrete logarithmic assumptions was designed, using Pedersen commitment and Schnorr protocols, combining non-interactive commitment proof, combined with Ethereum blockchain, the anonymity and privacy protection of NFT transactions were achieved. The user module generates orders and processes them through the market module. The blockchain module completes NFT transfer and uses the promised value to hide the owner's identity.

Benefits of technology

It realizes the anonymity and privacy protection of NFT transactions, reduces the risks of cyber attacks and identity theft, promotes liquidity and activity in the trading market, and is compatible with existing NFT transaction smart contracts, and is low in cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120563237A_ABST
    Figure CN120563237A_ABST
Patent Text Reader

Abstract

The invention discloses an NFT anonymous transaction system, which comprises a user module, a market module and a block chain module, and is characterized in that the market module establishes data connection with the user module and the block chain module; the method is based on Ethereum block chain design, is compatible with an existing NFT transaction intelligent contract and mode, is simple and convenient to implement, only increases acceptable extra transaction cost, has remarkable comprehensive benefits, is based on discrete logarithm hypothesis, constructs a non-interactive promise proof by using a Pedersen promise and a Schnorr protocol, realizes NFT anonymous transaction, and improves the transaction efficiency. According to the method, the requirements of transaction participants for privacy and anonymity are met, the risks of network attacks, identity theft and fraudulent behaviors are reduced due to the fact that the identities of the participants are not open, meanwhile, the worries of the participants about unfavorable consequences such as identity exposure are eliminated through anonymous transaction, more people are encouraged to participate in digital asset transaction, and the transaction efficiency is improved. And the mobility and activeness of the transaction market are promoted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and specifically to an NFT anonymous trading system. Background Art

[0002] Non-fungible tokens (NFTs), digital assets based on blockchain technology, are unique and non-interchangeable, and are widely used in fields such as art and entertainment. However, NFTs have a serious security flaw: the privacy of NFT ownership. In current NFT systems, owner addresses are stored in plain text on the blockchain, making it easy to view other people's NFT assets through blockchain browsers. This exposes the holder's identity, raises privacy concerns, and may also pose security risks, such as scammers targeting NFT owners.

[0003] In the existing technology, a variety of solutions have been proposed to solve the privacy issues of blockchain transactions. For example, the anonymity of transactions can be achieved through currency mixing technology. However, currency mixing technology relies heavily on the substitutability of tokens to confuse the liquidity of cryptocurrencies. This means that in the currency mixing pool, non-homogeneous tokens will be immediately identified and therefore cannot be applied to NFT transactions. Some solutions to protect blockchain privacy only hide the transaction amount and have no effect on the data stored in the smart contract. They cannot meet the comprehensive requirements of NFT transaction privacy protection and cannot effectively hide the identity of NFT owners and transaction details. Announcement No. CN11 Patent 4218591A discloses a digital asset management method that can realize anonymous transactions. The data on the chain is only a hash value, and the asset ownership is verified off-chain, which is susceptible to system maliciousness. The security of anonymous transactions depends on third parties, the blockchain integration is poor, and the transaction information transparency is too high; the patent with announcement number CN114565384A discloses an NFT privacy transaction method, computer equipment and storage medium, which has restrictions on the payment currency and cannot use the blockchain main currency for payment on the mainstream public chain. The anonymity is insufficient and additional hardware equipment is required to implement the zero-knowledge proof circuit, which is costly. Summary of the Invention

[0004] The purpose of the present invention is to provide an NFT anonymous trading system to solve the problems raised in the above background technology.

[0005] To achieve the above-mentioned objectives, the present invention provides the following technical solutions: an NFT anonymous trading system, comprising a user module, a market module and a blockchain module, wherein the market module establishes data connections with the user module and the blockchain module respectively.

[0006] Preferably, the market module publishes public parameters based on the discrete logarithm hypothesis, specifically: a group G on a finite elliptic curve field is selected, with order p, two generators g and h=g a, and publish (G, g, h, p) as public parameters, where a is a secret.

[0007] Preferably, the user module includes a seller order generation submodule, a buyer order generation submodule and an authorization agent submodule. The seller order generation submodule is used to generate an order for selling NFTs. The order contains the NFT number, price, listing time, expiration time, call information and the commitment value of the seller's address, as well as the signature value of all the above messages signed by the temporary key. The buyer order generation submodule is used to generate an order for purchasing NFTs. The order content includes the target token, bid, listing time, expiration time and the commitment value of the buyer's address, as well as the signature value of all the above messages signed by the temporary key. The authorization agent submodule is used to generate a user authorization agent message.

[0008] Preferably, the commitment value is calculated using the Pedersen commitment formula, and the specific calculation method is: for user x with address addr x , generate a random secret value r x ∈Z p , and calculate the commitment value C of the address by the following formula x To address addr x Make a commitment:

[0009]

[0010] Preferably, the market module includes an order processing submodule, a message forwarding submodule, a payment management submodule and a database submodule. The order processing submodule is used to receive buyer and seller orders, and check whether the buyer has transferred sufficient Ether to the designated transit account, and pair the buyer and seller orders. The message forwarding submodule is used to forward the user authorization agent message to the blockchain module. The payment management submodule is used to pay Ether to the seller using the transit address after completing the NFT transaction. The database submodule is used to store buyer and seller orders, and also to store the mapping relationship between temporary addresses and owners.

[0011] Preferably, the blockchain module includes a proxy contract submodule and a transaction contract submodule. The proxy contract submodule includes a proxy registration unit and a transaction execution unit. The transaction contract submodule includes an order verification unit and a transaction cancellation unit. The proxy registration unit processes the user's proxy registration request, registers a new proxy and records the mapping relationship between the proxy and the user. The transaction execution unit is used to replace the ownership field of the specified NFT with the buyer's commitment value to complete the transfer of ownership of the NFT. The order verification unit is used to verify the buyer and seller orders. The transaction cancellation unit is used to execute a transaction cancellation operation after the buyer and seller order verification fails.

[0012] Preferably, the order verification unit includes an order matching subunit, a transaction status locking subunit, a signature verification subunit, a commitment proof verification subunit, a buyer verification subunit and a seller verification subunit. The order matching subunit is used to compare the NFT number, price, bid and validity period of the buyer's and seller's orders to determine whether the orders match. The transaction status locking subunit is used to lock the transaction status of the specified NFT after confirming the order match. The signature verification subunit is used to verify the validity of the signatures of the buyer and seller's orders. The commitment proof verification subunit is used to verify the seller's commitment proof and confirm the seller's ownership of the NFT. The buyer verification subunit is used to check whether the buyer's agent has passed the identity authentication. The seller verification subunit is used to verify the identity of the seller's agent and ensure that the agent has the right to perform NFT transfer operations.

[0013] Compared with the existing technology, the beneficial effects of the present invention are: the present invention is designed based on the Ethereum blockchain, is compatible with existing NFT transaction smart contracts and models, is easy to implement, and only adds acceptable additional transaction fees, with significant comprehensive benefits. The present invention is based on the discrete logarithm hypothesis and constructs a non-interactive commitment proof by using Pedersen commitments and Schnorr protocols, thereby realizing NFT anonymous transactions and meeting the privacy and anonymity needs of transaction participants. Moreover, since the identities of the participants are not disclosed, the risks of network attacks, identity theft and fraud are reduced. At the same time, anonymous transactions eliminate the participants' concerns about adverse consequences such as identity exposure, encourage more people to participate in digital asset transactions, and promote the liquidity and activity of the trading market. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 It is a system structure block diagram of the present invention;

[0015] Figure 2 It is a structural block diagram of the user module of the present invention;

[0016] Figure 3 This is a structural diagram of the market module of the present invention;

[0017] Figure 4 This is a block diagram of the blockchain module structure of the present invention;

[0018] Figure 5 This is a structural block diagram of the order checking unit of the present invention;

[0019] Figure 6 It is a framework diagram of the present invention;

[0020] Figure 7 is a system flow chart of the present invention;

[0021] Figure 8 It is the order checking flow chart of the present invention.

[0022] In the figure: 1. User module; 11. Seller order generation submodule; 12. Buyer order generation submodule; 13. Authorization agent submodule; 2. Market module; 21. Order processing submodule; 22. Message forwarding submodule; 23. Payment management submodule; 24. Database submodule; 3. Blockchain module; 31. Agent contract submodule; 311. Agent registration unit; 312. Transaction execution unit; 32. Transaction contract submodule; 321. Order verification unit; 3211. Order matching subunit; 3212. Transaction status locking subunit; 3213. Signature verification subunit; 3214. Proof of commitment verification subunit; 3215. Buyer verification subunit; 3216. Seller verification subunit; 322. Transaction cancellation unit. DETAILED DESCRIPTION

[0023] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0024] Please see the attached Figure 1 -Attached Figure 8 , an embodiment provided by the present invention: an NFT anonymous trading system, including a user module 1, a market module 2 and a blockchain module 3, wherein the market module 2 establishes data connections with the user module 1 and the blockchain module 3 respectively, and the market module 2 publishes public parameters based on the discrete logarithm hypothesis, specifically: a group G on a finite elliptic curve field is selected, with order p, two generators g and h = g a , and publish (G, g, h, p) as public parameters, where a is a secret. The user module 1 includes a seller order generation submodule 11, a buyer order generation submodule 12 and an authorization agent submodule 13. The seller order generation submodule 11 is used to generate an order for selling NFTs. The order contains the NFT number, price, listing time, expiration time, call information and the commitment value of the seller's address, as well as the signature value of all the above messages signed by the temporary key. The buyer order generation submodule 12 is used to generate an order for purchasing NFTs. The order content includes the target token, bid, listing time, expiration time and the commitment value of the buyer's address, as well as the signature value of all the above messages signed by the temporary key. The authorization agent submodule 13 is used to generate a user authorization agent message. The commitment value is calculated using the Pedersen commitment formula. The specific calculation method is: for user x with address addr x , generate a random secret value r x ∈Z p , and calculate the commitment value C of the address by the following formula xTo address addr x Make a commitment:

[0025]

[0026] The market module 2 includes an order processing submodule 21, a message forwarding submodule 22, a payment management submodule 23 and a database submodule 24. The order processing submodule 21 is used to receive buyer and seller orders, and check whether the buyer has transferred enough Ether to the designated transfer account, and pair the buyer and seller orders. The message forwarding submodule 22 is used to forward the user authorization agent message to the blockchain module 3. The payment management submodule 23 is used to pay Ether to the seller using the transfer address after completing the NFT transaction. The database submodule 24 is used to store buyer and seller orders, and is also used to store the mapping relationship between temporary addresses and owners. The blockchain module 3 includes an agent contract submodule 31 and a transaction contract submodule 32. The agent contract submodule 31 includes an agent registration unit 311 and a transaction execution unit 312. The transaction contract submodule 32 includes an order verification unit 321 and a transaction cancellation unit 322. The agent registration unit 311 processes the user's agent registration request, registers a new agent and records the mapping relationship between the agent and the user. The transaction execution unit 312 is used to replace the ownership field of the specified NFT with the buyer's commitment value. , complete the transfer of NFT ownership, the order verification unit 321 is used to verify the buyer and seller orders, the transaction cancellation unit 322 is used to cancel the transaction after the buyer and seller order verification fails, the order verification unit 321 includes an order matching subunit 3211, a transaction status locking subunit 3212, a signature verification subunit 3213, a commitment proof verification subunit 3214, a buyer verification subunit 3215 and a seller verification subunit 3216, the order matching subunit 3211 is used to compare the NFT number, price, and output of the buyer and seller orders. The transaction status locking subunit 3212 is used to lock the transaction status of the specified NFT after confirming the order match. The signature verification subunit 3213 is used to verify the validity of the signatures of the buyer and seller orders. The commitment proof verification subunit 3214 is used to verify the seller's commitment proof and confirm the seller's ownership of the NFT. The buyer verification subunit 3215 is used to check whether the buyer's agent has passed the identity authentication. The seller verification subunit 3216 is used to verify the identity of the seller's agent to ensure that the agent has the right to perform the NFT transfer operation.

[0027] Working principle: When using the present invention, the user module 1 generates an order to the market module 2, the market module 2 completes the order processing, and the Ethereum-based blockchain module 3 completes the transfer of NFT. The specific method is: user Alice is the owner of the NFT, and user Bob wants to buy the NFT. Then user Bob is the buyer, and a buyer order as shown in Table 2 is generated through the buyer order generation submodule 12. User Alice is the seller, and a seller order as shown in Table 1 is generated through the seller order generation submodule 11. For user Alice with address addr1, a random secret value r1∈Z is generated. p , then the commitment value In non-anonymous mode, the NFT contract stores a list of NFT IDs containing the corresponding owner addresses. When using anonymous mode, the owner's address is not stored, but C Alice , through the commitment of the address to indicate that the owner of the NFT exists but is hidden; for user Bob with address addr2, a random secret value r2∈Z is generated p , then the commitment value Both the buyer's order and the seller's order are sent to the order processing submodule 21, which matches them and checks whether user Bob has transferred enough ether to the designated transfer account. At the same time, user Alice will generate a message authorizing the agent to access the specified NFT through the authorization agent submodule 13 and sign it with a temporary key:

[0028] m auth ="AUTH"||NFTID||timestamp

[0029] sign auth =sign(m auth , Sk t,Alice )

[0030] (m auth ,Sign auth ) is sent to the message forwarding submodule 22, which forwards it to the proxy registration unit 311 of the proxy contract submodule 31. After receiving the message and signature, the proxy registration unit 311 checks the validity of the timestamp and then performs signature verification. If the signature is authIf it is accepted, the corresponding agent and NFT are added as new entries to a list that stores all entrusted agents and their designated NFTs; during the pairing process of the order processing submodule 21, if the orders of the buyer and seller are successfully matched based on the NFT number, price, etc., the order processing submodule 21 will package the seller's order, seller's signature, buyer's order, and buyer's signature and submit them to the order verification unit 321 of the transaction contract submodule 32. The order verification unit 321 will process it according to the following steps: first, the order matching subunit 3211 checks whether the two orders match by comparing the NFT number, price and bid as well as the validity period, and the transaction status locking subunit 3212 locks the transaction status of the designated NFT, and then the signature verification subunit 3213 verifies the validity of the buyer and seller signatures, and then the commitment proof verification subunit 3214 verifies the seller's commitment proof, and the buyer verification subunit 3215 verifies whether the buyer's agent has passed the identity authentication, and the seller verification subunit 321 6 Verify whether the seller's agent has passed the identity authentication; if any step in the above process fails, the transaction cancellation unit 322 will cancel the transaction and send an error message to the market module 2; if each step in the above process is successful, the seller's agent is called and the call data is passed to the transaction execution unit 312. The transaction execution unit 312 receives the call data and executes it, replacing the ownership field of the specified NFT with the buyer's commitment value to complete the transfer of ownership of the NFT, and the event of this transaction completion is issued as a transaction receipt. After receiving the information that the transaction is successful, the market module 2 will use the transit address to pay Ether to the seller through the payment management submodule 23 as the seller's income from selling NFT; Among them, in the agent contract submodule 31, the agent registration unit 311 is responsible for registering new agents and recording the mapping relationship between the agent and the corresponding owner. The user does not directly interact with the contract to register the agent. When registering a new agent, each user generates a new key pair (pk t ,sk t ), called the temporary key, sk t Keep it secret and use pk t Generated address addr t Submit a request to apply for a new agent to the market through the off-chain channel. The format of the temporary key is the same as the blockchain key pair, but the user should never use it except in the case of NFT transactions. Let U be the space of all blockchain users and T be all temporary addresses addr t space, record the mapping relationship Represents the relationship between a temporary address and its owner. The relationship UT is stored in the database submodule 24 as confidential information of the market database, which means that the owner of a given temporary address is only known by the market module 2 and the owner himself. Then, the market module 2 calls the registration contract function and initializes a new proxy by passing the temporary address as the owner address to the proxy. The owner of the newly generated proxy is recorded as addr t ,In this way, the connection between the agent and the owner is maintained by the temporary secret key.

[0031] Table 1 Order content from user Alice

[0032]

[0033]

[0034] Table 2 Order content from user Bob

[0035]

[0036] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered in all respects as illustrative and non-restrictive, and the scope of the invention is defined by the appended claims, not the foregoing description, and all variations within the meaning and range of equivalents of the claims are intended to be included therein. Any reference sign in a claim should not be construed as limiting the claim to which it relates.

Claims

1. The NFT anonymous trading system includes a user module (1), a market module (2) and a blockchain module (3), and is characterized by: The market module (2) establishes data connections with the user module (1) and the blockchain module (3) respectively.

2. The NFT anonymous trading system according to claim 1, characterized in that: The market module (2) publishes public parameters based on the discrete logarithm hypothesis, specifically: a group G on a finite elliptic curve field is selected, with order p, two generators g and h=g a , and publish (G, g, h, p) as public parameters, where a is a secret.

3. The NFT anonymous trading system according to claim 1, characterized in that: The user module (1) includes a seller order generation submodule (11), a buyer order generation submodule (12) and an authorization agent submodule (13). The seller order generation submodule (11) is used to generate an order for selling NFTs, the order including the NFT number, price, listing time, expiration time, call information and the commitment value of the seller's address, as well as the signature value of all the above messages signed by the temporary key. The buyer order generation submodule (12) is used to generate an order for purchasing NFTs, the order content including the target token, bid, listing time, expiration time and the commitment value of the buyer's address, as well as the signature value of all the above messages signed by the temporary key. The authorization agent submodule (13) is used to generate a user authorization agent message.

4. The NFT anonymous trading system according to claim 3, characterized in that: The commitment value is calculated using the Pedersen commitment formula: For user x with address addr x , generate a random secret value r x ∈Z p , and calculate the commitment value C of the address by the following formula x To address addr x Make a commitment:

5. The NFT anonymous trading system according to claim 1, characterized in that: The market module (2) includes an order processing submodule (21), a message forwarding submodule (22), a payment management submodule (23) and a database submodule (24). The order processing submodule (21) is used to receive buyer and seller orders, and check whether the buyer has transferred sufficient ether to the designated transit account, and at the same time match the buyer and seller orders. The message forwarding submodule (22) is used to forward the user authorization agent message to the blockchain module (3). The payment management submodule (23) is used to pay ether to the seller using the transit address after completing the NFT transaction. The database submodule (24) is used to store buyer and seller orders, and also to store the mapping relationship between temporary addresses and owners.

6. The NFT anonymous trading system according to claim 1, characterized in that: The blockchain module (3) includes an agent contract submodule (31) and a transaction contract submodule (32), the agent contract submodule (31) includes an agent registration unit (311) and a transaction execution unit (312), the transaction contract submodule (32) includes an order verification unit (321) and a transaction cancellation unit (322), the agent registration unit (311) processes the user's agent registration request, registers a new agent and records the mapping relationship between the agent and the user, the transaction execution unit (312) is used to replace the ownership field of the specified NFT with the buyer's commitment value to complete the transfer of NFT ownership, the order verification unit (321) is used to verify the buyer and seller orders, and the transaction cancellation unit (322) is used to cancel the transaction after the buyer and seller order verification fails.

7. The NFT anonymous trading system according to claim 6, characterized in that: The order checking unit (321) includes an order matching subunit (3211), a transaction status locking subunit (3212), a signature verification subunit (3213), a commitment proof verification subunit (3214), a buyer verification subunit (3215) and a seller verification subunit (3216). The order matching subunit (3211) is used to compare the NFT number, price, bid and validity period of the buyer's and seller's orders to determine whether the orders match. The transaction status locking subunit (3212) is used to lock the transaction status of the specified NFT after confirming the order match. The signature verification subunit (3213) is used to verify the validity of the signatures of the buyer's and seller's orders. The commitment proof verification subunit (3214) is used to verify the seller's commitment proof and confirm the seller's ownership of the NFT. The buyer verification subunit (3215) is used to check whether the buyer's agent has passed the identity authentication. The seller verification subunit (3216) is used to verify the identity of the seller's agent to ensure that the agent has the right to perform the NFT transfer operation.

Citation Information

Patent Citations

  • Digital asset management method capable of realizing anonymous transaction

    CN114218591A

  • NFT private transaction method, computer equipment and storage medium

    CN114565384A