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 collectivement des fichiers. Chaque participant (nœud) agit comme un pair individuel. En règle générale, tous les nœuds ont la même puissance et effectuent les mêmes tâches.

En technologie financière, le terme peer-to-peer fait généralement 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 transactions sans avoir recours à des intermédiaires. Dans certains cas, les sites Web peuvent également fournir un environnement P2P reliant les prêteurs et les emprunteurs.

L'architecture P2P peut convenir à divers cas d'utilisation, 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 de la plupart des crypto-monnaies et constituent une grande partie de l’industrie de la blockchain. Cependant, ils sont également exploités dans d'autres applications informatiques distribuées, notamment les moteurs de recherche Web, les plateformes de streaming, les marchés en ligne et le protocole Web InterPlanetary File System (IPFS).


Comment fonctionne le P2P ?

Essentiellement, un système P2P est géré par un réseau distribué d’utilisateurs. Habituellement, ils n'ont pas d'administrateur central ni de serveur car chaque nœud détient une copie des fichiers - agissant à la fois en tant que client et serveur pour les autres nœuds. Ainsi, chaque nœud peut télécharger des fichiers depuis d'autres nœuds ou y télécharger des fichiers. C'est ce qui différencie les réseaux P2P des systèmes client-serveur plus traditionnels, dans lesquels les appareils clients téléchargent des fichiers à partir d'un serveur centralisé.

Sur les réseaux P2P, les appareils connectés partagent des fichiers stockés sur leurs disques durs. À l'aide d'applications logicielles conçues pour faciliter le partage de données, les utilisateurs peuvent interroger d'autres appareils sur le réseau pour rechercher et télécharger des fichiers. Une fois qu'un utilisateur a téléchargé un fichier donné, il peut alors agir en tant que source de ce fichier.

En d’autres termes, lorsqu’un nœud agit en tant que client, il télécharge des fichiers depuis d’autres nœuds du réseau. Mais lorsqu’ils fonctionnent en tant que serveur, ils constituent la source à partir de laquelle d’autres nœuds peuvent télécharger des fichiers. En pratique, cependant, les deux fonctions peuvent être exécutées en même temps (par exemple, télécharger le fichier A et télécharger le fichier B).

