I understand the NFT (at least solidity part)..
There's something that's bugging me though.
Let's say someone made a super great cat(
cat1), published it to ipfs, then called the ERC721 contract and added the new token pointing to URI(IPFS)
Now, another person did the same, made the cat too(the same one), and minted the new token.
I am the buyer. How do I know that the
cat1 created by first person is the real one ? The only way I can think of is that that person announces(somewhere social network or whatever) that that's his tokenId, and because I trust his announcement, I also believe that his tokenId is the real one that will have the value.
The same thing can be thought of about music. True/Real person sings a song, mints the token on it. Then I sing the song too and mint the token. Imagine, that even though they are different on ipfs, our voices are the same. How does one know which one is the real
tokenId ? I guess the singer announces that this is his tokenId and that's how we start to believe ?
Question 1: Is that the correct understanding ?
Question 2: This kind of seems like the same question. Let's say I bought one NFT that represents some painting painted by the original author. So I got
tokenId = tokenURI = my address in solidity. Now, someone painted the same thing, and someone else(
person1) bought it to. So they also have
tokenId => tokenURI => myaddress.
How can third party figure out that I hold the original one and
person1 holds NOT original ? we both have
tokenId => tokenURI => person1Address (
tokenId, tokenURI) are different for each of us, but still, third party can't detect which one is original. How can they ?