Storage ain’t sexy, but if web3 is gonna take a leap, it's one of the biggest problems we need to solve for.
Scaling Your NFT Project: A Beginner’s Guide to IPFS
As an NFT creator, you want to make sure your files are safe, verifiable, and that you’re not paying an arm and a leg to keep them that way. IPFS (accessed by a pinning service like Pinata) solves all these issues, but before we talk about how, let’s paint the picture and explain how all of this applies to you as an NFT creator and collector.
The NFT Storage Problem
If you’re familiar with Ethereum, you know that it costs gas fees to mint, transfer, or buy NFTs. You’re paying the network to do all of that computing for you, and in the case of storing data on the blockchain, every character counts (and costs). Storing large amounts of data on-chain can be incredibly expensive. In the case of Ethereum, we’re talking ~$40M to store 1GB of data. Yikes.
To avoid having to store all of that data on-chain, most NFTs are stored as metadata that points to an image off the blockchain where the actual file lives. It’s like when you share a Dropbox link. The link you share isn’t the actual thing, it just points you to where the actual thing is stored. That's why most early NFT projects were actually stored on Dropbox or a similar cloud service like AWS or Google Drive. While a full PNG of an NFT might be 4 mb, its metadata is only about 800 bytes. Definitely a step in the right direction, but this solution caused another problem: people started getting rugged.
Let’s say an influencer decides to launch a new NFT project called “Ceramic Cars." Sounds cool. She uploads an image of the first drop of cars to a storage provider and each car is named “crazycar1.png.” Luckily you snag one. She put a link to that image in your NFT metadata that looks something like this:
“https://storageservice.com/friend/crazycar1.png.”
Looks fine at first. But here’s the kicker: at any time, that influencer or the storage provider can simply remove that image. Suddenly the NFT is useless. And if she really wanted to be a jerk, she could replace it with a poop emoji with the same name. And since there is no regulation or laws around this, you would basically be screwed with no way of getting what you paid for. And that’s exactly what was happening in those early days: people were getting rugged left and right. These problems begged for a solution. That solution was IPFS - the InterPlanetary File System.
How does IPFS solve the storage problem?
To understand how IPFS works, you need to understand how file sharing has always worked, before the days of web3.
The traditional way of sharing files over the internet is through centralized servers. For example, if you write up and send a Tweet, the data is sent to Twitter’s servers. Then when other users want to see that Tweet, the servers pass that information to them. It’s a direct up and down motion.
Rather than straight up and down, IPFS is up, down, and side to side. IPFS is a decentralized network of nodes that share content with each other. If we imagine a Twitter run on IPFS, every user would have their own IPFS node that would upload data to the network, and as it is requested by other users, the data is passed from node to node. Rather than one company holding and owning that data, everyone owns that data. IPFS gives users the ability to own their data.
How does IPFS protect your NFTs?
When you share a file through IPFS, the file is run through a cryptographic algorithm that gives you something called the Content Identifier, or “CID” for short. This CID plays a huge part in how IPFS works and operates, and it looks something like this:
QmRAuxeMnsjPsbwW8LkKtk6Nh6MoqTvyKwP3zwuwJnB2yP.
Every CID is determined by the content of the file, making it completely unique. If you change a picture by even one pixel, it would give you a different CID. This unique identifier makes content verifiable. In our example of an image being swapped out for a poop emoji, it wouldn’t be possible since the two images would have completely different CIDs. Combine this power with blockchain, and you get a reference to an image that is verified and cannot be changed.
As an NFT creator, this is a huge benefit that you can use to reassure your audience. Any NFT that they collect from your collection will be 100% verifiable. Beyond that, the CID makes content portable and addressable.
When I buy an NFT, I can get the CID for the metadata and image, then pin it to my Pinata account. That means, if the project owner for some reason stops pinning the data on their end, it can persist through my responsibility. As long as I pin those CIDs, my NFT will live on. This means you can truly OWN your data. It gives communities the ability to preserve content that they want available, much like how art is preserved today in museums by people who value it.
How Pinata Connects Creators to IPFS
As you might already know, Pinata is an IPFS pinning service that makes IPFS easy for creators. We do this in several ways. First and foremost, we help creators get their original content on IPFS through our easy-to-use web app. Once it's uploaded through Pinata, it's automatically pinned to IPFS and gets a unique CID. Just like that, no extra work.
After uploading, the next step of course is sharing it! One way we do this is through Dedicated Gateways, which serve as hyperspeed bridges between IPFS and regular websites. With a Dedicated Gateway you can quickly share content, use a custom domain to match your brand, stream videos, and more.
Additionally, Pinata has also pioneered a new feature called "Submarining," our take on unlockable content. Content creators can give their audience access to exclusive gated content via NFT ownership, Retweets and geo-location. The possibilities are endless with this tool; exclusive content for your NFT holders, NFTs being used as movie passes for film makers, or music albums by artists!
And there you have it. Hopefully this gives you an idea of the power of IPFS, and how it can help creators like you protect your content and distribute it in a way that no other platform can. We invite you to sign up for an account and discover Pinata for yourself. Our community is here to help creators become their own platform and share content their way. Happy pinning!