Qu'est-ce que le Peer-to-Peer (P2P) ?
En informatique, un réseau peer-to-peer (P2P) consiste en un groupe d'appareils qui stockent et partagent ensemble des fichiers. Chaque participant (nœud) agit comme un pair individuel. Tous les nœuds ont les mêmes capacités et travaillent sur les mêmes tâches.
Dans la technologie financière, le terme peer-to-peer fait généralement référence à l'échange de cryptomonnaies ou d'actifs numériques via un réseau distribué. Une plateforme P2P permet aux acheteurs et aux vendeurs d'effectuer des transactions sans avoir besoin d'un intermédiaire. Dans certains cas, une page web peut également offrir un environnement P2P qui connecte les fournisseurs de fonds et les emprunteurs.
L'architecture P2P peut être utilisée de nombreuses manières, mais elle est devenue particulièrement populaire dans les années 1990 lorsque les premiers programmes de partage de fichiers ont été créés. Aujourd'hui, les réseaux P2P sont au cœur des cryptomonnaies, dominant la plupart des domaines de l'industrie blockchain. Cependant, cela est également exploité dans d'autres applications de calcul distribué, y compris les moteurs de recherche web, les plateformes de streaming, les marchés en ligne, et le protocole InterPlanetary File System (IPFS).
Comment fonctionne le P2P ?
Essentiellement, les systèmes P2P sont gérés par un réseau d'utilisateurs distribués. En général, ces systèmes n'ont pas d'administrateur ou de serveur central, car chaque nœud détient une copie des fichiers - agissant à la fois comme client et comme serveur pour d'autres nœuds. Ainsi, chaque nœud peut télécharger ou téléverser des fichiers d'un nœud vers un autre. C'est ce qui différencie le réseau P2P des systèmes client-serveur plus traditionnels, où les appareils clients téléchargent des fichiers depuis un serveur central.
Dans un réseau P2P, les appareils connectés partagent des fichiers stockés sur leur matériel. En utilisant des applications logicielles conçues pour faciliter le partage de données, les utilisateurs peuvent demander à d'autres appareils du réseau de trouver et de télécharger des fichiers. Lorsqu'un utilisateur a téléchargé le fichier en question, il peut alors agir comme source du fichier.
En d'autres termes, lorsque un nœud agit en tant que client, ce nœud télécharge des fichiers d'autres nœuds du réseau. Mais lorsqu'il agit comme serveur, ces nœuds deviennent des sources à partir desquelles d'autres nœuds peuvent télécharger des fichiers. Cependant, dans la pratique, ces deux fonctions peuvent être exécutées en même temps (par exemple, télécharger le fichier A et téléverser le fichier B).
Comme chaque nœud stocke, transmet et reçoit des fichiers, le réseau P2P tend à être plus rapide et plus efficace à mesure que la base d'utilisateurs s'agrandit. De plus, l'architecture distribuée rend le système P2P très résistant aux attaques informatiques. Contrairement au modèle traditionnel, le réseau P2P n'a pas de point de défaillance unique.
Nous pouvons catégoriser les systèmes peer-to-peer selon leur architecture. Les trois principaux types sont les réseaux P2P non structurés, structurés et mixtes (hybrides).
Réseau P2P non structuré
Un réseau P2P non structuré ne présente pas d'organisation spécifique de ces nœuds. Les participants communiquent aléatoirement entre eux. Ce système est considéré comme robuste face aux activités à forte volatilité (par exemple : certains nœuds rejoignent et quittent souvent le réseau).
Bien qu'il soit plus facile à construire, un réseau P2P non structuré peut nécessiter une utilisation plus élevée du CPU et de la mémoire en raison des demandes de recherche envoyées à autant de pairs que possible. Cela tend à submerger le réseau avec des demandes, surtout si un petit nombre de nœuds propose le contenu souhaité.
Réseau P2P structuré
À l'inverse, un réseau P2P structuré représente une architecture organisée, permettant aux nœuds de rechercher des fichiers plus efficacement, même si le contenu n'est pas largement disponible. Dans la plupart des cas, cela est réalisé par l'utilisation de fonctions de hachage qui facilitent la recherche dans la base de données.
Bien que les réseaux structurés puissent être plus efficaces, ces réseaux tendent à présenter un niveau de centralisation plus élevé, et nécessitent généralement également des coûts d'installation et de maintenance plus élevés. De plus, les réseaux structurés sont moins robustes lorsqu'ils sont confrontés à des niveaux de volatilité élevés.
Réseau P2P mixte
Un réseau P2P mixte combine le modèle client-serveur conventionnel avec certains aspects de l'architecture peer-to-peer. Par exemple, ce réseau peut concevoir un serveur central qui facilite la connexion entre les pairs.
Comparé aux deux autres types, le modèle hybride/mixte tend à montrer une amélioration globale des performances. Ce réseau combine généralement plusieurs avantages principaux de chaque approche, atteignant simultanément des niveaux d'efficacité et de décentralisation.
Distribué vs. décentralisé
Bien que l'architecture P2P soit intrinsèquement distribuée, il est important de noter qu'il existe différents niveaux de décentralisation. Ainsi, tous les réseaux P2P ne sont pas décentralisés.
En fait, de nombreux systèmes dépendent d'une autorité centrale pour guider l'activité du réseau, rendant ces systèmes quelque peu centralisés. Par exemple, certains systèmes de partage de fichiers P2P permettent aux utilisateurs de rechercher et de télécharger des fichiers d'autres utilisateurs, mais ils ne peuvent pas participer à d'autres processus, comme la gestion des demandes de recherche.
De plus, un petit réseau contrôlé par une base d'utilisateurs limitée avec un objectif commun peut également être considéré comme ayant un niveau de centralisation plus élevé, bien qu'il n'y ait pas d'infrastructure réseau centralisée.
Le rôle du P2P dans la blockchain
À ses débuts, Bitcoin, Satoshi Nakamoto l'a défini comme un "Système d'argent électronique peer-to-peer." Bitcoin a été créé comme une forme d'argent numérique. Il peut être transféré d'un utilisateur à un autre via un réseau P2P, qui gère un grand livre distribué appelé blockchain.
Dans ce contexte, l'architecture P2P inhérente à la technologie blockchain est ce qui permet à Bitcoin et à d'autres cryptomonnaies d'être transférés à travers le monde, sans besoin d'intermédiaires ou de serveurs centraux. De plus, quiconque peut configurer un nœud Bitcoin s'il souhaite participer au processus de vérification et de validation des blocs.
Ainsi, aucune banque ne traite ou n'enregistre les transactions dans le réseau Bitcoin. Au lieu de cela, la blockchain agit comme un grand livre numérique qui enregistre publiquement toutes les activités. Fondamentalement, chaque nœud détient une copie de la blockchain et la compare avec d'autres nœuds pour s'assurer que les données sont exactes. Le réseau rejette rapidement les activités suspectes ou inexactes.
Dans le contexte de la blockchain des cryptomonnaies, les nœuds peuvent jouer différents rôles. Un nœud complet, par exemple, est celui qui fournit la sécurité au réseau en vérifiant les transactions par rapport aux règles de consensus du système.
Chaque nœud complet stocke une copie complète et à jour de la blockchain - lui permettant de participer au travail collectif de vérification de l'état réel du grand livre distribué. Il convient de noter que tous les nœuds qui valident complètement ne sont pas des mineurs.
Avantages
L'architecture blockchain peer-to-peer offre de nombreux avantages. Parmi les plus importants, il y a le fait que le réseau P2P offre une plus grande sécurité que les configurations client-serveur traditionnelles. La distribution de la blockchain sur un grand nombre de nœuds la rend résistante aux attaques par déni de service (DoS) qui perturbent de nombreux systèmes.
De même, comme la majorité des nœuds doit parvenir à un consensus avant que les données ne soient ajoutées à la blockchain, il est presque impossible pour un attaquant de modifier les données. Cela est particulièrement vrai pour les grands réseaux comme Bitcoin. Les blockchains plus petites sont plus vulnérables aux attaques car une personne ou un groupe peut probablement contrôler la majorité des nœuds (ceci est connu comme une attaque de 51 pour cent).
En conséquence, le réseau peer-to-peer distribué, associé aux exigences de consensus de la majorité, confère à la blockchain un niveau de résistance relativement élevé aux activités malveillantes. Le modèle P2P est l'une des raisons pour lesquelles Bitcoin (et d'autres blockchains) est capable d'atteindre ce qu'on appelle la tolérance aux pannes byzantines.
Au-delà de la sécurité, l'utilisation de l'architecture P2P dans les blockchains des cryptomonnaies les rend également résistantes à la censure par les autorités centrales. Contrairement aux comptes bancaires standard, les portefeuilles de cryptomonnaies ne peuvent pas être gelés ou drainés par le gouvernement. Cette résistance s'étend également aux tentatives de censure avec les paiements privés et les plateformes de contenu. Certains créateurs de contenu et commerçants en ligne adoptent les paiements en cryptomonnaies comme moyen d'éviter que leurs paiements soient bloqués par des tiers.
Limitations
Bien qu'il ait de nombreux avantages, l'utilisation des réseaux P2P dans la blockchain présente également certaines limitations.
Étant donné que le grand livre distribué doit être mis à jour sur chaque nœud, et non sur un serveur central, l'ajout de transactions à la blockchain nécessite une grande quantité de puissance de calcul. Bien que cela apporte une sécurité accrue, cela réduit considérablement l'efficacité et constitue l'un des principaux obstacles en termes d'évolutivité et d'adoption à grande échelle. Néanmoins, les experts en cryptographie et les développeurs de blockchain explorent des alternatives qui pourraient servir de solutions d'évolutivité. Des exemples importants incluent le Lightning Network, Ethereum Plasma et le protocole Mimblewimble.
Une autre limitation potentielle est liée aux attaques qui peuvent survenir lors d'activités de hard fork. Étant donné que la plupart des blockchains sont décentralisées et open source, les groupes de nœuds sont libres de copier et de modifier le code et de se séparer de la chaîne principale pour former un nouveau réseau parallèle. Les hard forks sont quelque chose de tout à fait normal et ne constituent pas une menace. Mais si certaines méthodes de sécurité ne sont pas correctement adoptées, les deux chaînes peuvent devenir vulnérables aux attaques de replay.
De plus, la nature distribuée du réseau P2P le rend relativement difficile à contrôler et à réglementer, non seulement dans un environnement blockchain. Certaines applications et entreprises P2P sont impliquées dans des activités illégales et des violations des droits d'auteur.
Conclusion
L'architecture peer-to-peer peut être développée et utilisée de diverses manières, et elle est au cœur de la blockchain qui permet l'existence des cryptomonnaies. En distribuant le grand livre des transactions à travers un large réseau de nœuds, l'architecture P2P offre sécurité, décentralisation et résistance à la censure.
En plus de son utilité dans la technologie blockchain, les systèmes P2P peuvent également servir d'autres applications de calcul distribué, allant des réseaux de partage de fichiers aux plateformes de commerce d'énergie.

