Cointime

Download App
iOS & Android

Privacy NFT Marketplace

From etheresearch by terry

Introduction

In the rapidly evolving realm of Non-Fungible Tokens (NFTs), the need for privacy in ownership transactions has never been more crucial. Existing NFT marketplaces expose sensitive details on public blockchains, compromising user privacy. Our solution, the Privacy NFT Marketplace, introduces a pioneering approach using zk-SNARKs technology to safeguard user identities during NFT transactions.

This proposal outlines a secure and decentralized platform that leverages cryptographic proofs, allowing verifiable transactions without disclosing sensitive information. By prioritizing privacy through zk-SNARKs, our proposal addresses current privacy concerns in NFT ownership, fostering trust and confidence among users. This innovation aims to redefine the NFT landscape, encouraging broader adoption and contributing to the development of a privacy-centric NFT ecosystem.

How it works

Seller

Step 1: Deposit NFT and Generate Nullifier

  • The seller initiates the process by depositing their NFT into the marketplace’s state Merkle tree and generates a new spending NFT nullifier associated with the deposited NFT.

Step 2: Create Sell Order

  1. Public: Listing Information: The seller creates a sell order, providing essential information.Collection Address: The address of the NFT collection.Token ID: The unique identifier of the NFT.Amount: The desired selling price.
  2. Collection Address: The address of the NFT collection.
  3. Token ID: The unique identifier of the NFT.
  4. Amount: The desired selling price.
  5. Private: Generate Seller’s ERC20 Nullifier:The seller generates a new spending ERC20 nullifier associated with the sale amount and a seller spending key.
  6. The seller generates a new spending ERC20 nullifier associated with the sale amount and a seller spending key.
  7. Public: Spending NFT Proofs:The seller creates proofs containing the collection address, token ID, spending NFT nullifier, and selling amount.
  8. The seller creates proofs containing the collection address, token ID, spending NFT nullifier, and selling amount.

→ (Collection address, token id, amount, new seller’s ERC20 Nullifier hash, spending NFT Proofs)

Buyer

Step 1: Deposit ERC20 and Generate Nullifier

  • The buyer deposits ERC20 into the marketplace’s state Merkle tree and generates a new spending ERC20 nullifier associated with the deposited amount

Step 2: Create Accept-Sell Order

  1. Listing Lookup and Information:The buyer looks up the listing information on the public marketplace and decides to make a purchase.The buyer creates an accept-sell order, providing necessary details.Collection Address, Token ID, Amount.
  2. The buyer looks up the listing information on the public marketplace and decides to make a purchase.
  3. The buyer creates an accept-sell order, providing necessary details.Collection Address, Token ID, Amount.
  4. Collection Address, Token ID, Amount.
  5. Spending ERC20 Proofs:The buyer generates proofs containing the collection address, token id and lists proofs of their spending ERC20 nullifier.
  6. The buyer generates proofs containing the collection address, token id and lists proofs of their spending ERC20 nullifier.
  7. Generate New Buyer’s Nullifiers:New Buyer Spending NFT Nullifier: Associated with the collection address, token ID, and buyer spending key.New Buyer Spending Left-ERC20 Nullifier: Associated with the total deposit amount minus the NFT price.
  8. New Buyer Spending NFT Nullifier: Associated with the collection address, token ID, and buyer spending key.
  9. New Buyer Spending Left-ERC20 Nullifier: Associated with the total deposit amount minus the NFT price.

→ (Collection address, token id, amount, new buyer’s NFT Nullifier hash, new buyer’s ERC20 Nullifier hash, spending ERC20 proofs)

On-chain Verifier

The on-chain verifier function receives the following parameters:

  • Collection Address
  • Token ID
  • Amount
  • New Seller Spending ERC20 Nullifier Hash
  • Seller Spending NFT Proofs
  • Buyer Spending ERC20 Proofs
  • New Buyer Spending NFT Nullifier Hash
  • New Buyer Spending Left-ERC20 Nullifier Hash

Verification Steps:

Verify all nullifiers hash are available

  1. Verify Seller’s ERC20 Nullifier Hash:Confirm the amount in the new seller spending ERC20 nullifier hash.
  2. Confirm the amount in the new seller spending ERC20 nullifier hash.
  3. Verify Seller’s NFT Proofs:Validate the seller’s spending NFT proofs.Validate proof with given amount
  4. Validate the seller’s spending NFT proofs.
  5. Validate proof with given amount
  6. Verify Buyer’s ERC20 Proofs and Nullifier Hash:Confirm the buyer’s spending ERC20 proofs and new buyer spending left-ERC20 nullifier hash.Validate proof with given collection address and token id
  7. Confirm the buyer’s spending ERC20 proofs and new buyer spending left-ERC20 nullifier hash.
  8. Validate proof with given collection address and token id
  9. Verify Collection Address and Token ID in Buyer’s NFT Nullifier Hash:Ensure the correctness of the collection address and token ID in the new buyer spending NFT nullifier hash.
  10. Ensure the correctness of the collection address and token ID in the new buyer spending NFT nullifier hash.

Update state:

  1. Mark seller’s spending NFT nullifier hash as used
  2. Mark buyer’s spending ERC20 nullifier hash as used
  3. Add seller’s spending ERC20 nullifier hash to state tree
  4. Add buyer’s spending NFT nullifier hash to state tree
  5. Add buyer’s spending left-ERC20 nullifier to state tree

This robust verification process ensures the integrity and security of the NFT transaction on our marketplace, providing a trustworthy environment for both sellers and buyers.

