¿Qué es Peer-to-Peer (P2P)?
En informática, una red peer-to-peer (P2P) consta de un grupo de dispositivos que almacenan y comparten archivos colectivamente. Cada participante (nodo) actúa como un par individual. Todos los nodos tienen las mismas capacidades y trabajan en la misma tarea.
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. Una plataforma P2P permite a compradores y vendedores realizar transacciones sin necesidad de intermediarios. En algunos casos, las páginas web también pueden proporcionar un entorno P2P que conecta a los proveedores de fondos y a los prestatarios.
La arquitectura P2P se puede utilizar de muchas maneras, pero fue especialmente popular en la década de 1990, cuando se crearon los primeros programas para compartir archivos. Hoy en día, las redes P2P son el núcleo de las criptomonedas y dominan la mayoría de las áreas de la industria blockchain. Sin embargo, también se aprovecha en otras aplicaciones informáticas distribuidas, incluidos motores de búsqueda web, plataformas de transmisión por secuencias, mercados en línea y el protocolo web InterPlanetary File System (IPFS).
¿Cómo funciona el P2P?
En esencia, los sistemas P2P son gestionados por una red distribuida de usuarios. Normalmente, estos sistemas no tienen un administrador o servidor central porque cada nodo contiene una copia de los archivos, actuando como cliente y servidor para otros nodos. Por lo tanto, cada nodo puede descargar o cargar archivos desde y hacia otros nodos. Esto es lo que diferencia las redes P2P de los sistemas cliente-servidor más tradicionales, donde los dispositivos cliente descargan archivos desde un servidor centralizado.
En una red P2P, los dispositivos conectados comparten archivos almacenados en el hardware. Utilizando aplicaciones de software diseñadas para mediar en el intercambio de datos, los usuarios pueden pedir a otros dispositivos en la red que busquen y descarguen archivos. Cuando un usuario ha descargado el archivo en cuestión, ese usuario puede actuar como fuente del archivo.
En otras palabras, cuando un nodo actúa como cliente, descarga archivos de otros nodos de la red. Pero cuando actúan como servidores, estos nodos se convierten en fuentes desde las cuales otros nodos pueden descargar archivos. Pero en la práctica, ambas funciones se pueden ejecutar al mismo tiempo (por ejemplo, descargar el archivo A y cargar el archivo B).
Debido a que cada nodo almacena, transmite y recibe archivos, las redes P2P tienden a ser más rápidas y eficientes a medida que crece la base de usuarios. Además, la arquitectura distribuida hace que los sistemas P2P sean altamente resistentes a los ciberataques. A diferencia de los modelos tradicionales, las redes P2P no tienen un único punto de falla.
Podemos categorizar los sistemas peer-to-peer según su arquitectura. Los tres tipos principales son redes P2P no estructuradas, estructuradas y mixtas (híbridas).
Las redes P2P no están estructuradas
Las redes P2P no estructuradas no muestran la organización específica de los nodos. Los participantes se comunican aleatoriamente entre sí. Se considera que el sistema es robusto contra actividad altamente volátil (por ejemplo: algunos nodos se unen y abandonan con frecuencia la red).
Aunque son más fáciles de construir, las redes P2P no estructuradas pueden requerir un mayor uso de CPU y memoria porque las solicitudes de búsqueda se envían a tantos pares como sea posible. Esto tiende a inundar la red con solicitudes, especialmente si un pequeño número de nodos ofrecen el contenido deseado.
Red P2P estructurada
Por el contrario, las redes P2P estructuradas representan 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 las búsquedas en bases de datos.
Si bien las redes estructuradas pueden ser más eficientes, tienden a presentar un mayor grado de centralización y, por lo general, también requieren mayores costos de instalación y mantenimiento. Además, las redes estructuradas son menos sólidas cuando se enfrentan a altos niveles de volatilidad.
Red P2P mixta
Las redes P2P mixtas combinan el modelo cliente-servidor convencional con algunos aspectos de una arquitectura peer-to-peer. Por ejemplo, estas redes pueden diseñar un servidor central que facilite las conexiones entre pares.
En comparación con los otros dos tipos, los modelos híbridos/mixtos tienden a mostrar un rendimiento general mejorado. Estas redes suelen combinar algunas de las ventajas clave de cada enfoque, logrando un nivel de eficiencia y descentralización simultáneamente.
Distribuido versus distribuido no centrado
Aunque las arquitecturas P2P están inherentemente distribuidas, 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 guiar 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 consultas de búsqueda.
Además, también se puede decir que las redes pequeñas controladas por una base de usuarios limitada con un objetivo común tienen un mayor grado de centralización, a pesar de la falta de una infraestructura de red centralizada.
El papel del P2P en Blockchain
En las primeras etapas de Bitcoin, Satoshi Nakamoto lo definió como un "sistema de efectivo electrónico entre pares". Bitcoin fue creado como una forma de dinero digital. Se puede transferir de un usuario a otro a través de una red P2P, que mantiene un libro de contabilidad distribuido llamado blockchain.
En este contexto, la arquitectura P2P inherente a la tecnología blockchain es la que permite transferir Bitcoin y otras criptomonedas alrededor del mundo, sin necesidad de intermediarios ni servidores centrales. Además, cualquiera puede configurar un nodo Bitcoin si quiere participar en el proceso de verificación y validación de bloques.
Por lo tanto, no existen bancos que procesen o registren transacciones en la red Bitcoin. En cambio, 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 cadena de bloques y la compara con otros nodos para garantizar que los datos sean precisos. La red rechaza rápidamente actividades sospechosas o inexactas.
En el contexto de una cadena de bloques de criptomonedas, los nodos pueden asumir una variedad de funciones diferentes. Los nodos completos, por ejemplo, son aquellos que brindan seguridad a la red al verificar las transacciones con las reglas de consenso del sistema.
Cada nodo completo almacena una copia completa y actualizada de la cadena de bloques, lo que le permite participar en el trabajo colectivo de verificar el verdadero estado del libro mayor distribuido. Cabe señalar que no todos los nodos que validan completamente son mineros.
Ganancia
La arquitectura blockchain peer-to-peer ofrece muchos beneficios. Entre los más importantes está el hecho de que las redes P2P ofrecen mayor seguridad que las configuraciones tradicionales cliente-servidor. La distribución de blockchain en una gran cantidad de nodos la hace inmune a los ataques de denegación de servicio (DoS) que afectan a muchos sistemas.
Del mismo modo, debido a que la mayoría de los nodos deben establecer un consenso antes de agregar datos a la cadena de bloques, es casi 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 vulnerables a los ataques porque es probable que una persona o grupo pueda controlar la mayoría de los nodos (esto se conoce como ataque del 51 por ciento).
Como resultado, las redes distribuidas de igual a igual, junto con los requisitos de consenso mayoritario, hacen que las cadenas de bloques tengan 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) pueden lograr lo que se llama tolerancia a fallas bizantinas.
Más allá 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, el gobierno no puede congelar ni vaciar las billeteras de criptomonedas. Esta resistencia también se extiende a los esfuerzos de censura con plataformas de contenido y procesamiento de pagos privados. Algunos creadores de contenido y comerciantes en línea están adoptando pagos con criptomonedas como una forma de evitar que terceros bloqueen sus pagos.
Limitaciones
Si bien tiene muchas ventajas, el uso de redes P2P en blockchain también tiene ciertas limitaciones.
Debido a que el libro mayor distribuido debe actualizarse en cada nodo, no en un servidor central, agregar transacciones a la cadena de bloques requiere una gran cantidad de potencia informática. Si bien esto proporciona una mayor seguridad, reduce en gran medida la eficiencia y es uno de los principales obstáculos en términos de escalabilidad y adopción generalizada. No obstante, los criptógrafos y los desarrolladores de blockchain están investigando alternativas que puedan usarse como soluciones de escalamiento. Ejemplos notables incluyen Lightning Network, Ethereum Plasma y el protocolo Mimblewimble.
Otra posible limitación se relaciona con los ataques que pueden surgir durante la actividad 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 son libres de copiar y modificar el código y separarse de la cadena principal para formar nuevas redes paralelas. Las bifurcaciones duras son completamente normales y no representan una amenaza. Pero si ciertos métodos 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 entornos blockchain. Algunas aplicaciones y empresas P2P están involucradas en actividades ilegales y violaciones de derechos de autor.
Cubrir
La arquitectura peer-to-peer se puede desarrollar y utilizar de diversas formas y es el núcleo de la cadena de bloques que hace posibles las criptomonedas. Al distribuir un libro de transacciones a través de una gran red de nodos, la arquitectura P2P ofrece seguridad, descentralización y resistencia a la censura.
Además de su uso en la tecnología blockchain, los sistemas P2P también pueden servir para otras aplicaciones informáticas distribuidas, desde redes para compartir archivos hasta plataformas de comercio de energía.

