IPFS Immutable NFTs

Just wondering where my IPFS NFTs are stored and what does it mean for long term storage if it’s not fully onchain?

See here what IPFS is: IPFS Powers the Distributed Web
Read here about persistence and pinning: Persistence | IPFS Docs

edit: also read here: Mint an NFT with IPFS | IPFS Docs


Thanks, what I am looking for is a coversation of the pros and cons of IPFS immutable Vs storing fully onchain. I haven’t seen a study anywhere that says how long will an IPFS immutable NFT last, what would cause my NFTs not to be accessible by a distant generation of mine.

From my limited understanding I believe fully onchain NFTs will last as long as Cardano blockhain exists but IPFS immutable NFTs might not last forever, therefore fully onchain NFTs are better off than IPFS immutable NFTs, any thoughts on this?

You can pin IPFS content yourself to ensure that it stays available. Or you can pay a pinning service for it.

IPFS is not so much different from the file sharing services of the early 2000s. Content is available if someone finds it worth to keep it available. So, if you neither keep it available yourself nor pay someone to do it (and trust that someone), chances are that it might become unavailable.

But storing on-chain is not an alternative in most cases. The space on-chain is very restricted. The real art of on-chain NFTs is to squeeze something impressive into 16 KiB (minus the other stuff that has to be in the minting transaction).

You could invent some way to distribute content over lots of transactions/NFTs. But, honestly, storing large amounts of data on-chain and forcing thousands of full nodes to be your backup cannot be the solution to long-term availability of large contents.

As an alternative to IPFS, there is Arweave. Haven’t analysed it in detail, but it looks like a more sustainable solution.

As a related topic, long-term archiving/digital preservation is an active research/development field outside of the blockchain world: https://en.wikipedia.org/wiki/Digital_preservation They don’t need an effing blockchain for it. But, of course, they also cannot “buy”/“sell”/“trade” those preserved artifacts. They “just” work on preserving them for the coming generations.


From this I gather that most of my IPFS Immutable NFTs that I bought will be gone in a 100 years but my fully onchain NFTs like NanoChess and Stellarhood will be around because it’s fully onchain. :joy:

If you believe that Cardano is around in 100 years, which is far from certain.

And it’s also not technically impossible that – in 20 years – people decide that the petabyte-sized blockchain is a little heavy and they throw away old transactions and their metadata.

1 Like

Another thing to consider if you look at 100 years from now:

At least for StellarHood, I have looked at them. They are implemented as HTML/CSS/Javascript embedded as a large data: URI.

So, you are also depending on a browser being able to execute that in 100 years. Might need some emulator or special retro computing equipment if we have moved to totally different technology stacks by then.

But that is, of course, also true if the same content is stored off-chain. And to a lesser degree it might also be a problem for image file formats.

If that’s the case, let alone storing a stupid jpg on chain, how can we be certain to use this for land registry etc because there we want to prove land ownership etc over many generations perhaps 100 years or more.

Certainly Cardano has to be built with this in mind, so Cardano has to be around for many centuries and scalable in such a way that even at petabytes heaviness we would be running pulling information from onchain as smooth as butter. Definitely a design requirement. It should be built to last for many centuries.

Heck, put a node up in space, on the moon, on mars etc. This has got to be indestructible. Forget about my stupid jpegs, I want land registeries, human genealogy, historic events etc preserved onchain forever.

1 Like

Maybe communal and national archives are better suited for that job. They can do backups, replication, redundancy and do not even need blockchains and cryptocurrencies for it. They could even issue digitally signed documents that you can backup yourself as often as you want, give to the next owner, …

At the moment, everyone running a Cardano node has to have a copy of the whole chain, because the only existing implementation enforces it.

But it is not built into the protocol. Pools do not have to prove that they have the whole chain available. They could also produce valid blocks if they just knew the unspent transaction outputs and the last couple of blocks. Maybe, we will one day have a distinction between archives and pools and archives will have to prove that they have everything with a protocol similar to Arweave, but I’m not aware of any concrete plans.

