Echo4190 / alliancep2pbeta

Automatically exported from code.google.com/p/alliancep2pbeta
0 stars 0 forks source link

Secure Turtle Hopping (Turtle Hopping 2.0) #19

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
you--------trusted friend 1-------trusted friend
 |
 |
 |_________friend
 |
 |
 |_________trusted friend 2 ---------friend
        |
        |_________trusted friend---------trusted friend
                |
                |____friend

The above diagram shows you, your friends, your friends you marked as
trusted, their friends and the friends they mark trusted.

The concept of Secure Turtle Hopping (turtle hopping 2.0) is simple.
Normally when searching for files, Alliance would search just your friends.
With Secure Turtle Hoping when searching for files or searching for sources
to a file Alliance would include your friend's trusted friends, and their
friends trusted friends...etc to help you. By including them Alliance would
give them “temporary friend access” this way you are directly connecting to
them instead of going threw your friends connection and wasting their
bandwidth like traditional Turtle Hopping. Temporary friends would only
have the ability to upload or download that particular file they where
looking for. They would not be able to view your downloads. They would,
however, be able to chat with you and PM you.

You would/should of course have the ability to limit how far out in the
trusted friend pyramid you want to search. For example if you only want to
search your trusted friend's trusted friends and their friend's trusted
friends then you'd put a 2 in for "Turtle Hoping distance". We would have
to set a global limit for this though since it could possibly use up a lot
of bandwidth or simply crash alliance if you set it to something high.

We would also need a new option in the Alliance settings so people who
don't wish to use this feature cold simply shut it off and not participate
in any type of Turtle hoping sharing.

:: downloads and uploads tabs ::
They would need to be updated to show who's downloading / uploading to you
and who they are friends with. So using the diagram above, if I was
downloading from trusted friend 1 and his trusted friend my downloads tab
would show something like this.
Trusted friend 1----------10kb/s
Trusted friend 1>Trusted friend------30kb/s

:: The benefits ::
1) Faster downloading thanks to direct connections.
2) More files from trusted sources.
3) Bigger network of friends. This also opens up the ability to get to know
these people your connecting to and possibly exchange buddy codes to become
real friends.

:: The drawbacks ::
1) Security - People could abuse this by marking "bad guys" as trusted
friends. So the further out you search the more apt you are to run into
hackers, unwanted people, or other random alliance stability issues.
2) Could use up more bandwidth and CPU cycles when searching across a lot
of people. This is assuming you have a lot of friends marked as trusted and
they do too.

This may or may not ever be implemented but I felt it was best to post here
to get user feedback and possibly suggestions on how we could make it better.

FYI. Traditional Turtle Hopping where you download files through your
friends was implemented by Maciek years ago and is actually still in the
Alliance P2P code, just commented out so no one can use it :). He felt the
idea was good but posed problems for people with bandwidth caps or shitty
connections. I've tossed this idea past him and he feels it might be an
overall better solution since users would have more control over who their
sharing with. The only draw back to directly connecting to 3rd party's is
they would then temporarily get your IP/DNS which poses a security risk. I
think this is why if implemented we should add an option to disable this
completely for the people that wish not to use it at all or share their
files with 3rd party's.

Original issue reported on code.google.com by Deathfi...@gmail.com on 16 Feb 2010 at 12:01

GoogleCodeExporter commented 9 years ago
If I want to allow a person to download my files, I'd add them as a friend, and 
put 
them in the proper group to access the file. If this gets implemented, you 
absolutely 
need to include an option to disable it. I personally think it's useless, 
because 
it's a security problem if you enable it by default, and it would be entirely 
ineffective if you disable it by default. If it's only able to look at public 
data, 
then it is entirely useless for people who have all their data organized into 
groups.

This "turtle hopping" seems to me like it's effectively the same as connecting 
to all 
your trusted friends' trusted friends automatically, except that you don't 
bother 
looking up their file list. What I quite like about Alliancep2p is how closed 
it is, 
and how only people I have pre-authorized can look at my data. I like that my 
photos 
are kept to the people I want to see them, rather than them be available to 
anyone 
who can search "jpg".

Even if you require the sender to authorize a transfer, I could see problems 
arising 
where someone does a random search with some pornography-related keyword, and 
sees 
who they can make fun of for having such files. Again, if you enable this by 
default, 
people might not know that they are sharing with more than their friends.

-.-" Please do not implement this. If you do, be sure to take caution.

Original comment by Erol...@gmail.com on 23 May 2010 at 8:34

GoogleCodeExporter commented 9 years ago
I suppose the best way to solve the problem of being embarrassed about what your
sharing is just to remove the manual search part and only use this for when 
you're
downloading from someone already and Alliance attempts to find other friends 
that
have it to attempt swarming. The only difference is it would go down however 
many
trusted friend levels you wish it to go down for searching.

The feature isn't useless since we've had a lot of people requesting this since 
the
early days of Alliance. There's a problem where if only 1 of your friends has 
the
file you need but several of their trusted friends have it, you'd never known. 
Since
you're not friends with them your download speed is limited to 1 person and if 
you
don't have auto add friends of trusted friends on then you'd never know about 
the
other few people that have it.

Again this is a feature that can/should be able to be turned off via options.

Original comment by Deathfi...@gmail.com on 23 May 2010 at 8:59

GoogleCodeExporter commented 9 years ago
Okie dokie. The last thing I would point out is to differentiate between 
disabling 
outgoing and incoming hopping - there would likely be users who want to look at 
the 
files of trusted friends of their trusted friends, but only want their own 
trusted 
friends to be able to access their own files.

Original comment by Erol...@gmail.com on 23 May 2010 at 9:38