Étant donné que chaque nœud stocke, transmet et reçoit des fichiers, les réseaux P2P ont tendance à être plus rapides et plus efficaces à mesure que leur base d'utilisateurs s'agrandit. De plus, leur architecture distribuée rend 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 en fonction de leur architecture. Les trois principaux types sont appelés 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ésentent aucune organisation spécifique des nœuds. Les participants communiquent entre eux de manière aléatoire. Ces systèmes sont considérés comme robustes face à une activité élevée de désabonnement (c'est-à-dire plusieurs nœuds rejoignant et quittant fréquemment le réseau).

Bien que plus faciles à construire, les réseaux P2P non structurés peuvent nécessiter une utilisation plus importante du processeur et de la mémoire, car les requêtes de recherche sont envoyées au plus grand nombre de pairs possible. Cela a tendance à inonder le réseau de requêtes, surtout si un petit nombre de nœuds propose le contenu souhaité.


Réseaux P2P structurés

En revanche, 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 n'est pas largement disponible. Dans la plupart des cas, cela est réalisé grâce à l'utilisation de fonctions de hachage qui facilitent les recherches dans la base de données.

Même si les réseaux structurés peuvent être plus efficaces, ils ont tendance à présenter des niveaux de centralisation plus élevés et nécessitent généralement des coûts de configuration et de maintenance plus élevés. En dehors de cela, les réseaux structurés sont moins robustes face à des taux de désabonnement élevés.


Réseaux P2P hybrides

Les réseaux P2P hybrides combinent le modèle client-serveur conventionnel avec certains aspects de l'architecture peer-to-peer. Par exemple, sa conception peut contenir un serveur central qui facilite la connexion entre pairs.

Comparés aux deux autres types, les modèles hybrides ont tendance à présenter des performances globales améliorées. Ils combinent généralement certains des principaux avantages de chaque approche, atteignant simultanément des degrés significatifs d’efficacité et de décentralisation.


Distribué ou décentralisé

Bien que l’architecture P2P soit intrinsèquement distribuée, il est important de noter qu’il existe différents degrés de décentralisation. Ainsi, tous les réseaux P2P ne sont pas décentralisés.

En fait, de nombreux systèmes s'appuient sur une autorité centrale pour guider l'activité du réseau, ce qui les rend 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 auprès d'autres utilisateurs, mais ils ne peuvent pas participer à d'autres processus, comme la gestion des requêtes de recherche.

En outre, les petits réseaux contrôlés par une base d’utilisateurs limitée ayant des objectifs communs peuvent également être considérés comme présentant un degré plus élevé de centralisation, malgré l’absence d’infrastructure réseau centralisée.


Le rôle du P2P dans les blockchains

Aux débuts du Bitcoin, Satoshi Nakamoto l’a défini comme un « système de paiement électronique peer-to-peer ». Bitcoin a été créé comme une forme de monnaie numérique. Il peut être transféré d’un utilisateur à un autre via un réseau P2P, qui gère un registre distribué appelé blockchain.

Dans ce contexte, l’architecture P2P inhérente à la technologie blockchain est ce qui permet de transférer du bitcoin et d’autres cryptomonnaies dans le monde entier, sans avoir besoin d’intermédiaires ni de serveur central. De plus, n’importe qui peut créer 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 sur 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 contient une copie de la blockchain et la compare à d'autres nœuds pour garantir l'exactitude des données. Le réseau rejette rapidement toute activité malveillante ou inexactitude.

Dans le contexte des blockchains de crypto-monnaie, les nœuds peuvent assumer différents rôles. Les nœuds complets, par exemple, sont ceux qui assurent la sécurité du réseau en vérifiant les transactions par rapport aux règles de consensus du système.

Chaque nœud complet conserve une copie complète et mise à jour de la blockchain, ce qui leur permet de participer au travail collectif de vérification du véritable état du grand livre distribué. Il convient cependant de noter que tous les nœuds de validation complète ne sont pas des mineurs.


Avantages

L’architecture peer-to-peer des blockchains offre de nombreux avantages. L'un des plus importants est le fait que les réseaux P2P offrent une plus grande sécurité que les arrangements client-serveur traditionnels. La répartition des blockchains sur un grand nombre de nœuds les rend pratiquement immunisées contre les attaques par déni de service (DoS) qui sévissent sur de nombreux systèmes.

De même, étant donné qu’une majorité de nœuds doivent établir un consensus avant que les données ne soient ajoutées à une blockchain, il est presque impossible pour un attaquant de modifier les données. Cela est particulièrement vrai pour les grands réseaux comme celui de Bitcoin. Les blockchains plus petites sont plus sensibles aux attaques, car une personne ou un groupe pourrait éventuellement prendre le contrôle d'une majorité de nœuds (c'est ce qu'on appelle une attaque à 51 %).

En conséquence, le réseau peer-to-peer distribué, associé à une exigence de consensus majoritaire, confère aux blockchains un degré 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) ont 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 de cryptomonnaies les rend également résistantes à la censure des autorités centrales. Contrairement aux comptes bancaires standards, les portefeuilles de cryptomonnaies ne peuvent pas être gelés ou vidés par les gouvernements. Cette résistance s’étend également aux efforts de censure des plateformes privées de traitement des paiements et de contenu. Certains créateurs de contenu et commerçants en ligne ont adopté les paiements en crypto-monnaie pour éviter que leurs paiements ne soient bloqués par des tiers.


Limites

Malgré leurs nombreux avantages, l’utilisation des réseaux P2P sur blockchain présente également certaines limites.

Étant donné que les registres distribués doivent être mis à jour sur chaque nœud plutôt que sur un serveur central, l’ajout de transactions à une blockchain nécessite une puissance de calcul considérable. Bien que cela offre 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 de blockchain étudient des alternatives pouvant être utilisées comme solutions de mise à l’échelle. Les exemples marquants incluent Lightning Network, Ethereum Plasma et le protocole Mimblewimble.

Une autre limitation potentielle concerne les attaques qui peuvent survenir lors d’événements 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 tout à fait normaux et ne constituent pas une menace en soi. Mais si certaines méthodes de sécurité ne sont pas correctement adoptées, les deux chaînes peuvent devenir vulnérables aux attaques par relecture.

De plus, la nature distribuée des réseaux P2P les rend relativement difficiles à contrôler et à réguler, et pas seulement dans le créneau de la blockchain. Plusieurs applications et sociétés P2P se sont impliquées dans des activités illégales et des violations du droit d'auteur.


Pensées finales

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 les crypto-monnaies possibles. En distribuant les registres de transactions sur de vastes réseaux de nœuds, l'architecture P2P offre sécurité, décentralisation et résistance à la censure.

En plus de leur utilité dans la technologie blockchain, les systèmes P2P peuvent également servir d’autres applications informatiques distribuées, allant des réseaux de partage de fichiers aux plateformes d’échange d’énergie.