Que signifie peer-to-peer (P2P) ?

Dans le domaine des technologies de l'information, un réseau peer-to-peer (P2P) consiste en un groupe d'appareils interconnectés qui échangent des fichiers entre eux et stockent le même ensemble de données. Chaque participant (nœud) agit comme un pair individuel. Généralement, tous les nœuds ont la même puissance et effectuent les mêmes tâches.

En termes financiers, le terme fait souvent référence à l’échange de crypto-monnaies ou d’actifs numériques sur un réseau distribué. La plateforme P2P permet aux acheteurs et aux vendeurs de réaliser des transactions sans intermédiaires. Dans certains cas, les sites Web peuvent également fournir un environnement peer-to-peer reliant les prêteurs et les emprunteurs.

L'architecture P2P convient à une variété de cas d'utilisation, et la technologie est devenue populaire dans les années 1990, lorsque les premiers programmes de partage de fichiers ont été créés. Aujourd’hui, les réseaux peer-to-peer constituent la base de la plupart des crypto-monnaies et constituent une grande partie de l’industrie de la blockchain. Cependant, il est également utilisé dans d'autres applications informatiques distribuées, notamment les moteurs de recherche, les plateformes de streaming, les marchés en ligne et le protocole Web InterPlanetary File System (IPFS).


Comment ça fonctionne?

Le système P2P est pris en charge par un réseau distribué d'utilisateurs. Ils n'ont généralement pas d'administrateur principal ni de serveur, car chaque nœud contient une copie de tous les fichiers, agissant comme client et serveur pour les autres nœuds. Ainsi, chaque nœud peut télécharger des fichiers depuis d'autres nœuds et également dans l'ordre inverse. Il s'agit d'une caractéristique distinctive d'un réseau P2P par rapport à ses clients plus traditionnels, dans lesquels les appareils téléchargent des fichiers à partir d'un serveur centralisé.

Dans les réseaux peer-to-peer, les appareils connectés échangent des fichiers stockés sur leurs disques durs. À l'aide d'applications logicielles conçues pour partager des données, les utilisateurs peuvent demander et télécharger des fichiers sur d'autres appareils du réseau. Une fois que l'utilisateur a téléchargé ce fichier, il peut servir de source.

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 lorsque tous les nœuds agissent comme un serveur, ils constituent une source à partir de laquelle d’autres nœuds peuvent télécharger des données. Cependant, en pratique, les deux fonctions peuvent être exécutées simultanément (par exemple, téléchargement du fichier A et téléchargement du fichier B).

Étant donné que chaque nœud stocke, transmet et reçoit des fichiers, les réseaux P2P ont tendance à fonctionner plus rapidement et plus efficacement à mesure que leur base d'utilisateurs augmente. De plus, l’architecture distribuée rend ces systèmes très résistants aux diverses 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. Il existe trois types principaux : les réseaux P2P non structurés, structurés et hybrides.


Réseaux P2P non structurés

Les réseaux non structurés ne représentent aucune organisation particulière de nœuds. Tous les participants entrent en contact aléatoirement les uns avec les autres. Et à cet égard, de tels systèmes sont considérés comme résistants à une activité élevée de rotation des nœuds (c'est-à-dire que certains nœuds rejoignent le réseau, tandis que d'autres le quittent).

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


Réseaux P2P structurés

Par rapport à la forme précédente, les réseaux structurés constituent une architecture organisée qui permet 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é grâce à l'utilisation de fonctions de hachage, qui facilitent la recherche dans la base de données.

Si les réseaux structurés offrent une disponibilité et une productivité élevées, ils ont tendance à être plus centralisés et exigeants en termes d'installation et de maintenance. De plus, cette architecture est moins résiliente lorsqu’il s’agit de taux de désabonnement élevés des nœuds.


Réseaux P2P hybrides

Les réseaux P2P hybrides combinent le modèle traditionnel avec certains aspects de l'architecture peer-to-peer. Par exemple, grâce à cela, un serveur central peut être développé qui simplifiera la connexion entre les nœuds.

Comparés aux deux autres types, les modèles hybrides ont tendance à avoir des performances globales plus élevées. Ils combinent généralement certains des principaux avantages de chaque approche et atteignent ainsi des niveaux élevés d’efficacité et de décentralisation en même temps.


Distribution ou décentralisation ?

L'architecture P2P est distribuée par nature, mais il convient de noter que si elle est mise en œuvre, le réseau peut avoir différents niveaux de décentralisation. Pour cette raison, tous les réseaux peer-to-peer ne sont pas décentralisés.

Étant donné que de nombreux systèmes s'appuient sur une autorité centrale pour gérer le réseau, cela les rend quelque peu centralisés. Par exemple, certains services d'hébergement de fichiers peer-to-peer permettent aux utilisateurs de rechercher et de télécharger des fichiers aux dépens des autres utilisateurs, mais ils ne peuvent pas participer à d'autres processus, tels que la gestion des demandes de recherche.

