Each person is linked to a lot of people through their social network. The social
network is a network of friends, friends of friends (FoFs), friends of friends of
friends, etc. A social network has features that are useful to exploit creating an
If the social network is used as a bases for a P2P overlay network friends will
be connected to friends. Users are less selfish in their behavior towards friends.
They may even be altruistic. Friends also have friends. You trust your friends and
your friends trust their friends. These FoFs are therefore probably more trusted
than random other peers. Suggested is that the trust of two peers is
dependent on the distance of those peers in the social web. Therefore FoFs are also more likely to behave well. The further the distant between two peers the
lower the trust. If misbehaving peers are identified they will probably be removed
as friends in the web and therefore move to the edges of the social network. The
creation of the knowledge of the social network around a peer is not part of the
scope of this report but is essential in a social P2P network. However the implicit
trust in the system helps to keep content in the social network correct and keep
malicious peers on the edge of a social network. Also people tend to be more
willing to share resource towards friends because they expect the favor back or
are altruistic in the future which can greatly increase availability.
Social networks are also clustered. People tend to have a lot of friends in common
. This clustering is useful because friends are clustered and therefore
friends can be used to connect to other friends. Also people with the same
interest tend to be connected to a lot of common friends. This clustering of interest
can be used since useful content will probably be around users of the same interest
. This enhances the chance of correct semantic routing. Peers can also expand
the social network with peers with similar interests of taste in content and cluster
with them in the same way. This would increase the reach of the social web.
Throughout the social web most peers are within a relatively close to each other.
Research has shown that two random people anywhere in the world are on average
separated by only by a small number of intermediate social acquaintances. The
average number of hops in the USA is six. On the Internet, the average
number of hops is five to seven. This social nearness makes it possible to
connect to almost any peer in the world using only a small number of hops around
the social web. Each peer should know its surrounding social web with a number
of layers of FoFs. By using the route in the social network almost any peer can be
connected. And the scalability of such a system can be very good.
In order to use a social network in a P2P system the system creates a virtual social
network. The challenge is to find a person which is classified as a friend and be
able to connect to that peer. This requires identifiable peers and peer must not be
able to spoof their identity. So a way to authenticate a user is required. I
introduced permanent identifiers (PermID) for each peer, a strong authentication
scheme using a challenge response system. This PermID represents the identity
of a peer on the network and peers can verify that identity.
To build the social P2P network users are required to add people to build their
social network. The current Tribler system allows users to copy their PermID and
send it to their friends. These friends can manually add the friend to their list of
friends. This process is too difficult and ineffective for most users and prohibits a
quick adaption of the system by users. Upon first use of the system a user must
be able to quickly build up a social network in the Tribler network. This is the
bootstrap phase of the social network. Given that peers are identifiable by their
PermID the question is how to find the PermID of a person. This enables us to
find the PermIDs of friends so a social network can be build. Second we should
be able to connect to a peer given the PermID. The Internet Protocol (IP) address
and Port number at which a peer is connectable must be found. Our approache
uses the social networks to find the IP of a PermID.