Certainly! If you have any questions or need further clarification on any aspect of the process outlined above, feel free to comment

Comments

All Comments

Recommended for you

  • Philippines central bank approves peso stablecoin pilot

    The Philippines central bank has authorized Coins.ph to initiate a pilot program for a new Philippine Peso-backed stablecoin, PHPC, under its Regulatory Sandbox Framework. This pilot aims to integrate PHPC into significant remittance channels to enhance the efficiency of transactions within the substantial Philippine remittance market. Coins.ph plans to launch the stablecoin by early June, following comprehensive real-world application testing to potentially achieve full regulatory approval.

  • The Sonne Finance hacker address has exchanged 56 WBTC into about 1,185 ETH

    According to PeckShield's monitoring, Sonne Finance hacker address 0x6277...4c07 has exchanged 56 WBTC for approximately 1,185 ETH and 3 WBTC for 183,000 DAI.

  • ECB Governing Council: We are likely to start cutting interest rates in June

    ECB committee member Villeroy stated that it is very likely that we will begin cutting interest rates in June.

  • Former FTX executive Ryan Salame asks court for leniency, sentences him to 18 months in prison

    According to a sentencing memorandum submitted on Tuesday, former FTX executive Ryan Salame pleaded guilty in September of last year to conspiring to make illegal political contributions and conspiring to operate an unlicensed money transmission business. His lawyer requested leniency from the court and for him to serve an 18-month sentence. While working at FTX and Alameda, Salame managed wire deposits and fiat currency exchanges for FTX clients, used Alameda funds to make political contributions, and led charity efforts in the Bahamas.

  • Hong Kong police arrested a 1 million USDT fraud gang and seized 3,000 ghost coins

    According to a report from Sing Tao Daily, Hong Kong police received a report from a 35-year-old man on April 12th, claiming that he was unable to recover cash after reselling approximately 1 million yuan worth of virtual currency USDT in a shop in Tsim Sha Tsui and suspected that he had been deceived.After an investigation by the Technology and Wealth Crime Group of the Yau Tsim Police District, the police launched an operation in multiple areas of Hong Kong on May 13th and arrested three local men aged between 31 and 34 years old, who were suspected of obtaining property by deception.The police found 3,000 fake banknotes, a money clip and a counting machine in the shop. The investigation showed that the arrested men showed the victim fake banknotes and asked him to transfer virtual currency to a designated wallet, and then refused to hand over the cash for various reasons, resulting in the victim losing approximately 1 million yuan worth of virtual currency.

  • Yesterday, Tether issued $110 million USDT and redeemed $23 million USDT

    According to ChainArgos monitoring, on May 14th, Tether issued a total of 110 million USDT and redeemed 23 million USDT.

  • El Salvador Launches Bitcoin-Based Financing for New Airport Hotel

    El Salvador has launched the announcement of Bitcoin financing for the vacation hotel at San Salvador International Airport, with a target financing goal of $6.25 million. The funds will be used to build a five-story facility covering 4,484 square meters, with 80 guest rooms, commercial space, swimming pool, and other facilities. The hotel is located inside the airport, making it the only hotel service provider in the area. The minimum investment amount for this investment opportunity is $1,000, with 6,250 tokens available for selection, each token paying a 10% annual yield every six months. The project is supervised by Inversiones Laguardia SA de CV and promoted through Bitfinex Securities.

  • US Bitcoin ETF holds nearly $60 billion worth of BTC

    As monitored by HODL15Capital, the value of Bitcoin held by US Bitcoin ETFs is currently close to $60 billion. This week, a total of 2,667 Bitcoins were purchased. Grayscale GBTC is the only ETF with net outflows.

  • Sonne Finance: This attack was a donation attack. We are investigating the attacker and have suspended the market.

    Sonne Finance released an attack analysis report. This was a donation attack. Sonne had avoided this problem in the past by adding a collateral factor of 0% to the market, adding collateral and then destroying it, and only then increasing c-factors according to the proposal. Sonne recently passed a proposal to add the VELO market to Sonne. This transaction was arranged on a multi-signature wallet, and c-factors were arranged to be executed within 2 days due to the time lock. When the 2-day time lock for creating the market ended, the attacker executed 4 of the transactions and then executed the transaction to add c-factors to the market. The attacker was able to use the protocol to obtain approximately $20 million in funds through a known donation attack. Seal contributors quickly noticed this issue and reserved approximately $6.5 million by adding VELO worth approximately $100 to the market. Sonne is investigating the attacker and has suspended the market to mitigate further losses. Sonne is prepared to offer a bounty to the attacker and promises not to pursue the issue further if the attacker returns the funds.

  • Sonne Finance confirms attack, but still has about $6.5 million in funds

    On May 15th, Sonne Finance announced that its Optimism protocol had suffered a known donation attack, resulting in a loss of approximately $20 million. The attack exploited a vulnerability in the newly launched market and within two days of its creation, the attacker used a multi-signature wallet and time-lock function to execute critical transactions, successfully manipulating the market's collateral factors (c-factors). Despite Sonne's team quickly organizing a response to the attack and suspending the market within 25 minutes of discovering the issue to minimize further losses, approximately $6.5 million in funds were still retained. Sonne's team is working hard to track down the identity of the attacker and has offered a bounty to the attacker in the hopes of returning the funds to avoid further investigation. At the same time, Sonne's team sincerely apologizes for this incident and is reaching out to all possible partners to try to recover the funds.