Roadblocks to using IPFS to host profiles?


What keeps us from using IPFS (instead of http) as the default storage mechanism for profiles?

I can think of two problems off bat:

  1. End users would need to have access to an IPFS node that’s always online to guarantee that their profile data is always accessible.
  2. High latency compared to something like s3 + a global CDN. This could be solved through an http ipfs gateway with a warmed cache.

Are there other reasons in addition to these?


Data availability concerns is a third reason. If you host it on S3 you know your data will be there. If you’re the only IPFS node hosting then you’re essentially self-hosting your content. If you get other people to seed then that’s awesome but not guaranteed. Filecoin can be the solution here and I’m hopeful that this will be the missing piece.


Besides the overhead of administering a server (keeping it up to date, etc, how is this different than hosting an ipfs node on ec2 or digital ocean?

I’m interested in this because our current architecture (storing profiles mostly on s3) doesn’t solve censorship problems. (Think great firewall of china)


Yeah very good point. It might be a good idea to sync to both S3 and IPFS by default.


You’re not pointing to your IPFS node, you’re pointing to the IPFS network (you node is a small part of the network). So any reliability/routing issues will still impact you, regardless of the node you contributed to the network. The only thing your own node helps with is providing a consistent seed of your data.

Running your own Linux server (with Blockstack storage driver) and using it as a storage server (instead of S3) can potentially work better because you are directly pointing to your own node (decoupled from IPFS routing). Of course, mirroring on both networks gives you all the benefits.

We have this general rule of thumb for storage design: replicate as widely as possible. Replicating on IPFS fits that bill.


Is there a place I can subscribe to updates on the status of this endeavour? Is this thread sufficient?