But you can never exclude the possibility that one day nobody is interested in keeping it running anymore.

You cannot predict, which chain will be adopted in the end. It only makes sense to put more or less official data on a chain if the authorities of a jurisdiction mandate it. A claim that a house belongs to you only is worth something if the local police is willing to take it as a proof that you have the right to throw someone else out of that house.

Why should they choose Cardano and not Ethereum, Algorand, Solana, …? Why should they choose a cryptocurrency network at all and not just build a digital ownership register with more traditional methods?

1 Like

All very good points.

Great conversation and analysis. My firm (Catalyze Software) is also working on a ZKP chain-based storage solution combining blockchain with lower-cost cloud storage (independent & sustainable data centers). While 100% on-chain is the ultimate goal the costs and performance hit make it a challenge. So for phase one of the project, we are combining the best of both worlds and offering something beyond IPFS or Arweave.

We started this work during our creation of a web3 alternative to Discords also called Catalyze.one. :smile: Catalyze will launch in closed beta at the end of the month (give or take). Given it is a socialFI app long-term storage costs are something we are focused on.

In terms of the chains (for the storage system), we are looking at Polkadot and Cosmos due to their interchain comms features but we also are looking deeper into Cardano. Happy chat about it as we get closer to releasing a prototype. You can ping me here or on Discord at Archer423#4798. I am in most of the Cardano and IOHK communities there.

Why don’t you build Catalyze one on Cardano, I believe it allows for sidechains with the Vasil upgrade and in almost any language you are familiar with. Also, you could check out Catalyst and put forth you proposal to receive funding for further development of your project on Cardano. Looking forward to see more development from you.

Only because we started the project late last summer before smart contracts were on Cardano.

We are currently a few weeks away from going to closed-beta for the Dfinity version we have under development. That said I will look into Catalyst and porting to Cardano!! Clearly, a great community and the tech is cranking up nicely.

We want to be multi-chain and we are working out what that means in terms of clients and back ends.

PS - Anyone who wants to kick the tires in the closed beta is welcome to ping me or if you want I can get you all an invite to our Discord server. OGs and EAs will be the first people into the closed beta. On the latter, I will post a Discord link here but only if it doesn’t violate the forum rules. Not a good look to say hi and break policy. :slight_smile:

PSS - If you are experienced with Plutus (Rust is a plus) and want to chat about a Catalyze port etc LMK.

1 Like

I assume you programmed it in Motoko with the VASIL harfork coming up end of July 2022, dapps on Ethereum would be able to migrate to Cardano. I would have to start a new thread to ask about if dapps built on Dfinity using Motoko would be able to migrate at some point.

Also feel free to share the closed beta invite to the broader forum or community. Again within the boundaries of platform policy.

Feedback and ideas are welcomed throughout the process of beta testing porting to other chains!

1 Like

Again I am thinking about the possibility of migration of dapps built in Motoko over to Cardano in general and not help with beta testing of a specific product building on Dfinity. You could be the first project to move over if you decide to take the initiative yourself if you have enough reason for want to migrate.

We are only using Rust with Dfinity and Catalyze. We chose Rust since many other blockchains also support Rust for Smart Contract development. We have Motoko skills along with GO but not Haskell/Plutus.

The testing feedback was more oriented towards the functionality of the app vs the underlying chain.
To help us gauge what people would like to see in a blockchain alternative to Discord. Again we will continue to look into Cardano and learn about the tech. We will also be looking into supporting Cardano wallets and NFT platforms.

Great! I guess there’s support for Rust on Cardano so you would be able to soon migrate over to Cardano after the VASIL upgrade end of July. You wouldn’t need to rewrite the code in haskell I guess. It’s upto you as to why you want to migrate, what does Cardano provide you that Dfinity does not.Good Luck!

1 Like

I hope so on Rust. Cardano provides an enormous and mega passionate community and a novel transaction model (multi transactions at a time). Plus the ethos is very compelling.

1 Like