¿Qué significa peer-to-peer (P2P)?

En el campo de las tecnologías de la información, una red peer-to-peer o peer-to-peer (P2P) consiste en un grupo de dispositivos interconectados que intercambian archivos entre sí y almacenan el mismo conjunto de datos. Cada participante (nodo) actúa como un par individual. Normalmente, todos los nodos tienen la misma potencia y realizan las mismas tareas.

En términos financieros, el término suele referirse al intercambio de criptomonedas o activos digitales a través de una red distribuida. La plataforma P2P permite a compradores y vendedores completar transacciones sin intermediarios. En algunos casos, los sitios web también pueden proporcionar un entorno de igual a igual que conecta a prestamistas y prestatarios.

La arquitectura P2P es adecuada para una variedad de casos de uso y la tecnología se hizo popular en la década de 1990, cuando se crearon los primeros programas para compartir archivos. Hoy en día, las redes peer-to-peer son la base de la mayoría de las criptomonedas y constituyen una gran parte de la industria blockchain. Sin embargo, también se utiliza en otras aplicaciones informáticas distribuidas, incluidos motores de búsqueda, plataformas de transmisión, mercados en línea y el protocolo web InterPlanetary File System (IPFS).


¿Cómo funciona?

El sistema P2P está respaldado por una red distribuida de usuarios. Por lo general, no tienen un administrador o servidor principal, ya que cada nodo contiene una copia de todos los archivos, actuando como cliente y servidor para otros nodos. Así, cada nodo puede descargar archivos de otros nodos y también en orden inverso. Esta es una característica distintiva de una red P2P en comparación con sus clientes más tradicionales, en los que los dispositivos descargan archivos desde un servidor centralizado.

En las redes peer-to-peer, los dispositivos conectados intercambian archivos que se almacenan en sus discos duros. Utilizando aplicaciones de software diseñadas para compartir datos, los usuarios pueden solicitar y descargar archivos a otros dispositivos en la red. Una vez que el usuario haya descargado este archivo, puede actuar como fuente.

En otras palabras, cuando un nodo actúa como cliente, descarga archivos de otros nodos de la red. Pero cuando todos los nodos actúan como servidores, son una fuente desde la cual otros nodos pueden descargar datos. Sin embargo, en la práctica, ambas funciones se pueden realizar simultáneamente (por ejemplo, descargar el archivo A y descargar el archivo B).

Debido a que cada nodo almacena, transmite y recibe archivos, las redes P2P tienden a operar más rápido y más eficientemente a medida que aumenta su base de usuarios. Además, la arquitectura distribuida hace que estos sistemas sean muy resistentes a diversos ciberataques. A diferencia de los modelos tradicionales, las redes P2P no tienen un único punto de falla.

Podemos clasificar los sistemas peer-to-peer según su arquitectura. Hay tres tipos principales: red P2P no estructurada, estructurada e híbrida.


Redes P2P no estructuradas

Las redes no estructuradas no representan ninguna organización particular de nodos. Todos los participantes entran en contacto aleatorio entre sí. Y en este sentido, estos sistemas se consideran resistentes a una alta actividad de rotación de nodos (es decir, algunos nodos se unen a la red, mientras que otros la abandonan).

Aunque son fáciles de construir, las redes P2P no estructuradas pueden requerir un mayor uso de CPU y RAM, ya que las solicitudes de búsqueda se envían a tantos pares como sea posible. Esta arquitectura tiende a inundar la red con solicitudes, especialmente si un pequeño número de nodos ofrecen la información deseada.


Redes P2P estructuradas

En comparación con la forma anterior, las redes estructuradas son una arquitectura organizada que permite a los nodos buscar archivos de manera más eficiente, incluso si el contenido no está ampliamente disponible. En la mayoría de los casos, esto se logra mediante el uso de funciones hash, que facilitan la búsqueda en la base de datos.

Si bien las redes estructuradas ofrecen alta disponibilidad y productividad, tienden a ser más centralizadas y exigentes en términos de instalación y mantenimiento. Además, esta arquitectura es menos resistente cuando se trata de altas tasas de abandono de nodos.


Redes P2P híbridas

Las redes híbridas P2P combinan el modelo tradicional con algunos aspectos de la arquitectura peer-to-peer. Por ejemplo, gracias a esto se podrá desarrollar un servidor central que simplificará la conexión entre nodos.

En comparación con los otros dos tipos, los modelos híbridos tienden a tener un rendimiento general mayor. Generalmente combinan algunas de las principales ventajas de cada enfoque y, por lo tanto, logran altos niveles de eficiencia y descentralización al mismo tiempo.


¿Distribución o descentralización?

La arquitectura P2P es distribuida por naturaleza, pero vale la pena señalar que, si se implementa, la red puede tener diferentes niveles de descentralización. Por este motivo, no todas las redes peer-to-peer están descentralizadas.

Debido a que muchos sistemas dependen de una autoridad central para administrar la red, esto los hace algo centralizados. Por ejemplo, algunos servicios de alojamiento de archivos peer-to-peer permiten a los usuarios buscar y descargar archivos a expensas de otros usuarios, pero no pueden participar en otros procesos, como la gestión de consultas de búsqueda.

Además de esto, se puede decir que las redes pequeñas controladas por una base de usuarios limitada con objetivos comunes tienen un mayor nivel de centralización, a pesar de la falta de una infraestructura de red centralizada.


Impacto del P2P en Blockchain

