Hacker News new | ask | show | jobs
by tetrisgm 2345 days ago
Disclaimer: I run the unofficial IPFS Discord and Matrix (found at https://permaweb.io/discord and /matrix) and have helped organize IPFS Meetups in SF. We also run an IPFS gateway and have built a groups app on top of IPFS and Textile.

I generally agree with the conclusion, but there's a few downsides that aren't conveyed here.

Let's look at the proposed upsides: 1) Ownership, control, censorship: That's partly correct. Ownership is fair, in the sense that you can run your node and self-host. However this is true of any self-hosting solution. You could run a Docker instance of a Wordpress or Ghost site and get ownership / control.

2) The point about censorship is muddied, however. I'll combine that point with the second upside: Resilience. Every day for the past two years, I've seen people wonder if IPFS is a magical cloud with infinite storage. People seem to think you put a file on IPFS, and it just gets replicated, censorship resistant hosting. That's not how it works. People need to pin your hash. You need to tell the world about your hash somehow. All this is done via a public list of IPs that is being broadcasted. Think of IPFS this way: you're letting people with the hash become CDNs of your content. That's cool, but that doesn't solve discovery, keeping things up, etc. IPFS doesn't encrypt the content, or the connectivity, or hide the hosts. Solutions exist around that, but they're niche, and honestly I question the motives besides just ideology.

3) Elegance. Yeah it's a really, really cool way to solve linking. As some others pointed out, it's not as fast as classic centralized links, so it's better suited currently for solutions that don't require speed.

4 comments

> IPFS doesn't encrypt the content, or the connectivity, or hide the hosts. Solutions exist around that, but they're niche, and honestly I question the motives besides just ideology.

I question the motives of people who would be against encryption, aside from it being a lot of work and just not having been done yet. Ideally: no one should know the true IPs of their peers, and no one snooping on the connection should be able to read anything useful. Even the contents of the files should be encrypted, but I struggle to see how that could be easily implemented (maybe like Mega.NZ does where the key is part of the URL).

Otherwise it's going to be very hard to convince me to host arbitrary content from untrusted strangers. It's just pragmatic. No encryption = no plausible deniability.

I totally agree, but want to emphasize one thing.

Let's say that stuff was encrypted during transmission, and also when stored by peers. But peers could see each other's true IPs. That would basically give you a modern version of Freenet. And just like with Freenet, users could be arrested, and prosecuted based on hand waving. When you get down to it at trial, "plausible deniability" depends on having a suitable expert witness, and convincing a jury that the prosecution's expert witness is full of it.

So anyway, none of that helps unless true IPs of peers are hidden.

> IPFS doesn't encrypt the content, or the connectivity, or hide the hosts. Solutions exist around that, but they're niche, and honestly I question the motives besides just ideology.

Hiding connectivity metadata and host identity are essential to protect users from adversaries.

I agree with you, but I suspect your observation is circular in this context. If we define "protect" and "adversaries" appropriately, couldn't this be true of any measure?
I'm not sure what you mean by "any measure".

What I'm recommending would protect all sorts of users from all sorts of adversaries. So it's nonjudgmental.

But that doesn't mean that it's "circular".

I'm wondering if IPFS might be better thought of as a common data-publishing protocol that might be used to push content to any number of CDN's?

So, you could publish content to IPFS and tell your favorite CDN to pick it up, and you pay them to keep it active. But IPFS isn't limited to one CDN, so you could always pick another one. And your users could also go through a different CDN. Or some people who really want to could run their own CDN and pin whatever they want to host.

The Dat protocol was supposed to play that role (https://dat.foundation/)
> I'm wondering if IPFS might be better thought of as a common data-publishing protocol that might be used to push content to any number of CDN's?

Think of the bits that work properly as "the web of BitTorrent magnet: links" and you'll have a reasonably accurate picture.

Interesting name choice. The term “permaweb” is typically associated with Arweave and their decentralized permanent storage offering [1].

1. https://techcrunch.com/2019/11/05/how-arweave-permaweb-works...