Friend-to-friend
Encyclopedia
A friend-to-friend computer network is a type of peer-to-peer network in which users only make direct connections with people they know. Passwords or digital signatures can be used for authentication
.
Many F2F networks support indirect anonymous
or pseudonym
ous communication between users who do not know or trust one another. For example, a node
in a friend-to-friend overlay
can automatically forward a file (or a request for a file) anonymously between two friends, without telling either of them the other's name or IP address
. These friends can in turn forward the same file (or request) to their own friends, and so on.
Unlike other kinds of private P2P
, users in a friend-to-friend network cannot find out who else is participating beyond their own circle of friends, so F2F networks can grow in size without compromising their users' anonymity. Turtle
, WASTE
, GNUnet
, Freenet
and OneSwarm
are examples of software that can be used to build F2F networks, though of these only Turtle is configured for friend-to-friend operation by default.
Dan Bricklin coined the term "friend-to-friend network" in 2000.
Authentication
Authentication is the act of confirming the truth of an attribute of a datum or entity...
.
Many F2F networks support indirect anonymous
Anonymity
Anonymity is derived from the Greek word ἀνωνυμία, anonymia, meaning "without a name" or "namelessness". In colloquial use, anonymity typically refers to the state of an individual's personal identity, or personally identifiable information, being publicly unknown.There are many reasons why a...
or pseudonym
Pseudonym
A pseudonym is a name that a person assumes for a particular purpose and that differs from his or her original orthonym...
ous communication between users who do not know or trust one another. For example, a node
Node (networking)
In communication networks, a node is a connection point, either a redistribution point or a communication endpoint . The definition of a node depends on the network and protocol layer referred to...
in a friend-to-friend overlay
Overlay network
An overlay network is a computer network which is built on the top of another network. Nodes in the overlay can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network...
can automatically forward a file (or a request for a file) anonymously between two friends, without telling either of them the other's name or IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...
. These friends can in turn forward the same file (or request) to their own friends, and so on.
Unlike other kinds of private P2P
Private P2P
Private peer-to-peer systems are peer-to-peer systems that allow only mutually trusted peers to participate. This can be achieved by using a central server such as a Direct Connect hub to authenticate clients. Alternatively, users can exchange passwords or cryptographic keys with friends to form...
, users in a friend-to-friend network cannot find out who else is participating beyond their own circle of friends, so F2F networks can grow in size without compromising their users' anonymity. Turtle
Turtle F2F
Turtle is a free anonymous peer-to-peer network project being developed at the Vrije Universiteit in Amsterdam, involving professor Andrew Tanenbaum. Like other anonymous P2P software, it allows users to share files and otherwise communicate without fear of legal sanctions or censorship...
, WASTE
WASTE
WASTE is a peer-to-peer and friend-to-friend protocol and software application developed by Justin Frankel at Nullsoft in 2003 that features instant messaging, chat rooms and file browsing/sharing capabilities. The name WASTE is a reference to Thomas Pynchon's novel The Crying of Lot 49. In the...
, GNUnet
GNUnet
GNUnet is a free software framework for decentralized, peer-to-peer networking. The framework offers link encryption, peer discovery and resource allocation....
, Freenet
Freenet
Freenet is a decentralized, censorship-resistant distributed data store originally designed by Ian Clarke. According to Clarke, Freenet aims to provide freedom of speech through a peer-to-peer network with strong protection of anonymity; as part of supporting its users' freedom, Freenet is free and...
and OneSwarm
OneSwarm
OneSwarm is a privacy-preserving P2P client developed at the University of Washington. Although backward compatible with traditional BitTorrent clients, OneSwarm also includes new features designed to protect user privacy when sharing data among friends through creating a distributed darknet,...
are examples of software that can be used to build F2F networks, though of these only Turtle is configured for friend-to-friend operation by default.
Dan Bricklin coined the term "friend-to-friend network" in 2000.
Advantages of F2F
- Since the network peers are known, users can exchange cryptographic keys securely (e.g. out-of-bandOut-of-bandThe term out-of-band has different uses in communications and telecommunication. In case of out-of-band control signaling, signaling bits are sent in special order in a dedicated signaling frame...
), thus avoiding man-in-the-middle attackMan-in-the-middle attackIn cryptography, the man-in-the-middle attack , bucket-brigade attack, or sometimes Janus attack, is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other...
s.
- On networks with anonymous-forwarding, only those within the friend group can establish which node is serving certain data, e.g. a specific file, this protecting users' privacy. Once a user knows the IP addresses of all their friends, they can even use a firewall to prevent any other addresses from accessing their F2F portTCP and UDP portIn computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint in a computer's host operating system. A port is associated with an IP address of the host, as well as the type of protocol used for communication...
.
- Since anonymous F2F applications use link encryptionLink encryptionLink encryption is an approach to communications security that encrypts and decrypts all traffic at each end of a communications line . It contrasts with end-to-end encryption where messages are encrypted by the sender at the point of origin and only decrypted by the intended receiver...
and don't need end-to-end encryption to achieve their goals, they could allow users to control what kind of files pass through their nodes.
- SecurityComputer securityComputer security is a branch of computer technology known as information security as applied to computers and networks. The objective of computer security includes protection of information and property from theft, corruption, or natural disaster, while allowing the information and property to...
: since only a user's friends can connect to their node, no random cracker can try to break into their computer by exploiting a bug in the F2F software. Dangerous files (e.g. documents infected with malwareMalwareMalware, short for malicious software, consists of programming that is designed to disrupt or deny operation, gather information that leads to loss of privacy or exploitation, or gain unauthorized access to system resources, or that otherwise exhibits abusive behavior...
) could even be avoided using strong reputation based networks (see "Potential applications" below).
- Fewer leechers (or freeloaders). Since a user must use the bandwidth of their own friends, they may be more inclined to act responsibly.
Disadvantages of F2F
- A node in F2F network requires more effort to set up and maintain, because all peers must be connected manually. This is especially problematic if a person wants to try out several different P2P applications. To the contrary, "opennet" P2P applications are mostly plug-n-play. To address this problem, some networks like Freenet allow both network types: a user can start in opennet mode with very little effort, and later switch to more secure F2F mode.
- Often, not enough direct friends are motivated to run the application 24x7. Third party storage (see "Potential applications" below) can solve this problem.
What F2F is not
- The many applications and websites that use public servers to enable friends to communicate are not F2F networks. These include IRC, instant messagingInstant messagingInstant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...
and social networking websites.
- A private FTP server is not an F2F network, since friends do not communicate with each other, only with the server.
- A private Direct ConnectDirect Connect (file sharing)Direct connect is a peer-to-peer file sharing protocol. Direct connect clients connect to a central hub and can download files directly from one another. Advanced Direct Connect can be considered a successor protocol....
hub is not an F2F network, since any user of a hub can discover the IP addresses of all the other users, even those who are not their friends.
- F2F does not apply to FreenetFreenetFreenet is a decentralized, censorship-resistant distributed data store originally designed by Ian Clarke. According to Clarke, Freenet aims to provide freedom of speech through a peer-to-peer network with strong protection of anonymity; as part of supporting its users' freedom, Freenet is free and...
version 0.5 because the software automatically makes new connections between nodes. However from version 0.7, Freenet is based on what its authors call a darknetDarknetThe term darknet refers to any private, distributed P2P filesharing network, where connections are made only between trusted peers using non-standard protocols and ports...
, which is more precisely an F2F network.
- F2F software is not an F2F network by itself; such software can be used to participate in an existing F2F network, or to launch a new F2F network. Existing networks may be connected to form a larger F2F network. Since new members have to gain the trust of an existing member in order to join a network, it is impossible to know how many separate F2F networks exist. This is why F2F networks are part of the larger family of networks called darknets.
Potential applications of F2F
- Online reputations could be constructed and verified using an anonymous F2F overlay: each document on the network would be automatically given a new trust rating by each node forwarding it, for example by multiplying the old trust rating by the reputation of the provider. If a document appeared to be incorrect, the recipient could manually decrease the local reputation of the friend who provided it, decrease the trust rating of the document, or even block the document from being exchanged again through their node.
- Such a strong reputation network could be safely used to implement a peer-to-peerPeer-to-peerPeer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...
system of electronic moneyElectronic moneyElectronic money is money or scrip that is only exchanged electronically. Typically, this involves the use of computer networks, the internet and digital stored value systems...
based on the principles of Altruistic Economics; such a system would, according to its advocates, eliminate the inequities inherent in the present system of centralized money. (This kind of functionality is already implemented in the Ripple monetary systemRipple monetary systemRipple is an open-source software project for developing and implementing a protocol for an open decentralized payment network. In its developed form , the Ripple network would be a peer-to-peer distributed social network service with a monetary honour system based on trust that already exists...
.)
- F2F networks could avoid the key exchangeKey exchangeKey exchange is any method in cryptography by which cryptographic keys are exchanged between users, allowing use of a cryptographic algorithm....
problems of many other networks, such as man-in-the-middle attackMan-in-the-middle attackIn cryptography, the man-in-the-middle attack , bucket-brigade attack, or sometimes Janus attack, is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other...
s, by exchanging encryption keys face-to-face. Users could even exchange one-time padOne-time padIn cryptography, the one-time pad is a type of encryption, which has been proven to be impossible to crack if used correctly. Each bit or character from the plaintext is encrypted by a modular addition with a bit or character from a secret random key of the same length as the plaintext, resulting...
s, such as hard disks filled with random bytes, to achieve provably unbreakable encryption.
- With a suitable instruction language, F2F networks could carry out independently modified, privileged searches over a decentralised network. This would be the computer equivalent of ringing your friends with a request for help and asking them to ring theirs and pass it on. Each node in the system could handle such a request independently, such as denying or modifying it, passing it on under its originator's credentials, or using its own credentials to make it etc.
- Third party storage (e.g. FTP, web or email servers) could be used to get faster downloads, and to prevent a user's ISP from logging their friends' IP addresses.
Security issues
F2F networks share many vulnerabilities with the majority of existing P2P networks in general; particularly:- In countries where anonymous P2P is forbidden, an ISPInternet service providerAn Internet service provider is a company that provides access to the Internet. Access ISPs directly connect customers to the Internet using copper wires, wireless or fiber-optic connections. Hosting ISPs lease server space for smaller businesses and host other people servers...
may be able to detect that a user is using P2P software by observing their connection patterns. Imitating the connection patterns of popular encrypted programs like webphones or webcams, along with a layer of the same encryption used by those programs, would be a very simple form of steganographySteganographySteganography is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message, a form of security through obscurity...
. Alternatively, F2F traffic could be routed through third party storage such as an email server. Networks that use generic VPN software, as anoNetAnoNetanoNet is a decentralized friend-to-friend network built using VPNs and software BGP routers. anoNet works by making it difficult to learn the identities of others on the network allowing them to anonymously host IPv4 and IPv6 services.- Motivation :...
does, may be less vulnerable to this issue. - Traffic analysisTraffic analysisTraffic analysis is the process of intercepting and examining messages in order to deduce information from patterns in communication. It can be performed even when the messages are encrypted and cannot be decrypted. In general, the greater the number of messages observed, or even intercepted and...
of a user's links by their ISP could easily show that they are automatically forwarding files. One possible solution, implemented in WASTEWASTEWASTE is a peer-to-peer and friend-to-friend protocol and software application developed by Justin Frankel at Nullsoft in 2003 that features instant messaging, chat rooms and file browsing/sharing capabilities. The name WASTE is a reference to Thomas Pynchon's novel The Crying of Lot 49. In the...
, is to send and receive a constant stream of meaningless data, so that traffic analysis cannot detect whether meaningful data is being transmitted at any given time. Another possibility would be to add paddingPadding (cryptography)-Classical cryptography:Official messages often start and end in predictable ways: My dear ambassador, Weather report, Sincerely yours, etc. The primary use of padding with classical ciphers is to prevent the cryptanalyst from using that predictability to find cribs that aid in breaking the...
to files. - In countries where strong crypto is forbidden (or where users can be forced to surrender their keys), steganographySteganographySteganography is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message, a form of security through obscurity...
could be used for every connection (and for storing files on a hard disk, since it could be seized). Because steganography involves a secret convention that must be established out-of-bandOut-of-band agreementIn the exchange of information over a communications channel, anout-of-band agreement is an agreement or understanding betweenthe communicating parties that is not included in any message sent...
, only F2F networks could be safe in such countries.
F2F software with support for anonymous forwarding
- FreenetFreenetFreenet is a decentralized, censorship-resistant distributed data store originally designed by Ian Clarke. According to Clarke, Freenet aims to provide freedom of speech through a peer-to-peer network with strong protection of anonymity; as part of supporting its users' freedom, Freenet is free and...
(Open Source, Windows/GNU+Linux/Mac OS X, from version 0.7 optionally F2F with the "opennet" option disabled) - GNUnetGNUnetGNUnet is a free software framework for decentralized, peer-to-peer networking. The framework offers link encryption, peer discovery and resource allocation....
(Open Source, GNU+Linux/Windows/Mac OS X, optionally F2F with the "F2F topology" option enabled) - RetroshareRetroshareRetroShare is free software for encrypted, serverless email, Instant messaging, BBS and filesharing based on a friend-to-friend built on GPG. It is not a strictly a darknet since peers can optionally communicate certificates and IP addresses from and to their friends.- Authentication and...
(Open Source, Win/Lin/Mac, Friend management based on PGP) http://retroshare.sourceforge.net - OneSwarmOneSwarmOneSwarm is a privacy-preserving P2P client developed at the University of Washington. Although backward compatible with traditional BitTorrent clients, OneSwarm also includes new features designed to protect user privacy when sharing data among friends through creating a distributed darknet,...
(Open Source, Win/Lin/Mac, backwards compatible with BitTorrent) - Turtle F2FTurtle F2FTurtle is a free anonymous peer-to-peer network project being developed at the Vrije Universiteit in Amsterdam, involving professor Andrew Tanenbaum. Like other anonymous P2P software, it allows users to share files and otherwise communicate without fear of legal sanctions or censorship...
(Open Source, Linux only)
F2F software with support for pseudonymous forwarding
- anoNetAnoNetanoNet is a decentralized friend-to-friend network built using VPNs and software BGP routers. anoNet works by making it difficult to learn the identities of others on the network allowing them to anonymously host IPv4 and IPv6 services.- Motivation :...
(pseudonymous, based on standard VPN software) - WASTEWASTEWASTE is a peer-to-peer and friend-to-friend protocol and software application developed by Justin Frankel at Nullsoft in 2003 that features instant messaging, chat rooms and file browsing/sharing capabilities. The name WASTE is a reference to Thomas Pynchon's novel The Crying of Lot 49. In the...
(Open Source, Win/Linux/Mac, optionally F2F with the "ping packets" option disabled)
F2F software without support for forwarding
- LimeWireLimeWireLimeWire is a free peer-to-peer file sharing client program that runs on Windows, Mac OS X, Linux, and other operating systems supported by the Java software platform. LimeWire uses the gnutella network as well as the BitTorrent protocol. A free software version and a purchasable "enhanced"...
(Open Source, Win/Linux/Mac, from version 5.0) - Tudzu (Freeware, Win/Linux)
F2F software for distributed computing
- F2F Computing (Open Source, Win/Linux/Mac) Middleware on top of multi-protocol instant messengers, which enables writing simple distributed applications and services. http://ulno.net/f2f/
See also
- Darknet (file sharing)
- LAN messengerLAN messengerA LAN messenger is an instant messaging program designed for use within a single local area network .There are advantages using a LAN messenger over a normal instant messenger. The LAN messenger runs inside a company or private LAN, and so an active Internet connection or a central server is not...
- Private P2PPrivate P2PPrivate peer-to-peer systems are peer-to-peer systems that allow only mutually trusted peers to participate. This can be achieved by using a central server such as a Direct Connect hub to authenticate clients. Alternatively, users can exchange passwords or cryptographic keys with friends to form...
- Ripple monetary systemRipple monetary systemRipple is an open-source software project for developing and implementing a protocol for an open decentralized payment network. In its developed form , the Ripple network would be a peer-to-peer distributed social network service with a monetary honour system based on trust that already exists...
External links
- Friend2Friend.net, An XMLXMLExtensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
scripting languageScripting languageA scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
for writing F2F software - Discussion about F2F involving Ian Clarke of FreenetFreenetFreenet is a decentralized, censorship-resistant distributed data store originally designed by Ian Clarke. According to Clarke, Freenet aims to provide freedom of speech through a peer-to-peer network with strong protection of anonymity; as part of supporting its users' freedom, Freenet is free and...
- F2F page at altruists.org
- Adding simple and effective trust measurements to F2F P2P networks is a paper about using a time-based currencyTime-based currencyIn economics, a time-based currency is an alternative currency where the unit of exchange is the man-hour.Some time-based currencies value everyone’s contributions equally. One hour equals one service credit...
for trust in F2F. - Ripple: P2P money for trusted social networks