Live data from Hacker News

Neocities is implementing IPFS – distributed, permanent web

ipfs.io

41–50 of 249 posts

Re: Neocities is implementing IPFS – distributed, permanent web

#41
post #30

So is this primarily for static websites? I don't see dynamic websites going too well with this system. Edit: If someone like GitHub supported this for GitHub pages it would be a great step forward for this as well.

With IPNS, which allows the creation of links whose destination can be mutated by whoever has the private key, you can implement quite a lot of interactivity. You won't ever be able to implement facebook over this platform, but you can replicate all of its functionality by using a tumblog-like architecture. Facebook's design is inherently centralized, and therefore doesn't really fit into the world of IPFS. The idea…

How does friend recommendation work in a decentralized model?

Re: Neocities is implementing IPFS – distributed, permanent web

#42
post #34

Earlier quoted context omitted.

In the (relatively rare) case of a SHA hash collision, couldn't you try and resolve a collision by using (the results) of other hashing functions? While two things may produce the same SHA hash, they may differ with other hashing functions.

All you're doing then is fiddling with probabilities. You can do that just as well by changing the length of the sha unless you have a reason to think sha is broken. However, the probability of a hash collision is already incredibly low. As a demonstration of this, here's a list of a tiny subset of bitcoin private keys: http://directory.io/ The human mind just isn't capable of understanding how large of a number the…

But the probability that sha256 is broken is much much higher than a collision, and definitely within the realm of human understanding.

Re: Neocities is implementing IPFS – distributed, permanent web

#43

My first thought is how does it handle SHA hash collisions? Googling for it took me back to HN: https://news.ycombinator.com/item?id=9322489 AFAICT it's not yet resolved.

ipfs currently uses what we call a 'multihash' where every hash value is tagged with the hash function used to generate it. As of now, the default hash function is sha256, and if I recall correctly, the chances of a world ending asteroid hitting earth and wiping out the planet is far more likely to occur than a collision. If sha256 is shown to be broken, we can change our default hash function to something like sha51…

Well.... while an asteroid annihilating life on the planet isn't likely, the size of the web isn't a joke either, so such a collision is more probable than in other cases...

I suppose this could be made a problem for the user, i.e. if you want to make sure that your page isn't colliding with any other, then simply check first. (Of course there is still a race condition possibility of two colliding addresses being created at around the same time...)

Re: Neocities is implementing IPFS – distributed, permanent web

#44
post #15

Earlier quoted context omitted.

Agree. What we really need is for browser vendors to get together, bring in the tremendous financial and technical resources they have, and get a decentralized protocol formalized and supported across browsers. It may take years, but it needs to be done. That would change the internet, and the world.

Two pieces of (coming soon) good news: - very soon, you wont need to install anything to use IPFS. it will "just work" with js on today's browsers. - for best perf, yes, we need browser implementations. and... those have begun :)

Cool!

Do you have links to browser implementations?

Re: Neocities is implementing IPFS – distributed, permanent web

#45

> Organizations like the NSA (and our future robot overlords) now only have to intercept our communications at a few sources to spy on us. If you had the hash of some content, couldn't anyone find all of the ips currently serving it? EDIT: Found this https://github.com/ipfs/faq/issues/12

"ipfs dht findprovs " gives the hash of the nodes serving it. I'm not sure how to get from that to an IP.

Re: Neocities is implementing IPFS – distributed, permanent web

#46
post #45

> Organizations like the NSA (and our future robot overlords) now only have to intercept our communications at a few sources to spy on us. If you had the hash of some content, couldn't anyone find all of the ips currently serving it? EDIT: Found this https://github.com/ipfs/faq/issues/12

"ipfs dht findprovs " gives the hash of the nodes serving it. I'm not sure how to get from that to an IP.

"ipfs dht findpeer " will search the DHT for connection info on a given peer.

Re: Neocities is implementing IPFS – distributed, permanent web

#47
post #34

Earlier quoted context omitted.

In the (relatively rare) case of a SHA hash collision, couldn't you try and resolve a collision by using (the results) of other hashing functions? While two things may produce the same SHA hash, they may differ with other hashing functions.

All you're doing then is fiddling with probabilities. You can do that just as well by changing the length of the sha unless you have a reason to think sha is broken. However, the probability of a hash collision is already incredibly low. As a demonstration of this, here's a list of a tiny subset of bitcoin private keys: http://directory.io/ The human mind just isn't capable of understanding how large of a number the…

Right, but fiddling with probabilities is exactly what you want to do in that case right? I don't know if a hashing algorithm that has no collisions exists (I suspect the answer is no, maybe other than the identity function). If collisions start to become a problem, you can move that problem further out (much much farther out) by mixing more hashing functions in, which was my point.

It's well documented (of course also by the link you posted), the super low likelihood of hash collisions, but I think (hope) the original poster knew that -- was trying to answer assuming that extraordinary case actually happened.

Re: Neocities is implementing IPFS – distributed, permanent web

#48

Earlier quoted context omitted.

ipfs currently uses what we call a 'multihash' where every hash value is tagged with the hash function used to generate it. As of now, the default hash function is sha256, and if I recall correctly, the chances of a world ending asteroid hitting earth and wiping out the planet is far more likely to occur than a collision. If sha256 is shown to be broken, we can change our default hash function to something like sha51…

Well.... while an asteroid annihilating life on the planet isn't likely, the size of the web isn't a joke either, so such a collision is more probable than in other cases... I suppose this could be made a problem for the user, i.e. if you want to make sure that your page isn't colliding with any other, then simply check first. (Of course there is still a race condition possibility of two colliding addresses being cre…

Heres the article i normally link to when this comes up: http://stackoverflow.com/questions/4014090/is-it-safe-to-ign...

Its generally considered safe to ignore, there are no known sha256 collisions, and most people are fairly confident they wont see one for quite some time.

Re: Neocities is implementing IPFS – distributed, permanent web

#49
I was running IPFS as "my own pastebin for files" for a while (it's great!), but was wondering what can they do to improve adoption / popularity. This move is amazing! Useful, interesting for people who care, and visible for others.

Next, I'd really like someone to implement git backend in IPFS / IPNS. Right now there's https://github.com/whyrusleeping/git-ipfs-rehost but that's just simple hosting.

Re: Neocities is implementing IPFS – distributed, permanent web

#50

Earlier quoted context omitted.

In the (relatively rare) case of a SHA hash collision, couldn't you try and resolve a collision by using (the results) of other hashing functions? While two things may produce the same SHA hash, they may differ with other hashing functions.

It will reduce the probability of a collision at the expense of the address being longer - because now you need to carry around hash1 + hash2. But still it doesn't eliminate the possibility, only makes it less likely.

Exactly, what I noted was the most likely temporary/possibly long-term solution to the problem.

What about hashing an object that contains the hashes generated by x hashing algorithms? an extra step of resolution, sure, but some way to easily demarcate that some file experienced a collision with another file, and had to have the number of hashes increased to stave off further collisions?

Post reply on HN