En plus de cela, on peut dire que les petits réseaux contrôlés par une base d'utilisateurs limitée ayant des objectifs communs ont un niveau de centralisation plus élevé, malgré l'absence d'infrastructure réseau centralisée.


Impact du P2P sur la Blockchain

Dès les premiers stades de développement, Satoshi Nakamoto a défini Bitcoin comme un « système de paiement électronique en espèces peer-to-peer ». Bitcoin a été créé comme une forme d'argent numérique qui peut être transférée d'un utilisateur à un autre via un réseau peer-to-peer et gérée par un grand livre distribué, également appelé blockchain.

Dans ce contexte, l’architecture P2P, caractéristique de la technologie blockchain, permet l’échange de bitcoins et autres cryptomonnaies à travers le monde sans intermédiaires ni serveurs centralisés. De plus, n'importe qui peut rejoindre et devenir un nœud du réseau Bitcoin s'il souhaite participer au processus de vérification et de validation des blocs.

Ainsi, aucune banque sur le réseau Bitcoin ne traite ou n’enregistre toutes les transactions. Au lieu de cela, la blockchain fonctionne comme un registre numérique qui enregistre publiquement toutes les activités. En pratique, chaque nœud stocke une copie de la blockchain et la compare avec des copies d'autres nœuds pour garantir l'exactitude des données. De cette façon, le réseau répond rapidement à toute activité malveillante ou inexactitude.

Au sein des blockchains de crypto-monnaie, les nœuds peuvent assumer différentes responsabilités. Par exemple, les nœuds complets (full nodes) assurent la sécurité du réseau en validant les transactions par rapport aux règles de consensus établies du système.

Chaque nœud complet conserve une copie mise à jour de la blockchain, lui permettant de participer à un effort collectif visant à vérifier le véritable état du grand livre distribué. Cependant, il convient de noter que tous les nœuds complets ne sont pas des mineurs.


Avantages

L’architecture peer-to-peer des blockchains offre de nombreux avantages aux utilisateurs. L’un des plus importants est que ces réseaux offrent une plus grande sécurité qu’un appareil client-serveur traditionnel. La répartition des données sur la blockchain entre un grand nombre de nœuds rend le réseau pratiquement immunisé contre les attaques par déni de service (DoS) qui sévissent sur la plupart des systèmes.

Étant donné que la plupart des nœuds doivent parvenir à un consensus avant que les données ne soient ajoutées à la blockchain, il est pratiquement impossible pour un attaquant d'apporter des modifications. Et cela est effectivement vrai lorsqu’il s’agit d’un grand réseau tel que Bitcoin. Les blockchains plus petites sont plus sensibles aux attaques, car une entité ou un groupe d'individus peut éventuellement prendre le contrôle de la majorité des nœuds (également connue sous le nom d'attaque à 51 %).

En conséquence, un réseau peer-to-peer distribué, combiné au consensus obligatoire de la majorité des participants, offre 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.

Outre la sécurité, l’utilisation d’une architecture peer-to-peer 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 annulés par le gouvernement. Cette résilience s’étend également à la censure des plateformes privées de traitement des paiements et de publication de contenu. Certains créateurs de médias et vendeurs en ligne ont commencé à utiliser la crypto-monnaie pour éviter que leurs paiements ne soient bloqués par des tiers.


Défauts

Malgré leurs nombreux avantages, les réseaux peer-to-peer présentent également certains inconvénients.

Puisque les registres distribués doivent être mis à jour sur chaque nœud plutôt que sur un serveur central, l’ajout de transactions à la blockchain nécessite une grande quantité de ressources informatiques. Bien que cela améliore la sécurité, cela réduit considérablement l’agilité opérationnelle, qui constitue l’un des principaux obstacles en matière d’évolutivité et d’adaptation à grande échelle. Cependant, les cryptographes et les développeurs de blockchain explorent des alternatives qui peuvent être utilisées comme solution pour accroître l’évolutivité. Des exemples notables incluent Lightning Network, Ethereum Plasma et le protocole Mimblewimble.

Un autre inconvénient potentiel concerne les attaques qui peuvent survenir lors d'un hard fork. Étant donné que la plupart des blockchains sont décentralisées et open source, les groupes de nœuds peuvent librement copier et modifier le code, puis se séparer de la chaîne principale pour former un nouveau réseau parallèle. Les hard forks sont un événement tout à fait normal, qui en soi ne représente aucune menace. Cependant, si certaines mesures de sécurité ne sont pas correctement suivies, les deux chaînes peuvent devenir vulnérables à une attaque par relecture.

De plus, la nature distribuée des réseaux P2P les rend relativement difficiles à surveiller et à réguler, pas seulement dans l’espace blockchain. Pour cette raison, plusieurs applications et sociétés P2P ont été liées à des activités illégales et à des violations de droits d'auteur.


Conclusion

L’architecture peer-to-peer peut être développée et utilisée de différentes manières, mais elle constitue la base de toutes les blockchains, rendant possible la crypto-monnaie. En répartissant les registres de transactions entre les grands nœuds du réseau, la technologie P2P garantit la sécurité, la décentralisation et la résistance à la censure.

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