In order to understand NFT metadata, you first need to know what metadata is, and why it is an important component of digital assets – such as NFTs. If you already know what it is, and just want to know how it relates to NFTs, click here.
Metadata is data about data.
In other words, metadata is the additional data that is used to structure, identify, or describe a core set of data.
For example, the data in a movie file comprises the audio and video content. The movie’s metadata would therefore be data on the file size, movie length, file format, the date it was created, and so on.
Similarly, the metadata of an email you send doesn’t include the contents of the email itself, but the data surrounding it – the sender, recipient, timestamp, the type of browser you used, and so on.
What is the Purpose of Metadata?
Metadata is used for digital asset management. There are three main types of metadata: structural, administrative, and descriptive metadata.
Structural metadata defines the internal and external structure relationships of digital asset components. It defines hierarchical structures, allows navigation and ordered sequencing in the presentation of digital objects. For example, a series of e-magazines would contain metadata that defines the internal structure (the order of the articles and pages within an issue) and the external structure (the order of issues in the series) of each magazine.
Administrative metadata includes data pertaining to the creation, and required for the management, of a digital asset. The National Information Standards Organisation further breaks down administrative data into three subtypes – technical, preservation, and rights metadata. Essentially, data about the filetype, hashes, intellectual property, and permissions all fall under administrative metadata.
Descriptive metadata is exactly what it sounds like. Descriptive metadata can include a digital asset’s title, physical attributes, keywords, and more. This can be used to find and identify a particular digital asset, as long as you know how to describe what you are looking for. When you use a search filter on a webstore, it is the descriptive metadata of the store items that allows the search engine to find your specific results.
Why is NFT Metadata Important?
When you buy an NFT, what you are really buying is a smart contract (your certificate of ownership) that points to a set of metadata which among other things, includes a link to your NFT file. This is why NFT marketplaces usually display token metadata on the buying page – so that buyers can see exactly what their purchase entitles them to.
The following image shows the token metadata that is displayed on a listing from the Mintable.app marketplace:
|image||The URL linking to the NFT artwork’s image file|
|animation_url||URL linking to the animation|
|royalty_amount||The percentage of royalties to the creator for each resale|
|copyright_transfer||Whether the copyright is transferred to the buyer|
|address||Token contract address on the chain|
|resellable||Whether the artwork can be resold|
|original_creator||NFT creator’s address on the chain|
|edition_number||Edition number of the artwork|
|title||Title of the work|
|url||Link to the NFT sale listing|
|file_key||The downloadable file for the NFT|
|name||Name of the artwork|
|edition_total||Total number of editions of the artwork|
In the listing shown above, the animation_url and file_key fields are empty, which means that this NFT does not have an animated version (it’s a still image) and there is no downloadable bonus content file.
If you purchase this particular NFT, what you own will essentially be a token that links to an artwork via its metadata. This raises the question – how is all this NFT metadata secured?
NFT Metadata Storage and Security
While the smart contract is stored on the blockchain, NFT metadata is stored off-chain due to current storage limitations of the Ethereum blockchain. The ERC-721 standard for smart contracts uses a method known as tokenURI that returns to applications the location of the NFT metadata, which may be stored either on a centralised server, or the InterPlanetary File System (IPFS) – a decentralised file storage and referencing system.
Neither of these storage solutions are permanent, which raises the concern that if servers are compromised, collectors could lose access to their NFTs. Additionally, the immutability and security offered by the blockchain does not apply to data stored off-chain, which means that externally hosted metadata could be altered or removed.
Put simply, the only thing secured by the blockchain is the smart contract – your certificate of ownership. This is why there is so much insecurity hindering the widespread adoption of NFTs – without the actual asset being stored on the blockchain, there is no guarantee that the NFT you buy today won’t just end up becoming a broken link to a non-existent file in 5 years if/when the server(s) it is hosted on shits itself.
In order to protect the integrity of your NFT files, there are a couple of safeguards put in place on the metadata of NFTs sold on the Mintable.app platform.
How Does Mintable Store and Safeguard NFT Metadata?
When creating your store on Mintable.app, you have the option to host metadata on our centralised server, the IPFS, or on your own server.
When metadata is stored on Mintable’s centralised server, there are certain restrictions put in place that prevent the metadata from being altered. The only things that creators are allowed to change are whether the item can be resold while they still own it.
This offers a certain degree of security, but it’s not the complete solution we would like to offer. Therefore, the team at Mintable are currently working on moving to a third-party decentralised storage system similar to the IPFS. Unlike the IPFS however, metadata on the new storage system will be permanent, thus fulfilling the heretofore conceptual promise of NFTs- true, undisputable, and eternal ownership of digital assets.
For the latest updates on Mintable.app, follow us on Twitter.
If you have any questions or would like to participate in community discussions, join us on Discord.