0

Etherum vs IPFS for Long Terms Storage of Critical document files?

Storing high priority files on the blockchain. I am also writing a smart contract for the files on Etherum. I have concerns about IPFS garbage collection vs storing the files directly on Ethereum. Thoughts?

IPFS for the storage and storing only the hash on ethereum. This is correct right? Ethereum doesn't store the entire files/folders?

Here are my concerns (am I thinking this through correctly?)

  1. IPFS could delete the files via Garbage collection.
  2. Ethereum only stores the hash, not the full files?
  3. For important files I am I better off storing them directly on Ethereum blockchain?

Other thoughts: I could use a redundancy system:

Have IPFS node have the files stored on an external hard drive. Con: Leaves the hard drive being vulnerable to getting lost

Have one files on BOTH Ethereum and IPFS (with backup too). Con: Expensive and bloats Ethereum blockchain.

Thank you for your time and help!

1 Answer 1

0

I'm not sure what is the question as you summed up all the possibilities and trade-offs on your summary, so I'll just reiterate on a few things.

Ethereum doesn't store the entire files/folders?

Ethereum is supposed to be a decentralized computer, not a decentralized storage file system. However, you are able to store any arbitrary information in there. But it's highly expanse and almost always not necessary.

IPFS could delete the files via Garbage collection.

Yes, if every node stop serving the files the network will eventually delete it. You could just always keep running one, though.

Ethereum only stores the hash, not the full files?

If you wish to do so, yes. You can do both. Be advised that to store a single kilobyte on the chain you have to pay approximately 0.035 ETH. Which can get expensive really fast.

For important files I am I better off storing them directly on Ethereum blockchain?

Depends on your use. If you hash said files, put the hashes in the blockchain and serve the files through a personal server, your users can:

  • Verify that said file existed in the date that it was published in the blockchain ( use-example: Hash the answer of a question and publish it before ending the test to later reveal the answer and prove that you knew the answer without revealing).

  • Verify that you didn't alter the file after that point in time.

Your users can't:

  • Verify the "authenticity" (whatever that may be for your project) of a file. But that's not solvable by any instance inside a Blockchain and is a property of the "Real World".
1
  • Thank you so much! I guess my question was am I thinking through all the possibilities? LOL. I appreciate you taking the time to confirm my thoughts! I am new to this and really want to be clear with my software design process. Mar 27, 2019 at 18:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.