
Les réseaux pair à pair (P2P) permettent à des appareils connectés de partager des ressources entre eux. Un participant, appelé pair, peut demander des données et en fournir à d'autres participants. Ce fonctionnement diffère d'une architecture client-serveur classique, dans laquelle les clients demandent principalement des services aux serveurs.
Le P2P sert au partage de fichiers, à la distribution de contenus et à certains systèmes de cryptomonnaie. Il peut répartir le travail entre plusieurs appareils, mais ne rend pas automatiquement une application plus rapide, plus sûre ou indépendante de services centraux. Ce guide présente son fonctionnement, ses usages et ses limites.

Dans un réseau pair à pair, les ordinateurs participants contribuent au service au lieu de confier tout le travail à des serveurs dédiés. Un ordinateur portable qui télécharge un fichier peut, par exemple, envoyer les morceaux déjà reçus à un autre ordinateur. Le même appareil joue alors les rôles de client et de serveur.
Les pairs n'ont pas nécessairement le même matériel, la même bande passante ou les mêmes responsabilités. Certains restent connectés en permanence, tandis que d'autres participent brièvement ou ne fournissent qu'une partie du service. L'étude de l'IAB sur les architectures P2P décrit plusieurs modèles, dont des systèmes comportant des éléments centralisés.
Il faut aussi distinguer la distribution d'un système de la décentralisation du contrôle. Exécuter un logiciel sur plusieurs ordinateurs ne précise pas qui contrôle l'admission des participants, les mises à jour ou les règles du service.
Un échange consiste généralement à trouver d'autres pairs, à s'y connecter, à demander une ressource et à vérifier la réponse. Les étapes dépendent de l'application :
Le guide de libp2p sur les relais montre comment connexions directes et relais peuvent coexister. Le terme pair à pair décrit la coopération entre participants ; il ne garantit pas que chaque paquet circule directement entre leurs appareils.
Ces connexions forment un réseau logique au-dessus d'Internet. Ce réseau superposé n'est pas anonyme par nature : les pairs et les opérateurs réseau peuvent encore observer des adresses ou d'autres métadonnées.
Pour un exemple historique de gestion de pairs peu fiables, consultez la note technique de Hivenet de 2022 sur les systèmes de fichiers fiables reposant sur des nœuds peu fiables. Elle décrit une conception antérieure, et non l'architecture actuelle de Store.
Répartir le travail entre plusieurs pairs peut réduire la dépendance à une seule machine. Toutefois, un service de connexion central, un serveur de découverte ou quelques nœuds très sollicités peuvent rester des dépendances critiques. Examinez l'ensemble de l'application, y compris ses mécanismes de contrôle et de reprise, avant de la qualifier de décentralisée ou de résiliente.
Une connexion directe peut éviter de faire transiter les données par le serveur du fournisseur de l'application. Sa vitesse dépend néanmoins de la distance, de la congestion, de la qualité des connexions et du débit montant de chaque pair. Un serveur proche et bien connecté peut être plus rapide qu'un pair éloigné disposant d'une connexion lente.
Les pairs fournissent de la bande passante, de l'espace de stockage ou du calcul. De nouveaux participants peuvent accroître la capacité disponible, mais ils créent aussi de la demande. Il faut examiner la contribution de chacun, sa durée de disponibilité et la manière dont le système gère les départs.
BitTorrent découpe les fichiers en morceaux que les participants peuvent récupérer auprès de différents pairs. Un participant peut envoyer certains morceaux tout en en téléchargeant d'autres. La spécification du protocole BitTorrent explique comment les trackers facilitent la découverte des pairs et comment les empreintes des morceaux servent aux contrôles d'intégrité. Un tracker coordonne la découverte ; il n'a pas à héberger le fichier partagé.
Cette approche répartit les transferts sortants entre les participants. Elle exige toutefois que des pairs joignables possèdent les morceaux nécessaires. Ne partagez que les fichiers que vous êtes autorisé à distribuer et vérifiez leur provenance avant de les ouvrir.
Bitcoin utilise un réseau P2P pour échanger des transactions et des blocs. Sa documentation destinée aux développeurs distingue les nœuds complets d'archivage, qui conservent tout l'historique de la chaîne, des nœuds complets élagués, qui valident les blocs mais suppriment les anciennes données de blocs. Les clients légers ont encore d'autres exigences.
Il est donc inexact d'affirmer que chaque utilisateur d'une cryptomonnaie stocke l'intégralité de la blockchain. La communication réseau et les règles qui déterminent la validité des transactions sont également des éléments distincts du système.
La distribution P2P permet de récupérer du contenu auprès de plusieurs fournisseurs plutôt que d'un seul serveur d'origine. IPFS utilise, par exemple, des identifiants de contenu et la découverte de pairs pour localiser et récupérer des données.
Un identifiant de contenu ne garantit pas une disponibilité permanente. La documentation d'IPFS sur la persistance explique que l'épinglage permet de conserver les données sur un nœud. Quelqu'un doit néanmoins les garder stockées et accessibles. Des copies supplémentaires peuvent améliorer leur disponibilité lorsque certains nœuds se déconnectent.
Ces avantages dépendent de la mise en œuvre et de la participation. Les coûts ne disparaissent pas : stockage, électricité, trafic sortant, maintenance et sécurité restent à la charge de quelqu'un. Comparez le fonctionnement complet du service plutôt que de supposer que le P2P est gratuit ou toujours moins cher.
La disponibilité constitue une contrainte majeure. Un fichier proposé par de nombreux pairs actifs peut être facile à récupérer, tandis qu'un fichier rarement partagé peut devenir inaccessible lorsque son dernier fournisseur se déconnecte. La réplication, les règles de conservation et la surveillance doivent être prévues.
Des pairs non fiables peuvent envoyer des données indésirables ou dangereuses. Les applications doivent aussi limiter les requêtes excessives, l'épuisement des ressources et les abus. Gérer les versions logicielles, diagnostiquer les pannes et appliquer les droits d'accès peut devenir difficile sur des appareils exploités par différentes personnes.
Sur un appareil personnel, vérifiez les limites d'envoi, les dossiers partagés, l'espace disque utilisé et l'activité en arrière-plan. Les paramètres par défaut peuvent consommer davantage de bande passante ou exposer plus d'informations que prévu. Conservez une sauvegarde indépendante des fichiers importants : participer à un réseau ne constitue pas un plan de restauration.

