<p>@Mitchell Turner is right.</p>
<p>I want to add this. In Cardano you can mint NFTs using:</p>
<ul>
<li><p>Native scripts: using this option you're the owner of the <em>policy keys</em> (files) to mint a NFT with that policy Id. Unless your keys are stolen, then nobody else could use them to mint a NFT using the same policy Id. That means, nobody can update the metadata of your NFTs.</p>
</li>
<li><p>Plutus scripts: using this option you can create any kind of validation in the minting policy, i.e. allowing to mint only from certain addresses. Although, so far (as I know) it's not possible to attach metadata to your NFTs using Plutus scripts, but you can create NFTs: <code>currency symbols</code> + <code>token name</code></p>
</li>
</ul>
<p>Regarding to these terms <code>currency symbol</code>, <code>token name</code>, <code>policy id</code> and <code>asset name</code>, please take a look on this: <a href="https://cardano.stackexchange.com/questions/4543/what-are-the-differences-between-policyid-currencysymbol-and-assetname-token">What are the differences between policyId &amp; currencySymbol and assetName &amp; tokenName?</a></p>

CC BY-SA 4.0
2022-04-08T10:17:05.683Z
I think you can just attach metadata and a script using the cli which allows for minting "true" NFTs that are based on unique UTxO consumption (no timelocks).
That way you can use plutus scripts + attach metadata.
Will
CC BY-SA 4.0
2022-01-21T19:01:33.733Z
2022-01-21T19:01:33.733Z
georgeos
<p>The uniqueness of an NFT comes from its minting policy, not the metadata. If you create a script that can only mint one token, then you know any token with that address as its currency symbol is unique, and thus non-fungible.</p>
<p>One possible solution to your problem is a smart contract that holds the proof-of-ownership NFT for you. When the watch maker manufactures a watch, they generate an NFT and engrave the currency symbol on that watch. They then add that NFT to the contract with your address as the owner datum. If you ever sell the watch, you can use the contract to change the &quot;owner&quot; datum to the new owner.</p>

CC BY-SA 4.0
2022-01-21T18:23:38.027Z
`engrave the currency symbol on that watch.` --> what currency symbol? There may be thousands of watches, and there're only a dozen or two currency symbols in the world.
valik402
CC BY-SA 4.0
2022-01-21T18:37:29.660Z
Each token in Cardano has a currency symbol and a token name. The currency symbol is always the minting policy address for that token. For an NFT, that can only exist for a single token.
Mitchell Turner
CC BY-SA 4.0
2022-01-21T19:01:09.350Z
Also on-chain metadata can not be changed
Alicia Basilio
CC BY-SA 4.0
2022-09-15T18:08:03.273Z
@AliciaBasilio on-chain metadata can not be changed but data presented by comunity tools respect [NFT metadata standard](https://cips.cardano.org/cips/cip25/#updatemetadatalinkforaspecifictoken) which will show updated metadata, but only in case minting policy is unlocked. If minting policy is locked and can't be used any more than users have a guarantee metadata won't change (as described in linked nft standard above)
akegalj
CC BY-SA 4.0
2022-01-21T17:57:10.177Z
2022-01-21T17:57:10.177Z
Mitchell Turner
<p>Let's say, there's manufacturer that produces luxury watches, and he uses Cardano NFTs to track their authenticity. He embeds unique serial number of a watch into metadata of NFT.  One watch - one NFT, that is.</p>
<p>But a bad actor could:</p>
<ul>
<li>buy the simplest but real watch along with an NFT from the manufacture</li>
<li>create a replica of the most expensive watch of the manufacturer</li>
<li>change the metadata of that NFT -- the serial number and photo of a watch, such that metadata would describe a replica</li>
<li>sell the replica along with the updated NFT which now embeds metadata which describes the expensive replica</li>
</ul>
<p>What prevents this from being possible?</p>

<nft><native-assets><metadata><token>
If metadata can be changed, how can the uniqueness of an NFT can be guaranteed?
# If metadata can be changed, how can the uniqueness of an NFT can be guaranteed?

(Asked by: username_0 on 2022-01-21)

Let's say, there's manufacturer that produces luxury watches, and he uses Cardano NFTs to track their authenticity. He embeds unique serial number of a watch into metadata of NFT. One watch - one NFT, that is.

But a bad actor could:

* buy the simplest but real watch along with an NFT from the manufacture
* create a replica of the most expensive watch of the manufacturer
* change the metadata of that NFT -- the serial number and photo of a watch, such that metadata would describe a replica
* sell the replica along with the updated NFT which now embeds metadata which describes the expensive replica

What prevents this from being possible?

**Tags:** nft, native-assets, metadata, token

---

## 2 answers

### Answer by username_3 on 2022-01-21. Score: 4 | Accepted answer

The uniqueness of an NFT comes from its minting policy, not the metadata. If you create a script that can only mint one token, then you know any token with that address as its currency symbol is unique, and thus non-fungible.

One possible solution to your problem is a smart contract that holds the proof-of-ownership NFT for you. When the watch maker manufactures a watch, they generate an NFT and engrave the currency symbol on that watch. They then add that NFT to the contract with your address as the owner datum. If you ever sell the watch, you can use the contract to change the "owner" datum to the new owner.

> **Comments:**
> **username_0**: `engrave the currency symbol on that watch.` --> what currency symbol? There may be thousands of watches, and there're only a dozen or two currency symbols in the world.  
> **username_3**: Each token in Cardano has a currency symbol and a token name. The currency symbol is always the minting policy address for that token. For an NFT, that can only exist for a single token.  
> **username_4**: Also on-chain metadata can not be changed  
> **username_5**: @AliciaBasilio on-chain metadata can not be changed but data presented by comunity tools respect [NFT metadata standard](https://cips.cardano.org/cips/cip25/#updatemetadatalinkforaspecifictoken) which will show updated metadata, but only in case minting policy is unlocked. If minting policy is locked and can't be used any more than users have a guarantee metadata won't change (as described in linked nft standard above)  

---

### Answer by username_1 on 2022-01-21. Score: 2

@Mitchell Turner is right.

I want to add this. In Cardano you can mint NFTs using:

* Native scripts: using this option you're the owner of the *policy keys* (files) to mint a NFT with that policy Id. Unless your keys are stolen, then nobody else could use them to mint a NFT using the same policy Id. That means, nobody can update the metadata of your NFTs.
* Plutus scripts: using this option you can create any kind of validation in the minting policy, i.e. allowing to mint only from certain addresses. Although, so far (as I know) it's not possible to attach metadata to your NFTs using Plutus scripts, but you can create NFTs: `currency symbols` + `token name`

Regarding to these terms `currency symbol`, `token name`, `policy id` and `asset name`, please take a look on this: [What are the differences between policyId & currencySymbol and assetName & tokenName?](https://cardano.stackexchange.com/questions/4543/what-are-the-differences-between-policyid-currencysymbol-and-assetname-token)

> **Comments:**
> **username_2**: I think you can just attach metadata and a script using the cli which allows for minting "true" NFTs that are based on unique UTxO consumption (no timelocks). That way you can use plutus scripts + attach metadata.  

---

