Explications à propos des réseaux Peer-to-Peer ou Pair à Pair
Accueil
Articles
Explications à propos des réseaux Peer-to-Peer ou Pair à Pair

Explications à propos des réseaux Peer-to-Peer ou Pair à Pair

Intermédiaire
Publié le Sep 30, 2019Mis à jour le Nov 16, 2022
7m

Qu'est-ce que le peer-to-peer (P2P; pair Ă  pair)?

En l'informatique, un rĂ©seau peer-to-peer (P2P) est constituĂ© d'un groupe d'appareils qui stockent et partagent collectivement des fichiers. Chaque participant (nƓud) agit comme un pair individuel. GĂ©nĂ©ralement, tous les noeuds ont une puissance Ă©gale et exĂ©cutent les mĂȘmes tĂąches.

Dans la technologie de la finance, le terme peer-to-peer fait habituellement rĂ©fĂ©rence Ă  l'Ă©change de crypto-monnaies ou d'actifs numĂ©riques via un rĂ©seau distribuĂ©. Une plateforme P2P permet aux acheteurs et aux vendeurs d'exĂ©cuter des opĂ©rations sans avoir besoin d'intermĂ©diaires. Dans certains cas, des sites Web peuvent Ă©galement fournir un environnement P2P qui relie les prĂȘteurs et les emprunteurs.

Les architectures P2P peuvent convenir Ă  plusieurs cas d'utilisation, il devinrent particuliĂšrement populaires dans les annĂ©es 90 lorsque les premiers logiciels de partage de fichier furent crĂ©Ă©s. Aujourd'hui, les rĂ©seaux P2P sont au cƓur de la plupart des crypto-monnaies existantes, servant ainsi une grande partie de l'industrie de la blockchain. Cependant, il sont Ă©galement dĂ©rivĂ©s dans d'autre applications de type informatique, comme les moteurs de recherche, les plateformes de streaming, les magasins en ligne, et le protocole web InterPlanetary File System (IPFS), littĂ©ralement traduit par "systĂšme de fichier interplanĂ©taire".


Comment fonctionne le P2P ?

En substance, un systĂšme P2P est maintenu par un rĂ©seau distribuĂ© d'utilisateurs. Habituellement, ils n'ont pas d'administrateur ou de serveur central parce que chaque nƓud possĂšde une copie des fichiers - agissant Ă  la fois en tant que client et en tant que serveur pour d'autres nƓuds. Ainsi, chaque nƓud peut tĂ©lĂ©charger ou envoyer des fichiers Ă  d'autres nƓuds. C'est ce qui diffĂ©rencie les rĂ©seaux P2P des systĂšmes clients plus traditionnels, dans lesquels les pĂ©riphĂ©riques clients tĂ©lĂ©chargent des fichiers Ă  partir d'un serveur centralisĂ©.

Sur les réseaux P2P, les périphériques connectés partagent des fichiers stockés sur leurs disques durs. En utilisant des applications logicielles conçues pour arbitrer le partage de données, les utilisateurs peuvent interroger d'autres périphériques sur le réseau pour trouver et télécharger des fichiers. Une fois qu'un utilisateur a téléchargé un fichier donné, ils peut alors agir comme source pour ce fichier.

Dit autrement, lorsqu'un nƓud agit en tant que client, il tĂ©lĂ©charge des fichiers Ă  partir d'autres nƓuds du rĂ©seau. Puis, lorsqu'il travaille en tant que serveur, il devient la source Ă  partir de laquelle d'autres noeuds peuvent tĂ©lĂ©charger des fichiers. En pratique, les deux fonctions peuvent ĂȘtre exĂ©cutĂ©es en mĂȘme temps (par exemple, tĂ©lĂ©charger le fichier A, et transmettre le fichier B).

Sachant que chaque noeud stocke, transmet et reçoit des fichiers, les réseaux P2P tendent à gagner en vitesse et en efficacité au fur et à mesure que leur communauté d'utilisateur s'accroßt. De plus, leur architecture distribuée rends les systÚmes P2P trÚs résistants aux cyberattaques. Contrairement aux modÚles traditionnels, les réseaux P2P n'ont pas de point de défaillance unique.

Nous pouvons classer les systÚmes peer-to-peer selon leur architecture. Les trois types principaux sont les réseaux P2P non-structurés, structurés et hybrides.


Réseaux P2P non structurés

Les rĂ©seaux P2P non-structurĂ©s ne prĂ©sente aucune organisation spĂ©cifique des nƓuds. Les participants communiquent entre eux de maniĂšre alĂ©atoire. Ce type d'organisation est considĂ©rĂ© comme robuste face Ă  un taux Ă©levĂ© d'attrition (par exemple, lorsque de nombreux nƓuds rejoignent et/ou quittent de le rĂ©seau).

