I am looking at a project that relies on users being able to prove that they own a given NFT. It seems like the best course of action would be to have them sign a message with their NFT following these instructions: NFT CLI | Chia Documentation, unless there is a more elegant way.
My question comes from verifying the signed message. From the public key and signature, is it possible to determine which NFT signed the message?
Given an NFT and a message, you can determine whether the message originated from the NFT. So if you have a list of NFTs from which the message may have originated, you can iterate through the list until you find the correct NFT.
There is an example of this (from a single NFT) in the CLI documentation (see Example 2).
However, you may instead want to use DIDs for NFT verification. Mintgarden has done this on their website. It is currently being used to gate access to certain channels in the ChiaFriends discord. If you head over there, you can chat with developers about their setup.
Thank you! Example 2 was a big help and set me on the right direction.