En las primeras etapas de desarrollo, Satoshi Nakamoto definió Bitcoin como un "sistema de pago electrónico en efectivo entre pares". Bitcoin se creó como una forma digital de dinero que puede transferirse de un usuario a otro a través de una red peer-to-peer y administrarse mediante un libro de contabilidad distribuido, también conocido como blockchain.

En este contexto, la arquitectura P2P, característica de la tecnología blockchain, permite el intercambio de bitcoins y otras criptomonedas en todo el mundo sin intermediarios ni servidores centralizados. Además, cualquiera puede unirse y convertirse en un nodo en la red Bitcoin si quiere participar en el proceso de verificación y validación de bloques.

Por lo tanto, no hay bancos en la red Bitcoin que procesen o registren todas las transacciones. En cambio, la cadena de bloques funciona como un libro de contabilidad digital que registra públicamente toda la actividad. En la práctica, cada nodo almacena una copia de la cadena de bloques y la compara con copias de otros nodos para garantizar la exactitud de los datos. De esta forma, la red responde rápidamente ante cualquier actividad maliciosa o inexactitud.

Dentro de las cadenas de bloques de criptomonedas, los nodos pueden asumir diferentes responsabilidades. Por ejemplo, los nodos completos (nodos completos) garantizan la seguridad de la red validando las transacciones según las reglas de consenso establecidas del sistema.

Cada nodo completo mantiene una copia actualizada de la cadena de bloques, lo que le permite participar en un esfuerzo colectivo para verificar el verdadero estado del libro mayor distribuido. Sin embargo, cabe señalar el hecho de que no todos los nodos completos son mineros.


Ventajas

La arquitectura peer-to-peer de blockchain ofrece muchos beneficios a los usuarios. Uno de los más importantes es que este tipo de redes proporcionan mayor seguridad que un dispositivo cliente-servidor tradicional. La distribución de datos en la cadena de bloques entre una gran cantidad de nodos hace que la red sea prácticamente inmune a los ataques de denegación de servicio (DoS) que afectan a la mayoría de los sistemas.

Dado que la mayoría de los nodos deben llegar a un consenso antes de agregar datos a la cadena de bloques, es prácticamente imposible que un atacante realice cambios. Y esto es realmente cierto cuando se trata de una red grande como Bitcoin. Las cadenas de bloques más pequeñas son más susceptibles a los ataques porque una entidad o grupo de individuos puede eventualmente obtener el control de la mayoría de los nodos (también conocido como ataque del 51%).

Como resultado, una red distribuida peer-to-peer, combinada con el consenso obligatorio de la mayoría de los participantes, proporciona a las cadenas de bloques un grado relativamente alto de resistencia a la actividad maliciosa. El modelo P2P es una de las razones por las que Bitcoin (y otras cadenas de bloques) han podido alcanzar la llamada tolerancia a fallos bizantinos.

Además de la seguridad, el uso de la arquitectura peer-to-peer en las cadenas de bloques de criptomonedas también las hace resistentes a la censura por parte de las autoridades centrales. A diferencia de las cuentas bancarias estándar, el gobierno no puede congelar ni cancelar las billeteras de criptomonedas. Esta resiliencia también se extiende a la censura de las plataformas privadas de procesamiento de pagos y publicación de contenidos. Algunos creadores de medios y vendedores en línea han comenzado a utilizar criptomonedas para evitar que terceros bloqueen sus pagos.


Defectos

A pesar de las muchas ventajas, las redes peer-to-peer también tienen ciertas desventajas.

Dado que los libros de contabilidad distribuidos deben actualizarse en cada nodo en lugar de en un servidor central, agregar transacciones a la cadena de bloques requiere una gran cantidad de recursos informáticos. Si bien esto proporciona una mayor seguridad, a su vez reduce significativamente la agilidad operativa, que es uno de los principales obstáculos cuando se trata de escalabilidad y adaptación a gran escala. Sin embargo, los criptógrafos y los desarrolladores de blockchain están explorando alternativas que puedan usarse como solución para aumentar la escalabilidad. Ejemplos notables incluyen Lightning Network, Ethereum Plasma y el protocolo Mimblewimble.

Otro posible inconveniente se relaciona con los ataques que pueden ocurrir durante una bifurcación dura. Dado que la mayoría de las cadenas de bloques son descentralizadas y de código abierto, los grupos de nodos pueden copiar y modificar libremente el código y luego separarse de la cadena principal para formar una nueva red paralela. Las bifurcaciones duras son un evento completamente normal, que en sí mismo no representa ninguna amenaza. Sin embargo, si no se siguen correctamente ciertas medidas de seguridad, ambas cadenas pueden volverse vulnerables a un ataque de repetición.

Además, la naturaleza distribuida de las redes P2P las hace relativamente difíciles de monitorear y regular, no solo en el espacio blockchain. Debido a esto, varias aplicaciones y empresas P2P han sido vinculadas a actividades ilegales e infracción de derechos de autor.


Conclusión

La arquitectura peer-to-peer se puede desarrollar y utilizar de diferentes maneras, pero es la base de todas las cadenas de bloques y hace posible las criptomonedas. Al distribuir libros de transacciones entre grandes nodos de red, la tecnología P2P garantiza seguridad, descentralización y resistencia a la censura.

Además de su utilidad para la tecnología blockchain, los sistemas P2P también pueden servir para otras aplicaciones informáticas distribuidas, desde redes de intercambio de archivos hasta plataformas de comercio de energía.