Bien que plus facile Ă  construire, les rĂ©seaux P2P non-structurĂ©s peuvent nĂ©cessiter une utilisation plus Ă©levĂ©e du CPU et de la mĂ©moire, car les requĂȘtes de recherche sont envoyĂ©es au plus grand nombre de pairs possible. Cela tend Ă  inonder le rĂ©seau avec des requĂȘtes, surtout dans le cas oĂč seul un petit nombre de nƓuds possĂšde le contenu souhaitĂ©.


Réseaux P2P structurés

Par contraste, les rĂ©seaux P2P structurĂ©s prĂ©sentent une architecture organisĂ©e, permettant aux nƓuds de rechercher efficacement des fichiers, mĂȘme si le contenu en question n'est pas disponible sur une grande partie du rĂ©seau. Dans la plupart des cas, cela est rĂ©alisĂ© par l'utilisation de fonctions de hachage qui facilitent les recherches au sein de bases de donnĂ©es.

Bien que les réseaux structurés se révÚlent souvent plus efficace, ils ont tendance à présenter des niveaux de centralisation plus élevés, et nécessitent généralement des coûts de mise en place et d'entretien plus élevés. Par ailleurs, les réseaux structurés sont moins robustes face à des taux élevés d'attrition.


RĂ©seaux P2P hybrides

Les réseaux P2P hybrides combinent le modÚle de serveur client conventionnel avec certains aspects de l'architecture peer-to-peer. Par exemple, on peut intégrer dans ce modÚle un serveur central qui facilite la connexion entre les pairs.

En comparaison avec les deux autres types, les modÚles hybrides ont tendance à présenter une performance globale améliorée. Ils combinent généralement les principaux avantages de chaque approche, en obtenant des degrés d'efficacité et de décentralisation significatifs simultanément.


Distribué vs. Décentralisé

Bien que l'architecture P2P soit intrinsÚquement distribuée, il est important de noter qu'il existe différent degrés 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, les rendant 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 Ă  partir d'autres utilisateurs, mais ils ne peuvent pas participer Ă  d'autres processus, comme par exemple la gestion des requĂȘtes de recherche.

En outre, les rĂ©seaux de petite taille contrĂŽlĂ©s par une base utilisateur limitĂ©e partageant les mĂȘme objectifs, pourraient Ă©galement ĂȘtre considĂ©rĂ©s comme centralisĂ©s Ă  un certain degrĂ©, malgrĂ© l'absence d'une infrastructure rĂ©seau centralisĂ©e.


Le rĂŽle du P2P dans les blockchains

Lorsqu'il crĂ©a le Bitcoin, Satoshi Nakamoto le dĂ©finit en tant que SystĂšme de Cash Electronique de Pair Ă  Pair. Le Bitcoin fut crĂ©Ă© en tant que monnaie digitale, il peut ĂȘtre transfĂ©rĂ© d'un utilisateur Ă  l'autre au travers d'un rĂ©seau P2P qui gĂšre un registre distribuĂ© que l'on nomme blockchain.
Dans ce contexte, l'architecture P2P inhĂ©rente Ă  la technologie blockchain est donc ce qui permet de transfĂ©rer du Bitcoin et d'autres crypto-monnaies dans le monde, sans avoir besoin d'intermĂ©diaires ni de serveur central. En outre, tout le monde peut configurer un nƓud Bitcoin s'il veut participer au processus de vĂ©rification et de validation de blocs.

Il n'y a donc pas de banques traitant ou enregistrant les transactions dans le rĂ©seau Bitcoin. Au lieu de cela, la blockchain agit comme un registre numĂ©rique qui enregistre publiquement toutes les activitĂ©s. En rĂ©sumĂ©, chaque nƓud possĂšde une copie de la blokchain et la compare Ă  d'autres nƓuds pour s'assurer que les donnĂ©es sont exactes. Le rĂ©seau rejette rapidement toute activitĂ© malveillante, ou toute inexactitude.

Dans le contexte des blockchains crypto-monnaies, les noeuds peuvent jouer une variĂ©tĂ© de rĂŽles diffĂ©rents. Les nƓuds complets, par exemple, sont ceux qui fournissent la sĂ©curitĂ© au rĂ©seau via la vĂ©rification des transactions, en appliquant les rĂšgles de consensus du systĂšme.
Chaque nƓud complet prĂ©serve et maintient une copie complĂšte et Ă  jour de la blockchain — ce qui lui permet de participer Ă  la tĂąche collective de vĂ©rification de l'Ă©tat vĂ©ritable du registre distribuĂ©. Il est important de noter que tous les noeuds complets ne sont pas des mineurs.


Avantages

