Live data from Hacker News

Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

yadaproject.com

11–20 of 34 posts

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#11
post #6

Earlier quoted context omitted.

How do you intend to tackle NAT, dynamic IP addresses, and devices that aren't always on, or devices only accessible to some machines but not others? How do you intend to solve the chicken and the egg problem this network will encounter?

IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs. If you have no social graph on yada, then your very first connection to a friend may have to be unencrypted, but not in every case.

> IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs.

You're making a lot of assumptions:

1) That IPv6 will assign a unique and constant IP to every device. Many ISPs provide this as an up-sell feature, not the default, and I don't expect them to change their behavior even if the cost of it approaches 0.

2) That IPv6 will solve all your network problems. It doesn't solve the issue of a bad link or a restrictive firewall. Consider Hosts [A,B,C] and Firewall F. F will block all connections from B. How will yada connect A and B in this arrangement: A [B,C] ? Will is use C to route the connection? How will it determine that C can act as an intermediary, and how will it protect A's data such that C can not be used as a MTM (Man in The Middle) attack vector?

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#12
post #9

Earlier quoted context omitted.

"1. A requirement seems to be the ability to make and receive socket connections. How would you address the typically restrictive home firewalls/NATs that most people are living with?" IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs. "That doesn't inspire much confidence in the idea as a proof of concept." This technology is a little ahead of…

> IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs. With all due respect, if your solution depends on the following developments in the real-world: (1) Everyone upgrades their cheap DSL/cable home modems to something that supports IPv6 (2) Cell carriers allow incoming mobile data connections (can you say mobile DoS?) (3) People modify their fir…

Thanks for the reply, but take Skype for example, they have gotten over these technical hurdles. I could give you a huge explanation involving relay points and NAT traversal etc. but at the end of the day, these challenges have been defeated.

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#13
post #9

Earlier quoted context omitted.

> IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs. With all due respect, if your solution depends on the following developments in the real-world: (1) Everyone upgrades their cheap DSL/cable home modems to something that supports IPv6 (2) Cell carriers allow incoming mobile data connections (can you say mobile DoS?) (3) People modify their fir…

Thanks for the reply, but take Skype for example, they have gotten over these technical hurdles. I could give you a huge explanation involving relay points and NAT traversal etc. but at the end of the day, these challenges have been defeated.

Skype uses a number of super-nodes that provide some guarantees on service level and has a set of central login servers: http://www.mjalali.com/blog/?p=10

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#14
post #9

Earlier quoted context omitted.

> IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs. With all due respect, if your solution depends on the following developments in the real-world: (1) Everyone upgrades their cheap DSL/cable home modems to something that supports IPv6 (2) Cell carriers allow incoming mobile data connections (can you say mobile DoS?) (3) People modify their fir…

Thanks for the reply, but take Skype for example, they have gotten over these technical hurdles. I could give you a huge explanation involving relay points and NAT traversal etc. but at the end of the day, these challenges have been defeated.

> I could give you a huge explanation involving relay points and NAT traversal etc. but at the end of the day, these challenges have been defeated.

[citation needed]

All of them (to my knowledge, and yes, I've researched this) still require some sort of central network that gets contacted first. "Trackerless" bit torrent, for example, uses a DHT that is hosted by... bittorrent.com

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#15
post #11

Earlier quoted context omitted.

IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs. If you have no social graph on yada, then your very first connection to a friend may have to be unencrypted, but not in every case.

> IPv6 is already being deployed from top tier mobile carriers and that allows globally rout-able addresses even behind NATs. You're making a lot of assumptions: 1) That IPv6 will assign a unique and constant IP to every device. Many ISPs provide this as an up-sell feature, not the default, and I don't expect them to change their behavior even if the cost of it approaches 0. 2) That IPv6 will solve all your network p…

1) Each client checks for internal and external IPs and saves them. That list is transmitted to your friends every time you update them with other data. It automatically manages this list of possible places to reach you.

2) There will be indexers for these cases which can be used as relay points. C would merely be a match-maker, telling each host which IP address and port is currently open. No data is sent through C.

Skype does this.

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#16
Pardon what may seem to be a silly question (amateur "would-be" engineer speaking), but I have a doubt, which is the following:

Data needs to be stored. You either store it locally, and as such it is only accessible when the device is on, or it's stored on a central repository or index, meaning it's always on even if one of the devices is off.

How do you tackle this? How do you make sure that user A tries to access news feed of user B, and fails to get it because user's B device is offline?

Maybe I'm being slow or noobish, but it seems to be the same problem one has with bitorrent: user A downloads from user B if user B is online. If data is common, I have multiple seeds, but social network implies that nobody has the same data. Unless you copy my graph to my friends "device" so one has multiple seeds, which could be quite unpractical on mobile devices if I have a lot of friends.

How do you solve this "intermittent issue" and the synchronization and persistence problems it generates? Without a central "clearing"/indexing server? Even Skype has "Super nodes" to handle this issues...

This aside from the fact that "IPV6 deployment" is not going to be a easy cake to bake, one has to fix the problems faced by GPG trust model to ensure that two parties can verify (with some degree of trust) that the other party with whom they're communicating is, indeed, the person they expect, dynamic IPs, and so on.

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#17
post #13

Earlier quoted context omitted.

Thanks for the reply, but take Skype for example, they have gotten over these technical hurdles. I could give you a huge explanation involving relay points and NAT traversal etc. but at the end of the day, these challenges have been defeated.

Skype uses a number of super-nodes that provide some guarantees on service level and has a set of central login servers: http://www.mjalali.com/blog/?p=10

Yes, through mutual friends and indexers with persistent connections, these challenges are mitigated.

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#18
post #14

Earlier quoted context omitted.

Thanks for the reply, but take Skype for example, they have gotten over these technical hurdles. I could give you a huge explanation involving relay points and NAT traversal etc. but at the end of the day, these challenges have been defeated.

> I could give you a huge explanation involving relay points and NAT traversal etc. but at the end of the day, these challenges have been defeated. [citation needed] All of them (to my knowledge, and yes, I've researched this) still require some sort of central network that gets contacted first. "Trackerless" bit torrent, for example, uses a DHT that is hosted by... bittorrent.com

Indexers assist with making connections but the connections are still eventually happening directly.

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#19

Pardon what may seem to be a silly question (amateur "would-be" engineer speaking), but I have a doubt, which is the following: Data needs to be stored. You either store it locally, and as such it is only accessible when the device is on, or it's stored on a central repository or index, meaning it's always on even if one of the devices is off. How do you tackle this? How do you make sure that user A tries to access n…

You can have your data hosted if you don't believe your device will be online all the time. This could open up some ad-based services.

Re: Intro to Yada Project - An Open Source p2p Social Network (proof of concept)

#20

Have you spoken with the Diaspora team? This was their exact idea, until they started implementing, and the practical concerns moved them back to the client-server, node-based model.

There model is very different, though I don't know their history.
Post reply on HN