Just a disclaimer I also posted this to /r/cardanodevelopers, I wanted to post here to since there’s quite a bit of discussion around NFTs but no real answers and I wanted to bring it to attention. There are of course the NFT DAO proposal on Project Catalyst and (apparently) 42 NFT related projects proposed on there, so it seems pertinent to discuss this.
So in almost all the news articles and videos Charles etc. has mentioned that Mary brings all native assets including NFTs. However, I’ve discovered that the documentation on native assets states that there are three minting policy types:
Single issuer - only one person can mint this type of token
Time-locked - can only be spent in or after a particular epoch period
One-time - can only be minted once
From my understanding, a single issuer policy could be used to mint a pseudo-NFT if you issue just one, and use a basic multisig script. That’s great. However, in my opinion this cannot be a true NFT since the issuer can just as easily mint another one with the same policy at a later date, making it fungible with the first token.
I’ve also read the discussion on this project catalyst regarding this, and there appears to be quite a bit of disagreement on the topic.
Therefore, if my understanding is correct, we require a one-time mint policy for true NFTs to ensure they are scarce and more cannot be minted later. The documentation states:
One-time mint policy … This type of policy needs Plutus smart contracts to be implemented.
Making me believe that we will not have NFTs until we have Plutus… Unless there is something I’m missing about the difference between these policies and what they mean in terms of a true non-fungible, scarce, indivisible token. I feel like there’s a gap here that isn’t being discussed in the open so I wanted to bring some attention to it, help others who are trying to mint their own NFTs, and hopefully answer a few questions.