¿Qué significa peer-to-peer (P2P)?
En la tecnología enfocada a finanzas, el término peer-to-peer habitualmente alude al intercambio de criptomonedas o activos digitales a través de una red distribuida. Las plataformas P2P permiten a los compradores y vendedores ejecutar operaciones sin necesidad de intermediarios. En algunos casos, páginas web pueden proporcionar también un entorno P2P que conecte a prestamistas y prestatarios.
La arquitectura P2P puede resultar adecuada para varios casos de uso, pero se hizo especialmente popular en los 90, cuando los primeros programas de compartición de archivos fueron creados. En la actualidad, las redes P2P sirven de base de la mayoría de criptomonedas, y conforman gran parte de la industria blockchain. Sin embargo, también se aprovechan en otras aplicaciones informáticas distribuidas, entre las que se encuentran los motores de búsqueda web, las plataformas de streaming, los marketplaces online y el protocolo web InterPlanetary File System (IPFS).
¿Cómo funciona un sistema P2P?
En esencia, los sistemas P2P son mantenidos por redes distribuidas de usuarios. Habitualmente, no disponen de un administrador o servidor central, porque cada nodo dispone de una copia de los archivos -actuando tanto como cliente y servidor para el resto de nodos. Así, cada nodo puede descargarse archivos de otros nodos, o subir archivos a los mismos. Esto es lo que diferencia a las redes P2P de los sistemas cliente-servidor más tradicionales, en los que los dispositivos cliente descargan los archivos de un servidor centralizado.
En las redes P2P, los dispositivos conectados comparten archivos que se encuentran almacenados en sus discos duros. Empleando aplicaciones de tipo software diseñadas para mediar en la compartición de datos, los usuarios pueden realizar consultas (query) a otros dispositivos de la red para encontrar y descargar archivos. A partir del momento en que un usuario haya descargado un archivo concreto, podrá actuar como fuente del mismo.
En otras palabras, cuando un nodo actúe como cliente, descargará archivos de otros nodos de la red. Mientras que cuando funcione como servidor, se convertirá en la fuente desde la que otros nodos podrán descargar los archivos. En la práctica, sin embargo, ambas funciones pueden llevarse a cabo de forma simultánea (por ejemplo, descargando el archivo A y subiendo el B).
Dado que cada nodo almacena, transmite y recibe archivos, las redes P2P tienden a volverse más rápidas y eficientes a medida que su base de usuarios crece. 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 presentan un single point of failure (punto único de fallo).
Podemos categorizar los sistemas peer-to-peer de acuerdo a su arquitectura. Los tres tipos principales de redes P2P se denominan: no estructuradas, estructuradas e híbridas.
Redes P2P no estructuradas
Las redes P2P no estructuradas no presentan ninguna organización específica de los nodos. Los participantes se comunican entre sí de forma aleatoria. Estos sistemas se consideran robustos frente a la actividad de alta rotación (es decir, cuando múltiples nodos se unen o abandonan la red de manera frecuente).
A pesar de que son más fáciles de construir, las redes P2P no estructuradas pueden requerir un mayor uso de CPU y memoria, porque las consultas de búsqueda (search queries) se envían al mayor número de pares posible. Esto tiende a inundar la red de consultas, especialmente, si sólo un pequeño número de nodos ofrece el contenido deseado.
Redes P2P estructuradas
A pesar de que las redes estructuradas pueden ser más eficientes, tienden a presentar niveles más elevados de centralización y, habitualmente, mayores costes de instalación y mantenimiento. Aparte de eso, las redes estructuradas son menos robustas frente a tasas de rotación altas.
Redes P2P híbridas
Las redes P2P híbridas combinan el modelo cliente-servidor convencional con algunos aspectos de la arquitectura peer-to-peer. Por poner un ejemplo, pueden designar un servidor central que facilite la conexión entre pares.
En comparación con los otros dos tipos, los modelos híbridos tienden a presentar un rendimiento general mejorado. Habitualmente, combinan algunas de las ventajas principales de cada enfoque, lo que les permite alcanzar grados significativos de eficiencia y descentralización de forma simultánea.
Distribuido vs. descentralizado
A pesar de que la arquitectura P2P es, de forma inherente, distribuida, resulta importante señalar que existen diversos grados de descentralización. Así, no todas las redes P2P son descentralizadas.
De hecho, muchas dependen de una autoridad central que guía la actividad de la red, lo que hace que sean, en cierta medida, sistemas centralizados. Por ejemplo, algunos sistemas de compartición de archivos P2P permiten a los usuarios buscar y descargar archivos de otros pares, pero son incapaces de participar en otros procesos, como por ejemplo, la gestión de consultas de búsqueda (search queries).
Además, el grado de centralización de las redes pequeñas, controladas por una base de usuarios limitada y con objetivos compartidos, puede considerarse mayor, a pesar de carecer de una infraestructura de red centralizada.
El rol de P2P en Blockchains
Por lo tanto, no hay bancos que procesen o registren transacciones en la red Bitcoin. En cambio, la blockchain actúa como un libro de contabilidad digital que registra públicamente toda la actividad. Básicamente, cada nodo contiene una copia de la blockchain y la compara con otros nodos para garantizar que los datos sean precisos. La red rechaza rápidamente cualquier actividad maliciosa o inexactitud.
Ventajas
Más allá de la seguridad, el uso de la arquitectura P2P en blockchains 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 drenar los monederos de criptomonedas. Esta resistencia también se extiende a los esfuerzos de censura por parte del procesamiento de pagos privados y las plataformas de contenido. Algunos creadores de contenido y comerciantes en línea adoptaron pagos de criptomonedas como una forma de evitar que terceros bloqueen sus pagos.
Limitaciones
A pesar de sus muchas ventajas, el uso de redes P2P en blockchains también tiene ciertas limitaciones.
Además, la naturaleza distribuida de las redes P2P las hace relativamente difíciles de controlar y regular, no solo en el nicho de blockchain. Varias aplicaciones y empresas P2P se involucraron con actividades ilegales e infracciones de derechos de autor.
En conclusión
La arquitectura peer-to-peer se puede desarrollar y usar de muchas maneras diferentes, y es el núcleo de las blockchain que hacen posibles las criptomonedas. Al distribuir los libros de transacciones en grandes redes de nodos, la arquitectura P2P ofrece 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 a otras aplicaciones informáticas distribuidas, que van desde redes de intercambio de archivos hasta plataformas de trading de energía.