{"id":149,"date":"2022-07-18T02:36:50","date_gmt":"2022-07-18T02:36:50","guid":{"rendered":"https:\/\/article.nftgo.io\/?p=149"},"modified":"2023-08-24T05:47:43","modified_gmt":"2023-08-24T05:47:43","slug":"what-is-immutable-metadata-and-why-is-it-important-en","status":"publish","type":"post","link":"https:\/\/goalert.nftgo.io\/research\/101\/what-is-immutable-metadata-and-why-is-it-important-en\/","title":{"rendered":"What Is Immutable Metadata and Why Is It\u00a0Important?"},"content":{"rendered":"\n<p>NFTs have a wide range of applications including:<\/p>\n\n\n\n<ul>\n<li>personal IDs<\/li>\n\n\n\n<li>collectibles<\/li>\n\n\n\n<li>\u2026<\/li>\n<\/ul>\n\n\n\n<p>Right now, collectibles and art are the main applications of NFTs. From the chart below, we can see how NFTs are performing in different categories.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2FP3hfDsaOu_COjnwVW0HWx.png&amp;w=3840&amp;q=75\" alt=\"Data Source: NFTGo.io\"\/><figcaption class=\"wp-element-caption\"><sub>Data Source: NFTGo<\/sub><\/figcaption><\/figure><\/div>\n\n\n<p>In every category, NFTs represent ownership of an item. In the case of CryptoPunks, this item is a JPEG. For ENS, this is the .eth address and for Axie, this can be a game character.<\/p>\n\n\n\n<p><strong>The recipe for an NFT<\/strong><\/p>\n\n\n\n<p>All of these tokens follow the same blueprint, part of those is ERC721 standard. This standard helps us distinguish between a fungible and a non-fungible asset.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2FCelNqtUraAfj9iU9G5sLr.png&amp;w=3840&amp;q=75\" alt=\"\"\/><\/figure>\n\n\n\n<p>You might have heard of the ERC1155 standard. It is an extension of an NFT. For our purposes, we can view both as tokenized digital goods.<\/p>\n\n\n\n<p>Every NFT has a unique Id that points to its metadata, and it\u2019s like a fingerprint for a digital asset. This metadata can consist of an image and attributes etc.<\/p>\n\n\n\n<p><strong>The anatomy of metadata<\/strong><\/p>\n\n\n\n<p>So\u2026what do we see when first looking at an NFT?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2Fs5WU9uIpwsBx1CPIlQLjz.png&amp;w=3840&amp;q=75\" alt=\"Data Source: NFTGo.io\"\/><figcaption class=\"wp-element-caption\"><sub>Data Source: NFTGo<\/sub><\/figcaption><\/figure><\/div>\n\n\n<p>The name of the NFT is in the title.<\/p>\n\n\n\n<p>This is the name that the project chooses for an NFT, after that, There\u2019s the NFT\u2019s unique ID marked with a \u201c#\u201d. This ID is the NFT\u2019s fingerprint. Under the hood, in the&nbsp;<a href=\"https:\/\/ethereum.org\/en\/developers\/docs\/smart-contracts\/\" rel=\"noreferrer noopener\" target=\"_blank\">smart contract<\/a>&nbsp;a link is generated from this ID that points to some metadata about the NFT. We collect the metadata of every NFT from the blockchain and present it to our users. Here, you can see that this NFT has an image and some properties, the NFT\u2019s metadata is like its ID card.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2Fd3IlSUSQf_k6aIlWgoIy5.png&amp;w=3840&amp;q=75\" alt=\"\"\/><\/figure>\n\n\n\n<p>If you want to see the program that websites like us read from to collect this metadata, you can see it here:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2Fu3JtGCJv9OX4t_IjgMknH.png&amp;w=3840&amp;q=75\" alt=\"\"\/><\/figure>\n\n\n\n<p>I will go over how you can find this raw data yourself. If you\u2019re interested in that, stay tuned!<\/p>\n\n\n\n<p><strong>Where is the metadata stored?<\/strong><\/p>\n\n\n\n<p>A common misconception that people might have is that their NFT\u2019s metadata is stored on the blockchain. This is true for some NFTs like CryptoPunks but it\u2019s not best practice. On-chain metadata is highly gas-intensive and can cause even hundreds of dollars. In this article, we will cover the difference between on-chain and off-chain metadata and compare them.<\/p>\n\n\n\n<p>We now know that most NFT projects don\u2019t store data on the blockchain, so how do we make sure that our NFT\u2019s data is immutable?<\/p>\n\n\n\n<p><strong>Immutability<\/strong><\/p>\n\n\n\n<p>When we say something is immutable it means that it can\u2019t change. The $ETH you have in your wallet is stored on the Ethereum blockchain. Therefore, it is by nature immutable and no one can change it. This is a powerful phenomena that powers blockchain technology.<\/p>\n\n\n\n<p>However, we are not at the point where we can store all the data for an NFT on-chain just like we store our transactions. Achieving immutability is a challenging topic in the NFT development ecosystem. At&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/nftgo.io\/\" target=\"_blank\">NFTGo<\/a>, we ask two questions to see if an NFT\u2019s metadata is immutable or not:<\/p>\n\n\n\n<ul>\n<li>Is the metadata stored on a decentralized file storage?<\/li>\n\n\n\n<li>Can the NFT\u2019s metadata change?<\/li>\n<\/ul>\n\n\n\n<p><strong>The problem with mutability<\/strong><\/p>\n\n\n\n<p>Some projects take the road of storing their NFT\u2019s metadata on a centralized database. This means that the owners of the database can change the metadata. There are other risks like:<\/p>\n\n\n\n<ul>\n<li>Hacks and cyber attacks<\/li>\n\n\n\n<li>Server problems causing the whole dataset to go down<\/li>\n<\/ul>\n\n\n\n<p>Investors should be aware of these risks and realize that when an NFT\u2019s data is mutable, it questions whether they truly own the NFT. Some projects have no choice but to store the data in a centralized way, we will go more in-depth about that in a future article.<\/p>\n\n\n\n<p><strong>NFTGo has made it easy<\/strong><\/p>\n\n\n\n<p>Before, you should have done your due diligence to find out if your $100k NFT is really yours or not.&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/nftgo.io\/\" target=\"_blank\">NFTGo<\/a>\u2019s mission is to make the experience of buying an NFT as fluid and intuitive as possible. This is why we have the immutable tag on the NFTs that meet our criteria. This reduces the barrier to entry for new investors and makes old investors\u2019 workflow smoother.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2FlA8ueK0iMUj3IibBzXWgh.png&amp;w=3840&amp;q=75\" alt=\"Data Source: NFTGo.io\"\/><figcaption class=\"wp-element-caption\"><sub>Data Source: NFTGo<\/sub><\/figcaption><\/figure><\/div>\n\n\n<p><strong>Getting nerdy!<\/strong><\/p>\n\n\n\n<p>Our data is more than enough for most use-cases, but we\u2019ll gonna show you how to find the raw data yourself. All of this work is already done for you by NFTGo. This is just for you to see what\u2019s going on under the hood. If you\u2019re curious, you can follow along!<\/p>\n\n\n\n<p>There are four steps to this process:<\/p>\n\n\n\n<ol>\n<li>Go on Etherscan (or the block explorer of your choice)<\/li>\n\n\n\n<li>Find the NFT\u2019s contract<\/li>\n\n\n\n<li>\u201cRead\u201d from the contract (I\u2019ll explain what that means)<\/li>\n\n\n\n<li>Follow the URI you got back<\/li>\n<\/ol>\n\n\n\n<p>Depending on how the contract is structured, there might be more steps that you have to take after step 3 but this is pretty much the pattern for most of NFT contracts out there.<\/p>\n\n\n\n<p>First, we choose an NFT. On&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/nftgo.io\/\" target=\"_blank\">NFTGo<\/a>, we can see the ID of&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/nftgo.io\/asset\/ETH\/0xfc007068c862e69213dc7aa817063b1803d4e941\/4744\" target=\"_blank\">this NFT<\/a>&nbsp;is 4744.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2F35ldzO2VyP8rnjnIS63SO.png&amp;w=3840&amp;q=75\" alt=\"Data Source: NFTGo.io\"\/><figcaption class=\"wp-element-caption\"><sub>Data Source: NFTGo<\/sub><\/figcaption><\/figure><\/div>\n\n\n<p>If you scroll down, you will see the information about the project under the NFT\u2019s properties. There\u2019s an address that takes us to Etherscan, this is the project\u2019s smart contract. You can think of an NFT smart contract as a vending machine. When you click on the mint button, this vending machine will give you your NFT. There are other things that are going on in an NFT smart contract, more on that in the future!<\/p>\n\n\n\n<p>Now that we\u2019re on Etherscan, it is important that the project\u2019s contract is \u201cverified\u201d. On the right top corner of the contract, there\u2019s a little green tick button. This means that we\u2019re good to go. After you click on \u201ccontract\u201d, you will see 3 options: code, read contract, write contract. Click on \u201cread contract\u201d, there are a bunch of different functions there, but we\u2019re only interested in one of them. Find the \u201ctokenURI\u201d function (which is usually at the end).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2FtVEiKl3eejUy_8elk7F0D.png&amp;w=3840&amp;q=75\" alt=\"\"\/><\/figure>\n\n\n\n<p>Remember I told you that an NFT\u2019s ID is like its fingerprint. Well, that\u2019s exactly what we\u2019re going to use to get our NFT\u2019s metadata. After you click on the tokenURI function, you can write the NFT\u2019s ID in the input box. Click on the query button.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/mirror.xyz\/_next\/image?url=https%3A%2F%2Fimages.mirror-media.xyz%2Fpublication-images%2FRVUPQk11ze_hdEYzsP725.png&amp;w=3840&amp;q=75\" alt=\"Data Source: EtherScan\"\/><figcaption class=\"wp-element-caption\"><sub>Data Source: EtherScan<\/sub><\/figcaption><\/figure><\/div>\n\n\n<p>And voila! You have \u201cread\u2019\u2019 directly from the Ethereum blockchain. That was a lot of steps to get there, this is what our software does to get every NFT\u2019s metadata.<\/p>\n\n\n\n<p>A big chunk of a blockchain\u2019s task is to store data. Block explorers like Etherscan enable us to Read from the blockchain and also Write to it. Keep in mind that reading from the blockchain doesn\u2019t cost any gas.<\/p>\n\n\n\n<p>If you\u2019ve clicked on the query button, you will see a response from the blockchain. This is a link to where the NFT\u2019s metadata is stored, you can copy and paste this link on your browser. The page you see should be kind of familiar for you, we showed you earlier in this article the raw code for an NFT\u2019s metadata. This text file is stored somewhere (centralized or&nbsp;<a href=\"https:\/\/golden.com\/query\/decentralized-file-storage-projects-BYY\" rel=\"noreferrer noopener\" target=\"_blank\">decentralized<\/a>) and that\u2019s how we determine our NFT\u2019s immutability.<\/p>\n\n\n\n<p>If you see the link is pointing to a decentralized file storage, you can make sure that nobody has the power to change your NFT.<\/p>\n\n\n\n<p><strong>Key takeaways<\/strong><\/p>\n\n\n\n<p>In this article, you learned a ton about NFTs and hopefully, the concept of self-custody makes more sense to you. You also saw how&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/nftgo.io\/\" target=\"_blank\">NFTGo<\/a>&nbsp;has made it so easy for you to see if the NFT\u2019s metadata is immutable or not. You also learned what\u2019s going on behind the scenes. There are a few takeaways that I want to leave you with:<\/p>\n\n\n\n<p>Blockchains are open and transparent platforms and by leveraging the data from the blockchain, you can ensure the safety of your assets. However, it is inconvenient to use the blockchain directly every time.&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/nftgo.io\/\" target=\"_blank\">NFTGo<\/a>&nbsp;bridges the gap between daily users and the blockchain. This is all made for you to have a safe NFT purchase experience.<\/p>\n\n\n\n<p>Note: The above information is for informational purposes only. Investing in digital assets such as NFTs and cryptocurrency brings with it a high degree of risk. Please consult with a financial advisor before making any investment decisions. NFTGo does not provide financial advice and is not responsible for any losses incurred as a result of investing in digital assets.<a rel=\"noreferrer noopener\" href=\"https:\/\/nftgo.io\/\" target=\"_blank\"><br><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>NFTs have a wide range of applications including: Right now, collectibles and art are the main applications of NFTs. From the chart below, we can see how NFTs are performing in different categories. In every category, NFTs represent ownership of an item. In the case of CryptoPunks, this item is a JPEG. For ENS, this [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2760,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/posts\/149"}],"collection":[{"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":2,"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"predecessor-version":[{"id":241,"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/posts\/149\/revisions\/241"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/media\/2760"}],"wp:attachment":[{"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/goalert.nftgo.io\/research\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}