Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Private NFTs: ownership proofs #7

Open
3 of 5 tasks
aguycalled opened this issue Feb 3, 2022 · 0 comments
Open
3 of 5 tasks

Private NFTs: ownership proofs #7

aguycalled opened this issue Feb 3, 2022 · 0 comments
Labels
electrumx Electrum Daemon help wanted Extra attention is needed navcoin-core Navcoin Core navcoin-js Navcoin Javascript Library

Comments

@aguycalled
Copy link
Member

aguycalled commented Feb 3, 2022

We need to implement the ability to prove ownership of specific private NFTs.

An NFT owner should be able to create a cryptographic proof which can be verified to confirm its correctness.

A valid cryptographic proof could be a message "OWNERSHIP_PROOF_NFT"||OUTPOINT||TOKENID signed with the NFT's spending key where:

  • "OWNERSHIP_PROOF_NFT" is a string literal
  • || is the concatenation operator
  • OUTPOINT is the current UTXO of the NFT we are proving ownership of as a string in the format txid:vout
  • TOKENID is the serialisation of the NFT Identifier as per the Navcoin-core rules (32 bytes uint256 hash concatenated with uint64 integer)

A validator would receive this proof together with the TOKENID and would check the latest OUTPOINT of the NFT from a full node. Then will verify the signature with the spending key of that outpoint to confirm or reject the ownership claim.

Changes needed in navcoin-core:

Changes needed in electrumx:

  • Support for the RPC changes related to showing last UTXO of an NFT

Changes needed in navcoin-js:

@aguycalled aguycalled added electrumx Electrum Daemon help wanted Extra attention is needed navcoin-core Navcoin Core navcoin-js Navcoin Javascript Library labels Feb 3, 2022
@HacheNAV HacheNAV removed the status in Development Apr 17, 2022
@aguycalled aguycalled moved this to Done in Development Apr 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
electrumx Electrum Daemon help wanted Extra attention is needed navcoin-core Navcoin Core navcoin-js Navcoin Javascript Library
Projects
Status: Done
Development

No branches or pull requests

1 participant