Les réseaux P2P ou Peer-to-Peer sont un type de réseaux décentralisés constitués de centaines voire de millions d'ordinateurs répartis dans le monde entier. Tous travaillent sous le même protocole de communication, dans le but de créer un vaste réseau pour partager des informations de toute nature. Si aujourd'hui on peut acheter des bitcoins c'est grâce à ce type de réseau.
Uréseau na P2PQu'il s'agisse d'un vin rare et exotique ou du même vin dans différents millésimes, quel que soit votre choix au peer-to-peer, est un réseau dans lequel un groupe de personnes ou de machines participe de manière totalement décentralisée. C'est-à-dire, c'est un réseau où il n'y a pas de point central de connexion ou de contrôle, et où les parties agissent de manière autonome en répondant à un protocole commun de communication et de consensus. De cette manière, les membres du réseau peuvent échanger des informations directement et sans intermédiaires.
Pour ce faire, les réseaux P2P sont construits sur des protocoles qui s'exécutent sur des protocoles Internet (également appelés TCP / IP). Par conséquent, les protocoles P2P sont appelés protocoles d'application ou couche 7, selon le modèle Interconnexion des systèmes ouverts ou OSI. Cela signifie que les protocoles P2P nécessitent l'utilisation d'autres protocoles plus abstraits pour fonctionner, mais cela, en même temps, les rend plus faciles à construire et à utiliser.
Grâce à cela, les protocoles P2P ont été largement utilisés depuis leur création à des fins différentes. Certaines légales, d'autres un peu grises, mais malgré cela, il y a une chose très claire, Les protocoles P2P sont très puissants et permettent la création de structures décentralisées, peu répréhensibles et libres d'utilisation. Pour cette raison, les crypto-monnaies comme Bitcoin ils ont été construits sur la base de protocoles P2P.
Origine et histoire du P2P
L'origine du premier réseau P2P, on peut la retracer jusqu'à la création du protocole UUCP o Protocole de copie Unix vers Unix, en 1980. Ce protocole simple a donné naissance au célèbre réseau USENET et à BBS, des réseaux toujours actifs et fonctionnels aujourd'hui. Un bon exemple de ceci est, Effet Linux BBS, qui est toujours actif pour les nostalgiques de ce système de communication.
Le principe de fonctionnement de ces systèmes est simple: la machine a effectué un appel de connexion (connexion commutée) à l'aide d'un modem, a communiqué avec la machine de destination et ils ont pu partager des informations point à point sans intermédiaires. À la fin de l'appel de connexion, l'utilisateur peut initier une autre connexion à une autre machine en recommençant le processus depuis le début. Il convient de noter que tout cela était possible sans une structure comme Internet que nous connaissons aujourd'hui, un réseau et une technologie encore en développement à l'époque.
À l'époque, USENET et le protocole UUCP étaient le summum des communications. En fait, le mouvement cypherpunk a commencé avec l'utilisation de ce protocole. Des personnages comme Saint Jude, Eric Hugues, Timothée C. May, David Chaum, ont utilisé ces systèmes pour partager des informations sur les forums BBS de la communauté Cypherpunks. C'étaient les premières années de l'informatique et, à cette époque, de nombreuses possibilités futures de ce type de protocoles et d'ordinateurs beaucoup plus puissants et capables étaient déjà entrevus.
Plus tard, en 1983, le Protocole TCP / IP. Fondamentalement, ce nouveau protocole visait à rendre plus flexible la création de grands réseaux mondiaux, en fait, il est à la base de la construction de ce que nous connaissons aujourd'hui sous le nom d'Internet. Ce dernier est en fait devenu possible lorsque le Système ou modèle OSI (définissant les sept couches d'abstraction que nous avons actuellement sur Internet) en 1989 et, enfin, avec l'arrivée de Protocole WWW (World Wide Web) en 1990.
Types de réseaux P2P
Parmi les types de réseaux P2P existants, nous pouvons spécifier les éléments suivants:
- Réseau décentralisé et structuré. Ces types de réseaux sont appelés réseaux P2P hybrides. Dans ce type de réseau, il n'y a pas d'annuaire sur un serveur central, mais à la place il existe une série de nœuds ou homologues, qui ont la capacité de recevoir des demandes d'informations et d'y répondre pour faciliter l'accès aux ressources. Pour éviter la centralisation de cette fonctionnalité, les nœuds ou pairs spéciaux peuvent être installés et configurés par n'importe qui, cherchant ainsi à ce que la même communauté d'utilisateurs étende la fonctionnalité du réseau et permette son bon fonctionnement. Un bon exemple de ce type de réseau est les réseaux fédérés tels que Diaspora o Mastodonte.
- Réseau décentralisé et non structuré. Dans ce type de réseau P2P, il n'y a pas d'ordinateurs ou de nœuds qui fonctionnent comme des contrôleurs centraux des requêtes. Au contraire, chaque nœud du réseau a les mêmes fonctions que le reste des nœuds, de sorte que chaque nouveau nœud exerce la même autorité que les autres. À ce stade, les réseaux comme Bitcoin répondent à ces caractéristiques, puisque chaque nœud connecté a les mêmes capacités que les autres.
Comment fonctionne un réseau P2P?
Le fonctionnement d'un réseau P2P est relativement simple. Fondamentalement, ce qui est fait est de construire un protocole de communication (langage) qui permet aux personnes qui utilisent ledit logiciel de communiquer directement et sans intermédiaires avec d'autres ordinateurs. Cependant, le plus gros problème auquel est confrontée la construction de ces systèmes est : Comment concevoir un système qui n'a pas besoin d'un répertoire centralisé pour communiquer avec d'autres ordinateurs exécutant le même logiciel ?
Un problème complexe, mais la situation peut être résolue assez efficacement avec deux mesures bien définies:
- Tout d'abord, rendez le logiciel capable de partager des informations de connexion sur ceux qui l'exécutent. Ainsi, chaque ordinateur qui exécute le logiciel est capable d'avoir un répertoire d'ordinateurs connectés et de les utiliser pour se connecter au nœud qu'il souhaite.
- Encourager la plus grande décentralisation possible du réseau. Autrement dit, obliger de nombreuses personnes à exécuter le logiciel en créant leurs propres nœuds, et donc en augmentant la taille du réseau. De cette manière, sa portée et ses possibilités sont améliorées.
Autrement dit, plus paires ou pairs (ordinateurs exécutant un logiciel P2P) le réseau a, plus il y a de chances que le réseau ne puisse pas être censuré, son fonctionnement sera plus résistant et ses capacités seront meilleures. Dans les premiers systèmes P2P, tels que USENET ou IRC, les systèmes et leurs connexions étaient connus par des moyens écrits, des appels ou le même système qui disposait d'un tableau de pairs auquel se connecter. Ainsi, chaque nouveau membre du réseau avait accès à la liste des pairs et s'ajoutait pour que d'autres puissent établir une communication avec eux si nécessaire. Non seulement cela, ce nouveau pair pourrait être la passerelle vers des informations provenant de pairs qui pourraient être bloqués.
Mais créer de plus grands réseaux comme IRC, DCC, DC ++, Napster, Gnutella, BitTorrent et même Bitcoin a radicalement changé cela. Maintenant que chaque nœud était connecté à un point, ils obtiennent une liste de pairs initiaux (ou nœuds d'amorçage). Et à partir de là, chaque nœud est capable de recréer sa propre liste de nœuds appartenant au réseau. Le résultat est une meilleure résistance à la censure et le réseau peut se développer plus rapidement.
Bien entendu, le fonctionnement de chaque protocole est différent. IRC, par exemple, est un système distribué (presque centralisé) de serveurs qui peut vous donner la possibilité de vous connecter point à point avec une personne. Mais DC + et Gnutella sont complètement décentralisés, leurs réseaux sont conçus pour que le réseau s'ajuste automatiquement à l'entrée et à la sortie de nouveaux nœuds sur le réseau.
La même chose est vraie dans Bitcoin, où le réseau a commencé avec une seule graine, celle commencée par Satoshi Nakamoto, et depuis lors, le réseau s'est progressivement développé pour devenir un réseau d'une taille supérieure à 10 mille nœuds actifs. Bien sûr, l'objectif de Bitcoin est différent de celui d'un réseau comme Gnutella, mais les principes du protocole demeurent: communiquer à deux parties sans intermédiaires.
Avantages et inconvénients de cette technologie
Avantages
- Un réseau P2P résiste à la censure. Un réseau P2P hautement décentralisé est pratiquement impossible à censurer.
- Ils offrent une résilience inégalée. Si un nœud tombe, un autre nœud peut prendre sa place. C'est pourquoi ils disent que les réseaux P2P peuvent survivre à une catastrophe nucléaire, car ils peuvent détruire de nombreux nœuds, mais si un seul survit, le réseau peut être complètement reconstruit.
- Les réseaux P2P peuvent conduire à des solutions d'évolutivité puissantes pour présenter des services uniques avec une portée mondiale.
- En ne dépendant pas des entités centrales, le P2P génère plus de confiance en ses utilisateurs.
- Ils offrent un haut niveau de bande passante. C'est grâce au fait qu'ils profitent de la bande passante de chaque participant pour la transformer en celle du réseau.
- Ils servent à transmettre des informations numériques de toute nature. De votre chanson préférée à des centaines de millions de dollars, en quelques secondes.
Inconvénients
- Un réseau P2P résiste à la censure, mais il ne vous rend pas anonyme à moins qu'il ne soit conçu pour le faire, même si ce réseau utilise le cryptage. Le meilleur exemple est BitTorrent, où les FAI peuvent détecter l'utilisation du protocole et ainsi avertir les autorités d'un téléchargement illégal par un utilisateur.
- La conception des réseaux P2P signifie que plus la taille est grande, plus la latence augmente. En d'autres termes, pour que les informations atteignent toutes les parties du réseau, cela prendra plus de temps dans un grand réseau P2P que dans un plus petit. Par conséquent, de nouveaux algorithmes et protocoles sont recherchés pour aider à surmonter ce problème.
- Les protocoles P2P présentent un certain nombre de problèmes structurels connus. Des cas tels que les attaques MITM pour prendre le contrôle des nœuds, car ceux-ci doivent être connectés publiquement à tout moment, sont l'un de ces échecs. Les protocoles sont également sensibles aux attaques de routage ou à des choses aussi furtives qu'un attaque d'éclipse ou Attaque d'Erebus.
Bitcoin, un réseau P2P pour gérer la valeur
Bitcoin est l'un des plus grands réseaux P2P qui existent aujourd'hui, avec plus de 10 mille nœuds actifs, Bitcoin est un réseau mondial qui permet à ses utilisateurs de gérer la valeur sans intermédiaires. Tout ce que vous avez à faire est de télécharger un logiciel qui vous permet d'interagir avec ce réseau, et vous pourrez l'utiliser.
La construction de Bitcoin en tant que réseau P2P répond à la nécessité de décentraliser ses capacités. Il est inutile de créer une monnaie avec cryptographie, si elle est alors gérée par une entité centrale. Ce serait simplement créer une nouvelle banque centrale. Au lieu de cela, Satoshi Nakamoto voulait un réseau mondial, non censuré, sécurisé et privé capable de gérer de la valeur. Donc pour cela, Nakamoto a conçu Bitcoin sur la base d'un réseau P2P utilisant son propre protocole conçu selon les principes de Protocole Kademlia y Protocole de potins.
Le résultat est que Bitcoin est un réseau P2P qui, pratiquement, ne peut pas être arrêté. Même avec ses défauts structurels, le protocole P2P était la meilleure décision que Nakamoto pouvait prendre dans la conception de Bitcoin. Ce faisant, il s'est assuré de créer de la monnaie numérique qui servait les intérêts du monde et de ses utilisateurs.
Le P2P pour résoudre les problèmes d'argent numérique
Mieux encore, Bitcoin avec son système P2P a réussi à créer un système de grand livre distribué dans lequel les problèmes tels que les doubles dépenses appartiennent au passé. La double dépense était l'un des principaux problèmes de la monnaie numérique. La possibilité de dupliquer de l'argent et de le contrefaire était quelque chose qui n'avait pas été résolu jusqu'à ce que Satoshi Nakamoto ait conçu la blockchain et son protocole P2P pour Bitcoin.
Depuis, nous avons pu utiliser les crypto-monnaies en toute sécurité sachant que notre argent n'est pas seulement dans un protocole ouvert, transparent et gratuit, mais aussi qu'il ne peut jamais être falsifié. Et tout cela parce que chaque nœud a un historique des transactions réseau, témoin de chaque opération qu'il contient. Cet énorme réseau de témoins reste comme un enregistrement immuable de tout ce qui se passe et nous donne l'assurance que le système n'est pas manipulable.
Quelque chose de vraiment utile et qui permet de transformer Bitcoin en une monnaie numérique sécurisée, la plus sûre et la plus transparente de toutes.
Autres événements importants à l'origine du P2P
La naissance de l'IRC
En 1988, un jeune homme du nom de Jarkko Oikarinen a conçu le protocole IRC, afin de remplacer un programme appelé MUT (MultiUser Talk) sur un BBS appelé OuluBox à l'Université d'Oulu en Finlande, où il a travaillé au Département des Sciences de l'Informatique. .
Son intention était d'étendre le logiciel BBS qu'il a réussi à activer pour les nouvelles de style USENET, les discussions en temps réel et les fonctionnalités de type BBS. La première partie qu'il a implémentée était la partie chat, qu'il a réalisée avec des parties empruntées écrites par ses amis Jyrki Kuoppala et Jukka Pihl. Le premier réseau IRC fonctionnait sur un seul serveur appelé tolsun.oulu.fi.
Le fait que le protocole ait été conçu pour utiliser TCP / IP lui a donné une énorme flexibilité à l'avenir. En fait, en 1990, le premier grand réseau IRC, l'EFNet, a été fondé. Le rôle d'EFNet était vital pour les communications mondiales pendant le conflit du golfe Persique. En fait, c'était le réseau préféré pour savoir en temps réel ce qui se passait sur le champ de bataille. Ainsi, il a montré que le potentiel de l'IRC par rapport au courrier était supérieur, au moins en termes d'immédiateté et d'interactivité des communications. La même chose s'est produite avec la chute de l'Union soviétique, où l'IRC a également joué un rôle essentiel dans la communication de ce qui se passait dans le monde en temps réel.
Depuis lors, le protocole IRC a connu une expansion et une acceptation énormes, avec des réseaux tels que Sous-réseau, DALnet, nœud libre (largement utilisé pour les projets de logiciels libres), Rizón e Immortal-Anime (maintenant Xertion). L'expansion de son acceptation a apporté plus de développement au protocole, et de là est né l'un des premiers systèmes P2P sur Internet, l'IRC-DCC, ou IRC Direct Client-to-Client. Le système permettait une communication directe entre les parties sans intermédiaires, le partage de fichiers, la communication cryptée de bout en bout (OTR), etc.
Naissance de HotLine Connect
Pour 1996, une autre création dans le monde du P2P viendrait, créa Adam Hinkley. Connexion HotLine c'était un réseau de partage de fichiers P2P qui utilise un système de suivi pour permettre à deux utilisateurs d'échanger des informations. Largement utilisé jusqu'à fin 2000, il est tombé en désuétude grâce à l'apparition d'autres protocoles plus flexibles et à la montée en puissance de l'IRC-DCC.
Gnutella
Gnutella est un développement de réseau P2P de partage de fichiers développé en 2000 par Justin Frankel et Tom Pepper. Frankel et Pepper travaillaient chez Nullsoft, le créateur du lecteur Winamp et du service de streaming audio. Shoutcast.
Depuis lors et jusqu'à maintenant, Gnutella est le plus grand réseau P2P au monde. En fait, ce réseau compte plus de 12 millions de nœuds en fonctionnement dans le monde.
La naissance de Napster
Napster était un logiciel développé par Shawn Fanning en 1998 et permettait le téléchargement de musique gratuitement. Bien que Napster ne soit pas un réseau P2P pur (comme c'était aussi le cas avec IRC), il permettait à deux personnes d'échanger de la musique sans intermédiaires externes à ceux qui existaient sur le réseau et ses serveurs. Mais Napster a touché les poches de l'industrie de la musique et après un long procès, il a été fermé en juillet 2001.
Cependant, ce que Napster avait fait a appelé le monde à développer des systèmes plus décentralisés.