18 comments

[ 3.0 ms ] story [ 18.5 ms ] thread
What I would really love to see are "usecase recipes" like "I would like to share this data like that with those, what would be a good way to do so?". IPFS looks so cool and useful but I am always totally overloaded with its technical details and apparent complexity.
Have you got some specific use cases you'd like to see? I could write a post about it.
I didn't know about this, looks really interesting! How large are the chances that this could replace HTTP and when could that realistically happen?
Not very high. They're designed to do different things.

For example, IPFS only allows raw files and client-sidr code. This is not suitable for e-commerce websites or businesses, but very suitable for open-source and informational websites.

They solve different problems, so shouldn't be confused. Maybe someday in the future, IPFS could be integrated into browsers for a seamless experience between the two technologies, and that'd be pretty cool.

That sound very cool indeed.
Benet said in a talk that they're working on making e-commerce work in distributed systems. Ethereum for instance does exactly that.
Replace? None. Ipfs does not provide privacy which eliminates it from any direct http->ipfs conversions that require typical login. (You could potentially rearchitect the service, but that's not trivial)

But for some specific use cases, it's pretty good. Here are some examples: https://github.com/ipfs/awesome-ipfs/blob/master/README.md

Thanks, that's a good write up. The wiki use case looks interesting!
The Web is heavily mutable. You are often logged in, changing pages just so; forums and chats mutate heavily; you send cookies and other sensitive information to servers…

IPFS is content-addressed. The only mutable part is IPNS, which allows making a node ID point to any immutable content-addressed object. That means that any mutation requires reaching a worldwide consensus among nodes, and recomputing the hash of all its content, which for large directories with frequent updates is prohibitive, and sometimes architecturally nightmarish.

Think of Twitch.tv: the video stream can't be hashed, since it is constantly updated, and the chat can have very frequent updates, and the whole chat stream needs to be re-hashed constantly (let alone the need for several feeds, so that moderators can perform validation, which again requires each of them to have their own IPNS endpoint)…

But for the niche of Web publishing, it is amazing: you have a blog or news site updated, say, once every hour, and you get a CDN for free from all your users. Still, that requires the Protocol Labs team to come up with a front-end product that end-users will actually install.

(comment deleted)
I set up an IPFS node(?) on my server last night. The server has 3TB of space, so I thought I would be a good internet citizen and donate some space to mirror some of the ipfs archives (https://archives.ipfs.io/).

Simple, right? So I installed and launched the ipfs docker image and then ran `ipfs pin add QmTZeE4yTiDd76YxbWvenneqSf5VhooNnA46WWWHtHcu5n`. I thought this would download that hash (IETF RFC Archive) locally and mirror it.

Instead the command just hung there. No output. Left it for an hour, still no output. Debug mode was useless and printed out nothing interesting. It took me a long while to realize that `ipfs pin add` takes a file path of a local file and pins it (or something? still not clear).

Ok. So lets run `ipfs get QmTZeE4yTiDd76YxbWvenneqSf5VhooNnA46WWWHtHcu5n` and then we can run `ipfs pin add local-hash`. Hmm, no output and no progress at all. After an hour there was some form of output that said I had downloaded 15mb of the archive, and it would take 8 more minutes to do. It still said this two hours later. Ok, so lets leave it overnight in a screen session.

Cut to next morning, I wake up to a message from my provider saying that they detected a port scan originating from my server, specifically from the port that ipfs uses. I think their detection systems misclassified the traffic, but it's just extra hassle. And the archive was still on 15mb completed.

It's a very interesting technology, and it looks great for simple text files, but the UI is terrible. You want some kind of permanent web? Surely asking people to explicitly pin specific files isn't the way forward, wouldn't being able to say "I want to donate X gb of disk space, cache some stuff for people to use" be better?

> wouldn't being able to say "I want to donate X gb of disk space, cache some stuff for people to use" be better?

I believe this is addressed by Filecoin

http://filecoin.io/filecoin.pdf

IPFS is using model where it is possible to increase a number of copies of file by downloading it, but it's impossible to upload file to machines of other people. If you are looking for different model - take a look on Ethereum's Swarm. They also approach persistency problem in a different, arguably better way.
IPFS is only permanent for content tha can't get you in trouble for distributing or posessing.

To make it truly permanent it would need some layer for anonymization.

A better link may have been their actual site, ipfs.io.