P2P
Una red entre pares o P2P (del inglés “peer-to-peer”), es una red donde un grupo de personas o dispositivos pueden almacenar y compartir información entre sí de forma colectiva. De aquí en adelante nos referiremos a ellos como nodos.
Toda la estructura está construida sobre la base del principio de igualdad entre los participantes, por lo que dichos nodos actúan de forma autónoma y por lo general tienen el mismo poder y ejecutan las mismas tareas que el resto. De esta forma, los integrantes de la red pueden intercambiar información de forma directa y sin intermediarios. Cabe destacar que aunque la arquitectura P2P es, de forma inherente, distribuida, existen diversos grados de descentralización. Así, no todas las redes P2P son descentralizadas.
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 compradores y vendedores.
¿Cómo funciona?
Las redes P2P se construyen sobre protocolos (lenguajes) que se ejecutan sobre los protocolos de Internet. Esto significa que los protocolos P2P necesitan el uso de otros protocolos “base” para poder funcionar, aunque al mismo tiempo, esta "necesidad", los hace más sencillos de construir y hacer funcionar.
En esencia, las redes P2P son mantenidas 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 descargar o subir archivos de o hacia otros nodos. Esto es lo que los diferencia de los sistemas cliente-servidor más tradicionales, en los que los dispositivos cliente descargan los archivos de un servidor centralizado. Es decir, cualquier nodo puede funcionar como cliente y servidor a la vez. Cuando actúe como cliente puede descargar información de otros archivos de la red, mientras que cuando actúe como servidor, se convertirá en la fuente de la cual otros nodos podrán descargar archivos.
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 y adicionalmente gracias a su arquitectura distribuida hace que sean muy resistentes a los ciberataques.
Resumen de Historia y Evolución
Con respecto a su evolución, podemos decir que en un principio, (aproximadamente en 1980), el funcionamiento de la primera red p2p constó simplemente de una máquina que realizaba una llamada de conexión (por marcación) usando un modem, a otra máquina destino, y así podían compartir información punto-a-punto sin intermediarios. Al terminar la llamada de conexión, el usuario podía dar inicio a otra conexión con otra máquina comenzando el proceso nuevamente.
Con la llegada al mundo del protocolo TCP/IP en 1983, se flexibilizó la creación de grandes redes globales y al día de hoy, se utilizan en finanzas, entrega de contenido, compartimiento de archivos, motores de búsqueda multimedia, etcétera.
Tipos de Redes P2P
Las redes P2P pueden clasificarse en base a su grado de centralización o de estructura.
Según su grado de Centralización
Centralizadas
La comunicación se realiza mediante un único servidor que sirve de punto de enlace y a la vez almacena y distribuye los nodos donde se almacenan los contenidos.
Poseen una administración muy dinámica y una disposición más permanente de contenido. Sin embargo, está muy limitada en la privacidad de los usuarios y en la falta de escalabilidad, además de ofrecer problemas en puntos únicos de fallo, situaciones legales y enormes costos en el mantenimiento, así como el consumo de ancho de banda.
Semi-Centralizadas
Existe un servidor central que sirve como hub y administra los recursos de banda ancha, enrutamientos y comunicación entre nodos pero sin saber la identidad de cada nodo y sin almacenar información alguna. Se caracteriza por la posibilidad de poder incorporar más de un servidor que gestione los recursos compartidos, pero también, en caso de que el servidor o los servidores que gestionan todo caigan, el grupo de nodos puede seguir en contacto a través de una conexión directa entre ellos mismos, con lo que es posible seguir compartiendo información en ausencia de los servidores.
Descentralizadas
Son las más comunes y versátiles. Al no requerir un gestionamiento central de ningún tipo, los mismos nodos se conectan entre sí y almacenan la información. Los mismos usuarios como nodos de esas conexiones y también como almacenadores de esa información. Esto lo convierte en el más robusto (y económico) de los modelos. La principal desventaja es el elevado tiempo y sobrecarga de ancho de banda que suponen las búsquedas de información en la red.
En cuanto a su Estructura
Estructuradas
Estas presentan una arquitectura organizada, que permite a los nodos buscar archivos de forma eficiente, incluso cuando el contenido no presenta una amplia difusión.
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 costos de instalación y mantenimiento.
No Estructuradas
En estas redes, los nodos no presentan ninguna organización específica. Los nodos se comunican entre sí de forma aleatoria.
Aunque estas redes p2p no estructuradas son más fáciles de construir, pueden requerir un mayor uso de CPU y memoria, porque las consultas de búsqueda 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.
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.
El rol de P2P en la Tecnología Blockchain
La arquitectura P2P es inherente a la tecnología blockchain. Mediante este sistema, diferentes personas de todo el mundo pueden intercambiar criptomonedas u otros activos a través de una red P2P que gestiona un libro mayor distribuido llamado blockchain sin la necesidad de intermediarios ni ningún ente central.
La blockchain actúa como un libro de contabilidad digital que registra públicamente toda la actividad. Cada nodo contiene una copia de la blockchain y la compara con otros nodos para garantizar que los datos sean precisos y así automáticamente rechazar cualquier actividad maliciosa o inexactitud.
En el contexto de las blockchains de criptomonedas, los nodos pueden asumir una variedad de roles diferentes. Los nodos completos, por ejemplo, son los que proporcionan seguridad a la red al verificar las transacciones con las reglas de consenso del sistema.
Ventajas y Desventajas de esta tecnología
Ventajas
- Resistencia a la censura. Una red P2P altamente descentralizada es prácticamente imposible de censurar.
- Seguridad. Dado que la mayoría de los nodos deben establecer un consenso antes de agregar datos a una blockchain, es casi imposible que un atacante altere los datos.
- Resiliencia. Si un nodo cae, otro nodo puede tomar su lugar. Aún ante una catástrofe, si un solo nodo sobrevive, la red puede reconstruirse por completo.
- Escalabilidad. Las redes P2P pueden llevar a soluciones de escalabilidad potentes para presentar servicios únicos con alcance global.
- Confianza. Al no depender de entidades centrales, las P2P generan más confianza en sus usuarios.
- Alto nivel de ancho de banda. Esto gracias a que aprovechan el ancho de banda de cada participante para transformarlo en propio de la red.
- Transmición de cualquier tipo de información digital. Desde tu canción favorita a cientos de millones de dólares, en segundos.
Desventajas
- Posible falta de anonimato. Una red P2P es resistente a la censura, pero no te hace anónimo a menos que esté diseñada para ello, incluso, si esa red usa cifrado.
- Mayor red mayor latencia. Para que una información llegue a todas las partes que forma la red, se tomará más tiempo en una red P2P de gran tamaño que en una de menor tamaño.
- Problemas estructurales. Como todos los nodos están conectados todo el tiempo de forma pública, los protocolos son susceptibles a ataques de enrutamiento o de control de nodos.
- Ataques durante eventos de Hard Fork. Como la mayoría de las blockchains son descentralizadas y de código abierto, los grupos de nodos pueden copiar y modificar el código y separarse de la cadena principal para formar una nueva red paralela.
Conclusión
La arquitectura P2P se puede desarrollar y usar de muchas maneras diferentes, y es el núcleo de las blockchain que hacen posibles la criptoeconomía en general.
Al distribuir los libros de transacciones en grandes redes de nodos, la arquitectura P2P ofrece seguridad, descentralización y resistencia a la censura.
Referencias
https://es.wikipedia.org/wiki/Peer-to-peer
https://academy.bit2me.com/que-es-una-red-p2p/
https://academy.binance.com/es/articles/peer-to-peer-networks-explained