Live data from Hacker News

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

yadaproject.com

21–30 of 34 posts

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

#21
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. 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 doesn't do this. Please read: http://www.mjalali.com/blog/?p=10

>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.

According to the link, "supernodes" route connections and provide matchmaking between Skype callers. How do you find the "supernodes"? "If this file is not present, SC tries to establish a TCP connection with each of the seven Skype maintained default SNs IP address on port 33033."

>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.

"If caller and receiver are behind a UDP-restricted firewall they will need a relay (node) in between to establish TCP connection to and then the traffic (including media) will go through from one side to the other."

Skype's protocol would use host C as an intermediary.

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

#22
post #8

"Yada is a patent pending method for implementing a peer-to-peer based social network without the use of a ANY central server." Is that a joke? Seriously?

No, definitely not. Please read below and go to yadaproject.com to see why you should help out with this open source project.

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

#23

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.

Their model is very different now, yes, but their original presentation was based on this exact concept. I would suggest looking at their history to see why they moved away from this design, and if possible, speaking with them or discussing on their mailing list the pitfalls they ran into.

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

#24

Earlier quoted context omitted.

There model is very different, though I don't know their history.

Their model is very different now, yes, but their original presentation was based on this exact concept. I would suggest looking at their history to see why they moved away from this design, and if possible, speaking with them or discussing on their mailing list the pitfalls they ran into.

I'll speak with anyone willing to help solve technical challenges associated with this model. But until someone comes up with something "damning" then I'm going to keep moving forward.

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

#25

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.

I don't think that answers my question on intermittence, persistence and syncronization.

I can have my date hosted, but if my friends don't (that's why they use your service, so not to have to do that, or else they remain with Facebook, LinkedIn, etc. That's your USP), I can only access their data when my friends devices are online. Or, alternatively, you store my whole friends graph on my device, which presents scalability and performance issues. Or, 3rd route, you store my friends data on multiple devices on the network, doing "multiple seeds". Again, we're back to "opps my data is all over the place", when your Unique Selling Point was P2P = privacy, no need to centralize.

Even Skype Supernodes don't solve this issue. They solve some of the routing issue. Not the "address book/data issue". You don't seem to solve it either.

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

#26
post #14

Earlier quoted context omitted.

> 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.

If you intend to implement this, I suggest you do some serious in depth reading on peer discovery over IP based networks, including real world applications and exactly how they operate, and what their limitations are.

With all due respect, based on your posts your current understanding of how things like Skype and Bittorrent operate under the hood in a "server-less" environment has a few holes.

http://en.wikipedia.org/wiki/Distributed_hash_table

http://en.wikipedia.org/wiki/Local_Peer_Discovery

http://en.wikipedia.org/wiki/Decentralized_network_42

http://samy.pl/pwnat/

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

#27

Earlier quoted context omitted.

Their model is very different now, yes, but their original presentation was based on this exact concept. I would suggest looking at their history to see why they moved away from this design, and if possible, speaking with them or discussing on their mailing list the pitfalls they ran into.

I'll speak with anyone willing to help solve technical challenges associated with this model. But until someone comes up with something "damning" then I'm going to keep moving forward.

I wish you the best of luck, and I admire your ambition (and hubris) but as someone who has been working on distributed social networking (Appleseed) for over half a decade, I'll present this:

You don't always need a singular, damning situation in order to prevent a model from being implemented. Sometimes dozens of purgatorial ones are plenty.

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

#28

Earlier quoted context omitted.

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.

I don't think that answers my question on intermittence, persistence and syncronization. I can have my date hosted, but if my friends don't (that's why they use your service, so not to have to do that, or else they remain with Facebook, LinkedIn, etc. That's your USP), I can only access their data when my friends devices are online. Or, alternatively, you store my whole friends graph on my device, which presents scal…

"Or, alternatively, you store my whole friends graph on my device, which presents scalability and performance issues."

With all due respect, this is where you are incorrect. Devices today completely capable of handling a large amount of compressed plain text data. Media would will be links to external sources as storage capacities play catch up.

The CPU of the device would be able to map your entire social graph and do things that are not possible today being that calculating a social graph on a central server for each user is EXTREMELY expensive and basically impossible with high-load services. Kind of like the concept behind folding @ home.

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

#29
post #21

Earlier quoted context omitted.

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 doesn't do this. Please read: http://www.mjalali.com/blog/?p=10 >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. According to the link, "supernodes" route connections and provide matchmaking between Skype callers. How do you find the "supern…

That's true, its not exactly the same as your example. But the method I have developed does work.

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

#30

Earlier quoted context omitted.

I'll speak with anyone willing to help solve technical challenges associated with this model. But until someone comes up with something "damning" then I'm going to keep moving forward.

I wish you the best of luck, and I admire your ambition (and hubris) but as someone who has been working on distributed social networking (Appleseed) for over half a decade, I'll present this: You don't always need a singular, damning situation in order to prevent a model from being implemented. Sometimes dozens of purgatorial ones are plenty.

It just takes time and dedication, the motto of any true software developer.

Using the CPU power of a device that is capable of playing video games to calculate your social graph (that is stored on that same device) is extremely powerful and well worth the time and dedication.

Post reply on HN