Photo by ETA+ on Unsplash

Arweave vs IPFS

Not sure which to use? me neither.

Ian Evans
5 min readNov 1, 2021

--

Disclaimer: This is not financial advice, and I am not a financial advisor. This is for educational purposes only and all readers should do their own research and due diligence.

If you are an NFT creator, the decision to use Arweave’s data storage system, or use IPFS data storage system and a platform like Pinata to curate the development experience, is difficult depending on your project’s use cases and end goals. Hopefully this article can help you make better sense of the differences between the two and which to go for. Before we go further let’s do a quick overview of both Arweave and IPFS. If you’re familiar with the protocol’s summaries, please skip the next 2 sections.

Arweave summary:

Creators- Sam Williams and William Jones

Arweave, is the base protocol that allows a developer to store data, in our case image data for NFTs, permanently with a single upfront cost. At the core of the Arweave protocol is the Permaweb, a decentralized web built on top of Arweave. The PermaWeb has a full-stack that allows developers to build applications with that stack including, Arweave, Gateways, GraphQL, and SmartWeave. Profit-Sharing Functions are built into the PermaWeb so builders/devs can rely on these functions and profit share with other developers and builders who are creating Dapps on the PermaWeb. By having no single point of failure Arweave aims to provide a decentralized storage service that is economically sustainable.

IPFS summary:

Creators- Juan Benet and Protocol Labs

Practically speaking, IPFS allows users to access files (NFT image files) from a shared database from different locations. IPFS achieves “permanence” or “persistence” by pinning the data to a node that is run by the pinning services themselves. If someone is running the node then the data will exist in the network and can be retrieved by anyone.

NFTs and hosting data:

We can see from one of the earlier NFTs, CryptoPunks, that storing image data on the blockchain was not practical, so the NFT is just a hash of the image file that is stored on the blockchain, not the image itself. LarvaLabs, the creator of CryptoPunks, state on their site:

“When originally released, the actual images of the punks were too large to store on the blockchain, so we took a hash of the composite image of all the punks and embeded it into the contract. You can verify that the punks being managed by the Ethereum contract are the True Official Genuine CryptoPunks™ by calculating an SHA256 hash on the cryptopunks image and comparing it to the hash stored in the contract.

Since then, due to some clever compression ideas and some help from friends of the punks we have managed to put the entire image and attribute data fully on-chain. You can read more about the mechanisms and details of the process in the announcement blog post.”

Buyers may not have previously known about where the image data was stored but CryptoPunks were and are still valued at their price point because the ownership has been legitimatized by the community. Owning that hash allows the main developers of an NFT to create further experiences that will only apply to the holder of the specific hash. Here we see a main use case of NFTs and that is as a digital signature of authentication. That signature can then be used as a ticket for entry to a network or group of people with a common interest. The other members of the community are what legitimize the NFT’s hash and ownership, and this is interesting because NFTs rely on people as a security/ consensus feature for proving legitimacy.

What is the difference between the two? Cost differences? Technological difference?

From a developer/NFT creator's point of view, one of the main differences that will affect the business decisions of those looking to use these protocols is the underlying cost of using the protocol. Arweave has a one-time cost compared to IPFS which has a recurring cost if you choose to upload a lot of data onto IPFS. This difference in variable vs fixed cost might sway some to choose one or the other simply as a cost savings decision however there may be technical restraints. As noted earlier, Arweave is truly permanent and the image cannot be taken off as they can be in IPFS, so in this case, if there is a mistake on the initial release and the way the contract works immediately pins the image data to Arweave then this can cause some issues. It will be possible to reissue an updated edition on Arweave, but that file will now be a new file instead of simply replacing the existing file.

Furthermore, it is interesting to note that now marketing that you are using Arweave may cause a project to get more marketing/publicity because the idea of “permanence” has reached mainstream crypto Twitter. Also, keep in mind that you can use either or but the one that you use to start with will have an impact on your ability to make changes later down the road. Having fewer permanent options to start and eventually shifting to the permanent hosting options might be better depending on the cost.

What do the top projects use?

If we consider some of the top-selling NFT projects according to OpenSea’s NFT top volume rankings we can see that CryptoPunks, ArtBlocks, and BAYC are at the top. Looking into a statement from BAYC:

BAYC uses IPFS and the screenshot above tells us that they have now added high-res images of the apes to IPFS.

As far as ArtBlocks go they generate the NFTs completely on-chain so that in the future anyone can view and not have to worry if ArtBlocks even exists anymore. When you look under the hood you realize and appreciate the effort of the artists to bring their works fully “on-chain”. Check out their page to learn more:

https://www.artblocks.io/learn

Final Thoughts:

Data Storage is important to the crypto industry as NFTs continue to grow and gain adoption across the masses. NFTs are a good gateway/entry for newcomers into the crypto space and as NFTs continue to grow it will be interesting to observe the capacity of these decentralized storage networks. Touching back to the business perspective, it may be prudent to consider both for cost reasons but technologically speaking it would not be out of the question to assume that projects may one day switch from using one protocol to the other and there may just be a hash of that hash to represent to new “legitimate version” of the NFT. When thinking about new ERC standards coming out, I can only imagine that ERC721 projects may one-day issue/airdrop ERC 1155 equivalents to access the additional functionality that the different ERC1155 standard offers but doing so only to the original holders thereby preserving the legitimacy of their project. So much innovation and new things to come from the NFT space and I can’t wait to see what the rest of 2021 has in store.

Resources:

https://arweave.org

https://docs.ipfs.io

https://www.artblocks.io/learn

https://www.larvalabs.com/cryptopunks

--

--