Les réseaux P2P ou Peer-to-Peer sont un type de réseaux décentralisés. Des réseaux composés de centaines, voire de millions d'ordinateurs répartis dans le monde. 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 P2Pou 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 pour différents usages. Certains légaux, d'autres un peu gris, 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, crypto-monnaies comme Bitcoin ils ont été construits sur la base de protocoles P2P.

Cela dit, apprenons un peu plus sur ces protocoles et leur évolution.

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 cible et ils ont pu partager des informations point à point sans intermédiaires. À la fin de l'appel de connexion, l'utilisateur peut lancer une autre connexion avec une autre machine en relançant le processus. Il est à noter que tout cela était possible sans une structure comme Internet que nous connaissons aujourd'hui, un réseau et une technologie qui étaient encore en développement à cette é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, a utilisé ces systèmes pour partager des informations sur les cartes BBS de la communauté Cypherpunks. C'étaient les premières années de l'informatique, et à cette époque, il y avait déjà un aperçu des possibilités futures de ce type de protocole et d'ordinateurs beaucoup plus puissants et capables.

Plus tard, en 1983, le Protocole TCP / IP. Fondamentalement, ce nouveau protocole cherchait à 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 comme Internet. Ce dernier est devenu vraiment 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éseaux P2P, il n'y a pas d'ordinateurs ou de nœuds qui fonctionnent comme des contrôleurs de requêtes centraux. 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, des réseaux comme Bitcoin ils 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 lors de 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:

  1. 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.
  2. encourager le plus grand décentralisation possibles depuis le réseau. C'est-à-dire que de nombreuses personnes exécutent le logiciel en créant leurs propres nœuds, augmentant ainsi la taille du réseau. De cette manière, sa portée et ses possibilités sont améliorées.

Autrement dit, plus pairs (ordinateurs exécutant un logiciel P2P) avoir le réseau, plus il y a de chances que le réseau ne puisse pas être censuré, son fonctionnement sera plus résistant et, meilleures seront ses capacités. 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.

Réseau de nœuds dans un système P2P

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.

Bitcoin et ses nœuds dans le monde

Avantages et inconvénients de cette technologie

Avantages

  1. Un réseau P2P résiste à la censure. Un réseau P2P hautement décentralisé est pratiquement impossible à censurer.
  2. 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.
  3. Les réseaux P2P peuvent conduire à des solutions d'évolutivité puissantes pour présenter des services uniques avec une portée mondiale.
  4. En ne dépendant pas des entités centrales, le P2P génère plus de confiance en ses utilisateurs. 
  5. 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.
  6. 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

  1. 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.
  2. 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.
  3. 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 comptabilité 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 de solution jusqu'à ce que Satoshi Nakamoto ait conçu le 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.

Que savez-vous, cryptonuta?

Les réseaux P2P garantissent-ils à eux seuls notre confidentialité et notre anonymat?

FAUX!

Un réseau P2P en lui-même ne nous garantit pas la confidentialité ou l'anonymat. Pour y parvenir, le protocole doit être construit sur la base de la réalisation des deux caractéristiques. Dans les crypto-monnaies, nous pouvons clairement voir cette situation. Par exemple, Bitcoin qui était destiné à la vie privée mais pas à l'anonymat, tandis que Monero, s'il était destiné aux deux fonctions à partir de sa base. Il y a la différence entre les deux crypto-monnaies, leurs réseaux et le fonctionnement de chacun d'eux.

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.