Live data from Hacker News

Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

github.com

51–60 of 72 posts

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#51

Interesting. Can someone explain how IPFS works? Is it like Tor? I don't have any interest in running some sort of distributed content farm that might place CP on my computer. Even if the chance of that happening is 0.00001%.

The best one-liner I've heard: it's like one giant git repo that's inside of one giant bittorrent.

My (imperfect) understanding is that it runs like a market: you temporarily store and forward blocks (In general, I don't think IPFS is a great place to do naughty things - it's not big on anonymity, and since blocks drop off the network if they're not being actively requested, to keep something up there you have to store it permanently _somewhere_, which is going to be traceable to the same degree that running a webserver is.

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#52
post #49
post #46

Earlier quoted context omitted.

I'm thinking about creating a gateway for IPFS from clearnet to OnionCat IPv6. So other onion servers can participate without revealing public IPs.

You WILL have to hack on IPFS software, as to not release all your adapter information. Even if you tunnel all the IPFS datastream through .onion , the datastream inside will tell everyone your IP adresses, internal (unroutable) and external.

I've been playing with Freenet, and it does the same. So the IPFS peer would be a VM with no public IP address, which connects through a Tor gateway VM. I'm guessing that IPFS needs a reachable IP:port, so I'd use a throwaway VPS as a clearnet proxy.

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#53
post #36

Earlier quoted context omitted.

And in all honesty, the whole "but child porn OMG" is a non-sequitor. Child porn already exists on the web directly. And Tor Hidden Sites. And Freenet. And other places. The real problem with CP is that fact there's no mens-rea requirement. A script can download it to your browser cache under blank images. It's in your cache, and you have no clue. In the current situation, you are illegal. With mens-rea, you aren't -…

You still have to convince others there was no willingness. And it's much easier to convince them of that if you're not also sending the copies to other people.

Exactly. Stay away from anything that could even be believed to be hosting felony content. I always tell people that, if they do run it, run it through some hosted server at a reputable place so the police just grab that box. They might still hit a residence but they might not if they find nothing on the box they grab while it's active.

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#54
post #10

Earlier quoted context omitted.

Indeed not. In fact, IPFS via the DHT, tells the network of your whole network topology, including internal address you may have, and VPN endpoints too. There's still talks in how to handle Tor connections. Because right now, if you were to use a Tor connection with IPFS, it will tell the whole network your public, private, and .onion addresses all.

Why would it do that though? I don't really care for Tor, but private network? That's a bit strange to me. Can you or someone explain? Seems like it has no regard for privacy by the sound of it.

> Seems like it has no regard for privacy by the sound of it.

IPFS is an infrastructure building block. You are judging it by throwing out "privacy" like all things need to implement privacy without regards to the fact it's the application layer that should be responsible for the "security" of the "private" communication.

I could seed an encrypted file on IPFS and then put a bounty out on it for people to cache it aggressively. I'll increase bounty if you've cached for me before and I'll increase bounty for anyone caching it around a particular timeframe. Any agent looking for my contact who is downloading that file doesn't know if they know the file is for my contact or not.

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#55

Earlier quoted context omitted.

You still have to convince others there was no willingness. And it's much easier to convince them of that if you're not also sending the copies to other people.

Exactly. Stay away from anything that could even be believed to be hosting felony content. I always tell people that, if they do run it, run it through some hosted server at a reputable place so the police just grab that box. They might still hit a residence but they might not if they find nothing on the box they grab while it's active.

It also helps if the hosting facility doesn't know who you are.

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#56
post #18
post #11

Earlier quoted context omitted.

I imagine an IPFS chat software could store it's necessary information in... IPFS. So why involve redis?

Because IPFS only does distributed storage . It has no processing power or logic to handle data transformations. Now, one avenue to handle that is js-ipfs. In order to update things like IPNS records, you need the private key of the node you're trying to change. Interestingly enough, and machine with the pub/priv key can submit an IPNS change. So effectively, you could have a shared repo like Usenet, where everyone h…

That's very cool! Have you looked at OnionCat? I've managed a global LizardFS cluster on a PeerVPN network, overlayed on OnionCat IPv6. Latency is too high for erasure coding or XOR goals, but chunk-replication mode works reliably.

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#58
post #42
post #29

Earlier quoted context omitted.

What makes it ephemeral? Does not IPFS store all objects forever?

My point is that chat messages are meant to be ephemeral, so it was a waste to store them in IPFS and hash them and make them identifiable by a unique useless hash in the entire world forever. But since I posted the comment I realized that this is actually a cool feature for a chat app to have.

When I choose to use a chat application, of my reasons to use it is so that there is an accessible record of the thing.

More concerning to me is with IPFS is privacy. I would want to encrypt it so that only my chat partner and I could read it. But then would it be interesting in enough to live for long on the network?

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#59
Developer of Orbit here. Great to hear all the feedback, thank you!

Most questions have been already answered, but to clarify:

Orbit indeed uses IPFS pubsub (https://github.com/ipfs/go-ipfs/pull/3202) for real-time message propagation, no servers are involved. In addition, it uses orbit-db (https://github.com/haadcode/orbit-db) - a distributed database on IPFS - for the message history, so the messages are not ephemeral and the channel history can always be retrieved. This is a really nice property and allows Orbit to work in "disconnected" or split networks, as well as offline.

Orbit has been a testbed for IPFS applications and orbit-db came out of that work, enabling various types of distributed, p2p applications and use cases: comment systems, votes/likes/starring systems (with counters), feeds, etc. And now with IPFS pubsub, we're finally at a point of being completely serverless and distributed which is hugely exciting and opens so many doors for future work!

I recently gave a talk at Devcon2 about Orbit and developing distributed real-time applications (https://ethereumfoundation.org/devcon/?session=orbit-distrib...) and while the videos of the talk are not out yet (afaik coming very soon!), there's the uncut video of the talk here http://v.youku.com/v_show/id_XMTc1NjU1NzEyNA==.html?firsttim... if you're interested to learn more. Video of the demo I showed in the talk is here https://ethereumfoundation.org/devcon/wp-content/uploads/201....

I'll be hanging out on #ipfs in Orbit if you're interested to try it out. Note that the Electron app and the web version at orbit.libp2p.io don't talk to each other atm (we're working on this), so I would highly recommend to try out the Electron app.

While you're at it, try drag & dropping files and folders to a channel, that's one of the coolest feature of Orbit atm imo :)

We're actively developing Orbit and making a push in the next few months, if you're interested to take part in the design and development, or would like to develop your own apps using the same tech, join us on Github https://github.com/haadcode/orbit/issues.

Thanks for the comments everyone, much appreciated!

Re: Orbit – Distributed, serverless, peer-to-peer chat application on IPFS

#60
post #42
post #29

Earlier quoted context omitted.

What makes it ephemeral? Does not IPFS store all objects forever?

My point is that chat messages are meant to be ephemeral, so it was a waste to store them in IPFS and hash them and make them identifiable by a unique useless hash in the entire world forever. But since I posted the comment I realized that this is actually a cool feature for a chat app to have.

The cool thing about unique hash per message is that it makes that message linkable in other applications, after all it's just an IPFS hash. So for example, if you share a file in Orbit, you can get that file with IPFS just like you would get it normally.

Linked data ftw! :)

Post reply on HN