Conceptual discussion (maybe philosophical) about what an NFT actually is

Hi,
I’m Nicolas and I find Flow and Cadence very interesting and it seems to suit my project and idea very well. I’m a 20+ years in business system developer, system architect and product owner from various business now looking forward to implement some ideas that has been spinning around for a while, what it is we can talk about another day :slight_smile:

I just need to discuss the fact that Flow, and maybe also other blockchains seems to evolve around, is the idea that an NFT has to conform to a specific format, in the case of Flow it seems to be the NonFungibleToken idea, or concept, and its related contracts. In the tutorials it is said that you SHOULD follow this standard for it to be a correct NFT. Why is that?

Let talk about the “rarity” idea in MetadataViews, why does it need to be stated in an NFT standard that an NFT has a certain rarity? Rarity is just a state that a thing happens to be in when something gets rare, nothing a “contract” should need to take care of. Now we see an explosion of marketplaces where things (NFTs) are focused on rarity e.g. and that an NFT can be minted with a specific rarity. For me it would be enough if the minting process added an “easter egg” without telling the buyer and they find out themselves, then a rarity is created without contract logic an as an NFT idea. Rarity could also appear when things get lost and that is up to the real world to decide not a contract or a property in an NFT.

Alright, it seems I got hung up on the rarity thing, well that was just an easy discussion topic. I know I don’t need to use the rarity metadata view. :wink:

I think it is strange that an NFT standard should point out how a “unique things” should look like. To me it should be enough that an NFT is unique and that a contract makes it possible to query the properties (call it metadata) to the public. If properties are exposed publicly then the contract writer (developer) can decide on the NFT and its metadata format, just like every other object oriented languages do, right?

I do understand why a “standard” is good and that Flow wants it to be easy to “query” NFTs using the same format so it can be listed in various marketplaces, but it also seems to me that this will draw boundaries of how an NFT should look like.

Wouldn’t it be just enough that an NFT (resource) in fact is not possible to copy and can only have one owner at a time? (<- This is why I find Flow and Cadence so interesting!) … What the resource is called (NonFungibleToken standard “stipulates” to use the resource name NFT) and how the contract is built up should be up to the system designers and developers, I think, or?

I like Flow and my idea will absolutely create and “mint” unique resources (NFTs) but I want to structure and create a different logic (contract/s) than the NonFungibleToken standard stipulates.

Would my created resources NOT be an NFT if I omitted the NonFungibleToken standard as stipulated by GitHub - onflow/flow-nft: The non-fungible token standard on the Flow blockchain ??

Best regards ot every one, looking forward to start using Flow!
/Nicolas