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

En la informática peer-to-peer (P2P), una red (P2P) consta de un grupo de dispositivos que comparten y almacenan archivos juntos. Cada participante (nodo) actúa como un par independiente. Como regla general, todos los nodos tienen la misma potencia y realizan las mismas tareas.

En tecnología financiera, el término "peer-to-peer" generalmente se refiere al intercambio de criptomonedas o activos digitales a través de una red distribuida. La plataforma P2P permite a compradores y vendedores realizar transacciones sin intermediarios. En algunos casos, los sitios web también pueden proporcionar un entorno P2P que conecta a prestamistas y prestatarios.

La arquitectura P2P puede ser adecuada para una variedad de casos de uso, pero se hizo particularmente popular en la década de 1990, cuando se crearon las primeras aplicaciones para compartir archivos. Hoy en día, las redes P2P sustentan la mayoría de las criptomonedas y constituyen una gran parte de la industria blockchain. Sin embargo, también se utilizan en otras aplicaciones informáticas distribuidas, incluidos servicios de búsqueda web, plataformas de transmisión, mercados en línea y el protocolo web InterPlanetary File System (IPFS).


¿Cómo funciona el P2P?

En esencia, el sistema P2P está respaldado por una red distribuida de usuarios. Por lo general, no tienen un administrador o servidor central, ya que cada nodo contiene una copia de los archivos, actuando como cliente y servidor para otros nodos. De esta forma, cada nodo puede descargar archivos de otros nodos o cargar archivos en ellos. Esto es lo que distingue a las redes P2P de los sistemas cliente-servidor más tradicionales, en los que los dispositivos cliente descargan archivos desde un servidor centralizado.

En las redes P2P, los dispositivos conectados intercambian archivos que se almacenan en discos duros. Al utilizar aplicaciones diseñadas para compartir datos, los usuarios pueden solicitar y descargar archivos a otros dispositivos en la red. Una vez que un usuario ha descargado ese archivo, puede ser la fuente de ese archivo.

En otras palabras, cuando los nodos actúan como clientes, descargan archivos de otros nodos de la red. Pero cuando actúan como servidor, son una fuente desde la cual otros sitios web pueden descargar archivos. Sin embargo, en la práctica, ambas funciones se pueden realizar al mismo tiempo (por ejemplo, cargar el archivo A y cargar el archivo B).

A medida que cada nodo almacena, transfiere y recibe archivos, las redes P2P se vuelven más rápidas y eficientes a medida que crece su base de usuarios. Además, su arquitectura distribuida hace que los sistemas P2P sean muy resistentes a los 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: redes P2P no estructuradas, estructuradas e híbridas.


Redes P2P no estructuradas

Las redes P2P no estructuradas no representan ninguna organización particular de nodos. Los participantes se comunican aleatoriamente entre sí. Se considera que estos sistemas son resistentes a una alta actividad de abandono (es decir, varios nodos se unen y abandonan la red con frecuencia).

Aunque las redes P2P no estructuradas son más fáciles de construir, pueden consumir más CPU y memoria porque las búsquedas se envían a tantos pares como sea posible. Esto tiende a sobrecargar la red con solicitudes si un pequeño número de nodos ofrece el contenido deseado.


Redes P2P estructuradas

Por el contrario, las redes P2P estructuradas son arquitecturas organizadas que permiten a los nodos buscar archivos de manera eficiente incluso cuando el contenido no es público. Esto se logra con mayor frecuencia mediante el uso de funciones hash, que facilitan las búsquedas en bases de datos.

Aunque las redes estructuradas pueden ser más eficientes, normalmente tienen un mayor nivel de centralización y suelen requerir mayores costos de instalación y mantenimiento. Además, las redes estructuradas son menos sólidas cuando enfrentan altas tasas de salida.


Redes P2P híbridas

Las redes híbridas P2P combinan el modelo cliente-servidor convencional con algunos aspectos de la arquitectura peer-to-peer. Por ejemplo, gracias a esto, puedes crear un servidor central que simplificará la conexión entre pares.

En comparación con los otros dos tipos, los modelos híbridos han mejorado el rendimiento general. Por lo general, combinan algunas de las principales ventajas de cada enfoque y al mismo tiempo logran un grado significativo de eficiencia y descentralización.


¿Distribución o descentralización?

Aunque la arquitectura P2P está inherentemente distribuida, es importante señalar que existen distintos grados de descentralización. Entonces, no todas las redes P2P están descentralizadas. 

De hecho, muchos sistemas dependen de una autoridad central para gestionar la actividad de la red, lo que los vuelve algo centralizados. Por ejemplo, algunos sistemas de intercambio de archivos P2P permiten a los usuarios buscar y descargar archivos de otros usuarios, pero no pueden participar en otros procesos como la gestión de solicitudes de búsqueda.