L'architecture des blockchains peer-to-peer offre de nombreux avantages. Parmi les plus importants, le fait que les rĂ©seaux P2P offrent une meilleure sĂ©curitĂ© que les arrangements traditionnels de serveur client. La distribution de blockchains sur de nombreux nƓuds les rend virtuellement immunisĂ©s aux attaques par Deni-de-Service (DoS) qui frappent de nombreux systĂšmes.
De mĂȘme, parce qu'une majoritĂ© de nƓuds doit Ă©tablir un consensus avant d'ajouter des donnĂ©es Ă  une blockchain, il s'avĂšre presque impossible pour un attaquant de modifier ou d'altĂ©rer ses donnĂ©es. Ceci est particuliĂšrement vrai pour les grands rĂ©seaux comme Bitcoin. Les petites blockchains sont plus susceptibles d'ĂȘtre attaquĂ©es parce qu'une personne ou un groupe pourrait Ă©ventuellement obtenir le contrĂŽle sur une majoritĂ© de noeuds (phĂ©nomĂšne connu sous le nom d'attaque Ă  51 pourcent).
Par conséquent, le réseau distribué de pair à pair, associé à une exigence de consensus majoritaire, donne aux blockchains un degré relativement élevé de résistance aux activités malveillantes. Le modÚle P2P est l'une des raisons pour lesquelles Bitcoin (et d'autres blockchains) a pu atteindre ce que l'on appelle la Tolérance aux Pannes Byzantine.

Au-delĂ  de la sĂ©curitĂ©, l'utilisation de l'architecture P2P dans les blockchains crypto-monnaie les rend Ă©galement rĂ©sistantes Ă  la censure par les autoritĂ©s centrales. Contrairement aux comptes bancaires standard, les portefeuilles crypto ne peuvent pas ĂȘtre gelĂ©s ou vidĂ©s par les gouvernements. Cette rĂ©sistance s'Ă©tend Ă©galement aux efforts de censure de la par des plateformes de traitement de paiement privĂ©es et les plateformes de contenu. Certains crĂ©ateurs de contenu et marchands en ligne ont adoptĂ© les paiements en crypto-monnaie pour Ă©viter de se retrouver bloquĂ©s par des tiers.


Limites

Malgré leurs nombreux avantages, l'utilisation de réseaux P2P sur les blockchains entraßne également certaines limitations.

Parce que les registres distribuĂ©s doivent ĂȘtre mis Ă  jour sur chaque nƓud au lieu d'un seul serveur central, ajouter des transactions Ă  une blockchain nĂ©cessite une quantitĂ© massive de puissance informatique. Bien que cela apporte une sĂ©curitĂ© accrue, cela rĂ©duit considĂ©rablement l'efficacitĂ© et constitue l'un des principaux obstacles en matiĂšre d'Ă©volutivitĂ© et d'adoption gĂ©nĂ©ralisĂ©e. NĂ©anmoins, les cryptographes et les dĂ©veloppeurs blockchain enquĂȘtent sur des alternatives qui peuvent ĂȘtre utilisĂ©es comme solutions de scalabilitĂ©. Les exemples importants incluent le RĂ©seau Lightning; L'Ethereum Plasma, et le protocole Mimblewimble.
Une autre limitation potentielle concerne les attaques qui peuvent survenir pendant les Ă©vĂ©nements de  Hard Fork. Étant donnĂ© que la plupart des blockchains sont dĂ©centralisĂ©es et open source, les groupes de noeuds sont libres de copier et de modifier le code, afin de se sĂ©parer de la chaĂźne principale pour former un nouveau rĂ©seau parallĂšle. Les hard forks sont tout Ă  fait normaux et ne reprĂ©sentent pas une menace en eux-mĂȘmes. Mais si certaines mĂ©thodes de sĂ©curitĂ© ne sont pas adoptĂ©es correctement, les deux chaĂźnes peuvent devenir vulnĂ©rables aux attaques de rĂ©Ă©criture.

De plus, la nature distribuée des réseaux P2P les rend relativement difficiles à contrÎler et à réglementer. Ce fait n'est pas seulement propre à la niche de la blockchain, plusieurs application et entreprises P2P se sont retrouvées impliquées dans des activités illégales ainsi que des violations de copyright.


Pour conclure

L'architecture Peer-to-peer peut ĂȘtre dĂ©veloppĂ©e et utilisĂ©e de diffĂ©rentes maniĂšres, et elle est au cƓur des blockchains qui rendent possible l'existence des crypto-monnaies. En distribuant des registres de transactions sur de grands rĂ©seaux de nƓuds, l'architecture P2P offre la sĂ©curitĂ©, la dĂ©centralisation et la rĂ©sistance Ă  la censure.

En plus de leur utilité dans la technologie de la blockchain, les systÚmes P2P peuvent également servir d'autres applications de calcul distribués, allant des réseaux de partage de fichiers aux plateformes de trading d'énergie.