> We could really
> do with some local and semi-local stuff e.g. instant messaging (as an
> extra incentive for people to add their friends, for example).

The more I've thought about f2f networks the more important local 
communication has seemed. Global search and routing are problems from 
"light" networks that are not only harder to implement in "dark" 
networks, but make less sense there. Rather than taking the internet or 
traditional p2p networks as our model, I think we should be looking at 
im, irc, livejournal and myspace. "Friend management" and communication 
with friends are a significant part of these systems; browsing and 
searching are relatively unimportant.

Friend management seems to have at least three aspects: presence, 
visibility, and introductions. Presence means being able to see when 
your friends are online; fproxy already offers that. Visibility means 
being able to see who your friends are friends with, and to choose which 
friends are visible to which others. At the moment freenet takes the 
most secure but least social approach: friends are invisible to one 
another. But in order to encourage the third aspect of friend 
management, introductions, it might be useful to allow people to make 
selected friends visible to selected other friends.

Introductions are important for a friend-to-friend network because they 
allow people to make new connections without out-of-band communication. 
The introducer must be trusted not to perform a man-in-the-middle 
attack, but by definition the introducer is someone the other two 
parties already trust. (For extra security, the new friends should be 
encouraged to confirm one another's keys out-of-band at the earliest 
opportunity.)

How do we make introductions as painless as possible?

1) Allow users to make selected friends visible to selected other 
friends, and make it easy to browse your friends' friends, possibly by 
hosting myspace-style profile pages for your friends.

2) Provide a link on the profile page for requesting an introduction to 
a friend's friend - the friend's friend will be sent a request, and if 
the request is approved, the introducer will give each friend the other 
friend's ref (including the public key).

3) Automatically confirm your friends' public keys through other mutual 
friends, to make MITM attacks more difficult. For example if Bob 
introduces Alice to Carol, and Alice and Carol subsequently discover 
that they both know Dave, they should automatically exchange refs 
through Dave as well, making it harder for Bob to perform a MITM attack.

4) Provide a "web of trust" page showing whose ref was obtained or 
confirmed through whom, and which refs have been verified face-to-face.

5) Allow users to host local blogs and chatrooms that are only 
accessible to their friends. Again, provide an easy interface for 
friends to request and approve introductions.

Anyway I'm sorry if this sounds like a long list of feature requests. 
This is the sort of interface I've been planning for my own vapourware 
f2f network and I thought some of the ideas might also apply to freenet. 
Any thoughts?

Michael

Reply via email to