Le chiffrement des données peut protéger les informations, mais son périmètre compte. Chiffrer une connexion réseau ne chiffre pas automatiquement les fichiers stockés, ne limite pas leurs destinataires et ne masque pas nécessairement l'identité des participants.
La documentation d'IPFS sur la confidentialité précise, par exemple, que les échanges sont chiffrés pendant le transport, alors que les contenus publiés et les métadonnées de découverte peuvent rester publics. Vérifiez les protections de l'application avant de partager des informations confidentielles.
Une empreinte concordante peut montrer que les données téléchargées correspondent à une valeur attendue. Elle ne permet pas de savoir si le fichier d'origine contient un logiciel malveillant. Une signature numérique peut aider à authentifier une source lorsque la clé de signature est digne de confiance, mais un fichier signé n'est pas nécessairement sans danger.
Utilisez des sources fiables, maintenez vos logiciels à jour et effectuez des contrôles adaptés contre les logiciels malveillants. Distinguez la vérification d'un fichier de la décision de lui faire confiance ou de l'exécuter.
L'authentification, les autorisations, les limites de requêtes et la surveillance répondent à des risques que le chiffrement seul ne résout pas. Les systèmes de réputation peuvent fournir des indications utiles, sans garantir l'honnêteté d'un pair. Pour des données privées, vérifiez qui peut rejoindre le réseau, qui peut les récupérer et comment retirer un accès.
Dans les paiements, P2P désigne souvent les paiements de personne à personne. Le terme décrit qui envoie et reçoit l'argent, pas nécessairement l'architecture réseau de l'application. Des services comme PayPal exploitent des plateformes de paiement et peuvent s'appuyer sur des banques et d'autres intermédiaires. Consultez la présentation du fonctionnement de PayPal. Un transfert entre deux personnes ne prouve pas l'existence d'un réseau décentralisé.
Les applications client-serveur peuvent faciliter la centralisation de l'administration, des droits d'accès et de l'assistance. Elles peuvent aussi utiliser des serveurs répliqués et des mécanismes de basculement : elles ne dépendent pas nécessairement d'une seule machine physique. Les modèles hybrides associent des échanges entre pairs à des services exploités de façon centrale.
Avant de choisir une application ou une architecture, posez-vous les questions suivantes :
C'est un réseau dans lequel les appareils participants peuvent demander et fournir des ressources. Des services centraux peuvent encore assurer certaines fonctions, comme la découverte des pairs ou la connexion à un compte.
Parfois. Plusieurs pairs peuvent fournir une capacité d'envoi utile, mais des connexions lentes, des contenus manquants ou des pairs éloignés peuvent réduire les performances. Mesurez les charges et les conditions réseau qui vous concernent.
Le partage de fichiers avec BitTorrent, l'échange de transactions et de blocs dans Bitcoin, ainsi que la distribution de contenus avec IPFS en sont des exemples. Leurs règles de stockage, de confidentialité et de validation diffèrent.
La sécurité dépend de l'application, de sa configuration et des contenus échangés. Vérifiez les droits d'accès, le périmètre du chiffrement, la maintenance des logiciels et la provenance des fichiers. La décentralisation et une empreinte de fichier concordante ne garantissent pas la sécurité.
Choisissez une charge de travail d’IA, de calcul ou de stockage à tester sur Hivenet, ou échangez avec notre équipe sur sa mise en production.