La tecnología peer-to-peer surgió en 1984 durante el desarrollo de parte de IBM de la arquitectura de red Advanced Peer-to-Peer Networking (APPN) para el enrutamiento de datos. Las redes P2P comenzaron a usarse más ampliamente en la década de 1990, junto con la expansión del acceso a Internet y la aparición de software para compartir archivos de forma descentralizada. Con el tiempo, la arquitectura peer-to-peer comenzó a utilizarse en áreas como las siguientes:
- intercambio de datos;
- búsqueda de información;
- comercio en línea;
- streaming;
- computación distribuida, etc.
Las redes peer-to-peer se convirtieron en una de las tecnologías clave en el desarrollo de proyectos blockchain ya que estos las descentralizaban.
Cómo funcionan
Las redes peer-to-peer funcionan de la siguiente manera:
- tenemos una cierta cantidad de computadoras entre las cuales se proporciona una conexión de red;
- cada participante de la red tiene una copia exacta de la base de datos;
- cada dispositivo actúa simultáneamente como servidor y cliente, es decir, envía y procesa solicitudes;
- cualquier cambio en la red se procesa mutuamente.
El proceso de intercambio y actualización de información en la base de datos es continuo e ininterrumpido, ya que cada nodo debe responder a cualquier cambio en la red. A diferencia de un sistema centralizado, la red peer-to-peer no tiene un punto único de falla.
Redes Peer-to-Peer y criptomonedas
El impacto de la arquitectura P2P en las criptomonedas es obvio. Solo se tiene que ver el título del White Paper en el que Satoshi Nakamoto describió inicialmente la primera criptomoneda: “Bitcoin: Un Sistema de Dinero Electrónico Peer-To-Peer”. Las criptomonedas utilizan un libro mayor distribuido; una blockchain que opera según el principio de red peer-to-peer.
Todos los nodos de la red de blockchain están conectados directamente entre sí, sin embargo, en la blockchain, los participantes de la red pueden realizar varias funciones. Por ejemplo, los nodos completos brindan almacenamiento y actualización de todo el conjunto de datos de la red de blockchain, mientras que los mineros generan nuevos bloques de datos.
Clasificación de las redes Peer-to-Peer
Existen tres tipos básicos de redes P2P:
- Desestructurada. Esta arquitectura no involucra un patrón de interacción claro entre los nodos de la red; los participantes se comunican entre sí de manera aleatoria. Este tipo de organización de red es estable cuando sus miembros cambian constantemente.
- Estructurada. Este tipo tiene un patrón distinto de relaciones entre nodos, permitiendo que los datos se intercambien de manera más efectiva.
- Híbrida. Esta estructura combina algunos elementos de los dos tipos anteriores, brindando un nivel bastante alto de rendimiento, estabilidad y descentralización.
Ventajas y desventajas de las redes Peer-to-Peer
Las principales ventajas de las redes P2P, que se consiguen distribuyendo datos entre todos los participantes de la red, son las siguientes:
- la descentralización;
- el alto rendimiento gracias a la separación de recursos;
- la resistencia a ataques DDoS, fallas, mal funcionamiento dentro de la red y restricciones de agencias gubernamentales.
Las principales desventajas de las redes P2P incluyen las siguientes:
- una administración inconveniente;
- la necesidad de mantener una copia de seguridad de toda la red en cada nodo y actualizar y verificar constantemente su relevancia;
- la falta de oportunidades para búsquedas centralizadas de información y control de acceso a datos.
Es importante señalar que muchas redes de blockchain comparten algunas de las características de las redes P2P, pero los dos conceptos no son sinónimos. Las redes peer-to-peer se utilizan más comúnmente en el intercambio de archivos distribuidos. Posiblemente escucharon hablar de BitTorrent, un protocolo de red para compartir archivos de forma cooperativa que se organiza como una red peer-to-peer.
Actualmente el área más prometedora en la que se utilizan las redes P2P, fuera del mercado de las criptomonedas, es dentro de los protocolos informáticos distribuidos. El ejemplo práctico más famoso es el programa de computación distribuida de dinámica molecular de proteínas, un proyecto conjunto entre Sony y Pande Lab de la Universidad de Stanford. Los cálculos se realizaron en consolas PlayStation 3 y la red de 30.000 dispositivos fue un 10% más productiva que la supercomputadora más poderosa de la época.