# Ami à ami

Les réseaux d'ami à ami (friend-to-friend networks ou F2F en anglais) sont un type particulier de réseau P2P anonyme dans lequel les gens n'utilisent des connexions directes qu'avec leurs amis. Un logiciel ami à ami ne permet qu'aux personnes à qui vous faites confiance (reconnues par leur adresse IP ou leur signature numérique) d'échanger des fichiers avec votre ordinateur. Puis, les amis de vos amis (et ainsi de suite) peuvent indirectement échanger des fichiers avec votre ordinateur, sans jamais utiliser votre adresse IP (un F2F anonyme se charge de faire suivre automatiquement et anonymement les fichiers et les demandes de fichiers).
Contrairement aux autres réseaux de type P2P privé, les réseaux F2F anonymes peuvent grandir sans compromettre l'anonymat de leurs utilisateurs.
Dan Bricklin a introduit le terme "ami à ami" le 11 août 2000.
WASTE, GNUnet avec son option "F2F topology" et Freenet 0.7 sont des exemples de logiciels utilisables pour fabriquer des réseaux F2F.

## Utilisations du F2F

* Le F2F empêche des gens quelconques de prouver que votre adresse IP peut effectivement être utilisée pour obtenir des fichiers controversés (et dès que vous connaissez toutes les adresses IP de vos amis, vous pouvez éventuellement utiliser un pare-feu pour bloquer toutes les autres adresses tentant d'accéder au port F2F).
* Étant donné que les applications F2F utilisent le chiffrement de lien et n'ont pas besoin de chiffrement de bout en bout (End-to-end encryption) pour atteindre leur but, elles vous permettent de contrôler (en utilisant votre clef privée) quels genres de fichiers un ami échange avec votre nœud, afin de l'empêcher d'échanger des fichiers que vous désapprouvez. Vous pouvez empêcher que cet ami communique avec vous en enlevant de votre trousseau sa clef publique, ou en utilisant un pare-feu pour ralentir ou bloquer sa connexion à votre nœud.
* Il y a beaucoup moins de problèmes de sécurité : comme seuls vos amis peuvent se connecter à votre nœud, aucun cracker quelconque ne peut essayer de forcer l'entrée dans votre ordinateur en se connectant à votre nœud P2P et en utilisant ensuite une vulnérabilité (ex: bug) dans la partie communication du logiciel F2F. Vous pouvez échanger les clefs de chiffrement en voyant vos amis physiquement (par exemple sous forme de fichier sur clé USB), évitant ainsi l'attaque de l'homme du milieu. Des documents dangereux (comme les virus, les attaques par dépassement de tampon…) peuvent même être évitées en utilisant des réseaux basés sur la réputation (voir plus bas).
* Le stockage tiers (comme les serveurs FTP, web, courriel) peut être utilisé pour permettre des téléchargements plus rapides et pour empêcher votre FAI de journaliser les adresses IP de vos amis (en utilisant du chiffrement avec le tiers).

## Futures utilisations du F2F

La réputation en ligne peut être construite et vérifiée en utilisant un réseau F2F fortement chiffré : chaque document sur le réseau se verrait attribuer un nouveau pourcentage de confiance par chaque nœud qui le fait circuler.
La formule de calcul de l'indice de confiance pour un document est :
    Nouvel_Indice_Document = Ancien_Indice_Document x Indice_Nœud
où Indice_Nœud est le pourcentage de confiance attribué au nœud qui fournit ce document.
Si un document apparaît comme étant incorrect, alors vous pouvez baisser manuellement le pourcentage de confiance de ce document, ainsi que baisser le pourcentage de confiance du nœud qui vous a fourni ce document. Vous pouvez même bloquer ce document pour l'empêcher d'être à nouveau échangé via votre nœud. Ce genre de fonctionnalité existe dans le prototype de moteur de wiki social P2P "Bouillon" (2006-2008).

## Ce que le F2F n'est pas

* Un réseau F2F n'est pas juste un serveur FTP privé chiffré. Votre nœud F2F peut transmettre un fichier (ou une requête de fichier) anonymement entre deux de vos amis (lors de la transmission d'un fichier ou d'une requête entre eux, votre nœud ne dit à aucun des deux qui est l'autre et quelle est l'autre adresse). Ensuite ces nœuds d'amis peuvent ensuite transmettre anonymement ce même fichier (ou requête) à plusieurs de leurs amis et ainsi de suite.
* De même, les nombreuses applications et sites web qui se comportent comme un serveur FTP privé (par exemple, ils ne fournissent pas de transmission anonyme automatique) ne sont pas du F2F : Grouper, GigaTribe (précédemment nommé TribalWeb), etc.
* Un réseau F2F n'est pas un noyau privé DirectConnect, étant donné qu'à l'intérieur d'un noyau DirectConnect tout le monde connaît (et peut utiliser) toutes les adresses IP de tous les utilisateurs (même quand l'adresse est celle d'un ami d'un ami d'un ami…, quelqu'un que vous ne connaîtrez peut-être jamais).
* Le F2F ne s'applique pas à Freenet, car pour des raisons d'efficacité celui-ci permet à des nœuds quelconques de se connecter directement à votre nœud, connaissant ainsi votre adresse IP. Toutefois à partir de la version 0.7, Freenet permet le fonctionnement sous forme de Darknets, qui sont en pratique des F2F.

## Logiciels
### Relais anonyme

Principe : faire suivre automatiquement et anonymement les documents et les demandes de documents. Le relai anonyme de vos amis se charge de faire suivre automatiquement et anonymement vos fichiers et vos demandes de fichiers vers les amis de vos amis sans leur communiquer votre adresse IP ni même votre pseudonyme.
* Freenet 0.7 avec "opennet" désactivé
* GNUnet avec "F2F topology" activé
* OneSwarm
* RetroShare : configuré en F2F d'origine
* Turtle F2F

### Relais pseudonyme

Principe : faire suivre automatiquement et pseudonymement les documents et les demandes de documents.
* anoNet (en) utilise des adresses IP privées comme pseudonymes et est basé sur du VPN standard. Serveur centralisé pour resolution des noms de domaines en ".ano"
* WASTE avec "ping packets" désactivé
* Cjdns

### Relais sans anonymat

Principe : on ne fait pas suivre anonymement les documents ni les requêtes.
* Alliance P2P$^,$
* Gazzera
* GigaTribe, non libre et sans code source
Voir la liste complète dans l'article P2P privé.