Alternativamente, se puede decir que las redes pequeñas controladas por una base limitada de usuarios de propósito general tienen un mayor grado de centralización a pesar de la falta de una infraestructura de red centralizada.


El papel del P2P en las blockchains

En las primeras etapas de Bitcoin, Satoshi Nakamoto lo definió como un “sistema de dinero electrónico entre pares”. Bitcoin fue creado como una forma digital de dinero. Puede transferirse de un usuario a otro a través de una red P2P que gestiona un libro de contabilidad distribuido llamado “blockchain”.

En este contexto, la arquitectura P2P inherente a la tecnología blockchain permite transferir Bitcoin y otras criptomonedas alrededor del mundo sin necesidad de intermediarios ni de un servidor central. Además, cualquiera puede crear un nodo Bitcoin si quiere participar en el proceso de validación y confirmación de bloques.

Por tanto, no existen bancos en la red Bitcoin que procesen o registren transacciones. En cambio, la cadena de bloques actúa como un libro de contabilidad digital que registra públicamente todas las acciones. Básicamente, cada nodo almacena una copia de la cadena de bloques y la compara con otros nodos para garantizar la precisión de los datos. La red rechaza rápidamente cualquier actividad maliciosa o inexacta.

En el contexto de las cadenas de bloques de criptomonedas, los nodos pueden desempeñar muchas funciones diferentes. Los nodos completos, por ejemplo, garantizan la seguridad de la red verificando las transacciones con las reglas de consenso del sistema.

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


Ventajas

La arquitectura peer-to-peer de blockchain ofrece muchas ventajas. Entre los más importantes está el hecho de que las redes P2P brindan mayor seguridad que los mecanismos tradicionales cliente-servidor. La distribución de las cadenas de bloques en una gran cantidad de nodos las hace prácticamente inmunes a los ataques de denegación de servicio (DoS), que sufren muchos 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 cambie los datos. Esto es especialmente cierto en el caso de grandes redes como Bitcoin. Las cadenas de bloques más pequeñas son más propensas a sufrir ataques porque una persona o grupo puede eventualmente hacerse con el control de la mayoría de los nodos (esto se conoce como ataque del 51%).

Como resultado, la red distribuida peer-to-peer, combinada con el requisito de consenso mayoritario, otorga a las cadenas de bloques un nivel 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) pudieron alcanzar la llamada "tolerancia a fallos bizantinos".

Además de la seguridad, el uso de la arquitectura P2P 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, los gobiernos no pueden congelar ni vaciar las billeteras de criptomonedas. Esta resistencia también se extiende a los intentos de censura por parte de plataformas privadas de pago y procesamiento de contenidos. Algunos creadores de contenido y comerciantes en línea han aceptado pagos en criptomonedas para evitar que terceros bloqueen sus pagos.


Limitación

A pesar de las numerosas ventajas, el uso de redes P2P en blockchains también tiene ciertas limitaciones.

Debido a que los libros de contabilidad distribuidos deben actualizarse en cada nodo individual, en lugar de en un servidor central, agregar transacciones a la cadena de bloques requiere una enorme potencia informática. Aunque esto proporciona una mayor seguridad, a su vez reduce significativamente la eficiencia operativa, que es uno de los principales obstáculos cuando se trata de escalabilidad y adopción generalizada. Sin embargo, los criptógrafos y los desarrolladores de blockchain están explorando alternativas que puedan usarse como soluciones de escalamiento. Ejemplos destacados son los protocolos Lightning Network, Ethereum Plasma y Mimblewimble.

Otra posible limitación está relacionada con los ataques que pueden ocurrir durante eventos de bifurcación dura. Debido a que la mayoría de las cadenas de bloques son descentralizadas y de código abierto, los grupos de nodos pueden copiar y modificar el código libremente y separarse de la cadena principal para formar una nueva red paralela. Las bifurcaciones duras son completamente normales y no representan una amenaza en sí mismas. Pero si ciertas prácticas de seguridad no se adoptan adecuadamente, ambas cadenas pueden volverse vulnerables a ataques de repetición.

Además, la naturaleza distribuida de las redes P2P las hace relativamente difíciles de controlar y regular no sólo en la esfera de la cadena de bloques. Varios programas y empresas P2P han estado implicados en actividades ilegales e infracción de derechos de autor.


Resultados

La arquitectura peer-to-peer se puede diseñar y utilizar de muchas maneras diferentes y es la base de las cadenas de bloques que hacen posibles las criptomonedas. Al distribuir libros de transacciones a través de grandes redes de nodos, la arquitectura P2P proporciona seguridad, descentralización y resistencia a la censura.

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