¿Qué es una red P2P?

Las redes Peer to Peer o bien P2P son un género de redes descentralizadas. Redes que están formadas por cientos e inclusive millones de ordenadores situados en el mundo entero. Todas y cada una marchando bajo un mismo protocolo de comunicaciones, con el propósito de crear una gran red para compartir información de cualquier clase.

Una red P2P, o bien peer-to-peer, es una red donde un conjunto de personas o bien máquinas participan de forma absolutamente descentralizada. Esto es, es una red donde no hay un punto central de conexión o bien control, y donde las partes actúan de forma autónoma respondiendo a un protocolo de comunicaciones y acuerdo común. De esta manera, los miembros de la red pueden intercambiar información de manera directa y sin intercesores.

Para conseguir este funcionamiento, las redes Peer to Peer se edifican sobre protocolos que se ejecutan sobre los protocolos de Internet (asimismo conocido como TCP/IP). De allá que, a los protocolos Peer to Peer se le denomine protocolos de aplicación o bien Layer 7, conforme el modelo Open Systems Interconnection o bien OSI. Esto quiere decir que los protocolos Peer to Peer precisan para su funcionamiento, el empleo de otros protocolos más abstractos a los fines de poder marchar, mas que, al tiempo, los hace más fáciles de edificar y hacer marchar.

Gracia a esto, los protocolos Peer to Peer, han sido extensamente empleados desde su creación para diferentes usos. Ciertos legales, otros un tanto grises, mas a pesar de ello, hay una cosa clarísima, los protocolos Peer to Peer son muy potentes y dejan la creación de estructuras descentralizadas, difícilmente censurables y de empleo libre. Por esa razón, criptomonedas como Bitcoin fueron construidas sobre la base de protocolos Peer to Peer.

Dicho esto, conozcamos un tanto más sobre estos protocolos y su evolución.

Origen y también historia del P2P

El origen de la primera red Peer to Peer, la podemos rastrear hasta la creación del protocolo UUCP o bien Unix to Unix Copy Protocol, en el año mil novecientos ochenta. Este fácil protocolo dio origen a la bien conocida red USENET y, a los BBS, redes que en nuestros días todavía se hallan activas y marchando. Un buen ejemplo de esto es, la BBS EfectoLinux, la cuál todavía está activa para los nostálgicos de este sistema de comunicación.

El principio de funcionamiento de estos sistemas es sencillo: la máquina efectuaba una llamada de conexión (conexión por marcación) utilizando un módem, se comunicaba con la trama destino, y podían compartir información punto-a-punto sin intermediarios. Al finalizar la llamada de conexión, el usuario podía dar comienzo a otra conexión con otra máquina empezando el proceso de nuevo. Vale resaltar que, todo esto era posible sin una estructura como la del Internet que conocemos el día de hoy, una red y tecnología que para ese entonces todavía estaba en desarrollo.

En su instante, USENET y el protocolo UUCP fueron la cima de las comunicaciones. En verdad, el movimiento cypherpunk comenzó con el empleo de este protocolo. Personajes como Saint Jude, Eric Hughes, Timothy C. May, David Chaum, utilizaban estos sistemas para compartir información en los tablones BBS de la comunidad Cypherpunks. Eran los primeros años de la computación, y en ese instante, ya se atisbaba mucho de las posibilidades futuras de este género de protocolos y de computadores considerablemente más potentes y capaces.

Más tarde, en mil novecientos ochenta y tres, llegó al planeta el protocolo TCP/IP. Esencialmente, este nuevo protocolo procuraba flexibilizar la creación de grandes redes globales, en verdad, es la base de construcción de lo que el día de hoy conocemos como Internet. Esto último, se hizo verdaderamente posible cuando se estableció el sistema o bien modelo OSI (definiendo las 7 capas de abstracción que contamos en la actualidad en Internet) en mil novecientos ochenta y nueve y, por último, con la llegada del protocolo WWW (WWW) en mil novecientos noventa.

Tipos de redes P2P

Entre las clases de redes Peer to Peer existentes podemos precisar los siguientes:

  • Red descentralizada y estructurada. Esta clase de redes son conocidas como redes Peer to Peer híbridas. En esta clase de redes no hay un directorio en un servidor central, sino en su sitio existen una serie de nodos o bien peers, que tienen la capacidad de percibir solicitudes de información y contestar a exactamente las mismas para facilitar el acceso a los recursos. Para eludir la centralización de esta funcionalidad, los nodos o bien peer singulares pueden ser instalados y configurados por cualquier persona, buscando con esto que exactamente la misma comunidad de usuarios extienda la funcionalidad de la red y deje su adecuado funcionamiento. Un buen ejemplo de este género de redes son las redes federadas como Diaspora o bien Mastodon.
  • Red descentralizada y no estructurada. En este género de redes Peer to Peer no existen ordenadores o bien nodos que funcionen como controladores centrales de solicitudes. Por contra, cada nodo en la red tiene exactamente las mismas funciones que el resto de nodos, con lo que cada nuevo nodo ejercita exactamente la misma autoridad que el resto. En este punto, redes como Bitcoin cumplen con esta peculiaridades, pues cada nodo conectado tiene exactamente las mismas capacidades que el resto.

¿De qué forma marcha una red Peer to Peer?

El funcionamiento de una red Peer to Peer es parcialmente fácil. Esencialmente lo que se hace es edificar un protocolo (lenguaje) de comunicaciones que deje a quienes emplean dicho software comunicarse directamente y sin mediadores con otros computadores. No obstante, el mayor inconveniente en frente de la construcción de estos sistemas es; ¿De qué forma diseñar un sistema que no necesite un directorio centralizado para comunicarse con otros computadores que ejecuten exactamente el mismo software? 

Un inconveniente complejo, mas la situación se puede solucionar de una manera bastante eficaz con 2 medidas bien definidas:

  1. En primer sitio, hacer que el software sea capaz de compartir información de conexión sobre quienes ejecutan exactamente el mismo. De esta forma, cada ordenador que ejecuta el software es capaz de tener un directorio de computadores conectados y servirse de ellos para conectarse al nodo que quiere.
  2. Incentivar la mayor descentralización posible de la red. O sea, hacer que bastantes personas ejecuten el software creando sus nodos, y en consecuencia incrementando el tamaño de la red. De esta forma, se mejora su alcance y las posibilidades de exactamente la misma.

Es decir, cuanto más pares o bien peers (computadores ejecutando el software Peer to Peer) tenga la red, más posibilidades hay de que la red no pueda ser censurada, su funcionamiento va a ser más resistente y, mejores capacidades va a tener exactamente la misma. En los primeros sistemas Peer to Peer, como USENET o bien IRC, los sistemas y sus conexiones se hacían conocer por medios escritos, llamadas, o bien exactamente el mismo sistema que tenía un tablero de pares a los que poder conectarse. De este modo, cada nuevo miembro en internet, tenía acceso a la lista de peers y se auto agregaba a fin de que otros pudiesen establecer comunicación con ellos en el caso de requerirlo. No solo eso, ese nuevo peer podía ser la puerta de entrada a la información de peers que pudiesen bloquearse.

Red de nodos en un sistema Peer to Peer

Pero la creación de redes más grandes como el IRC, DCC, DC++, Napster, Gnutella, BitTorrent e inclusive Bitcoin cambió drásticamente esto. Ahora cada nodo se conectaba a un punto, consiguen una lista de peer iniciales (o bien nodos semillas). Y desde allá, cada nodo es capaz de recrear una lista propia de nodos que pertenecen a la red. Como resultado se consigue una mejor resistencia a la censura y la red puede medrar más velozmente.

Por supuesto, el funcionamiento de cada protocolo es diferente. IRC por poner un ejemplo, es un sistema distribuido (prácticamente centralizado) de servidores que pueden darte la capacidad de conectarte punto a punto con una persona. Mas DC+ y Gnutella, son absolutamente descentralizados, sus redes están concebidas para que de manera automática, la red se ajuste con la entrada y salida de nuevos nodos a la red.

Lo mismo pasa en Bitcoin, donde la red empezó con una sola semilla, la iniciada por Satoshi Nakamoto, y desde ese momento, la red ha ido medrando poco a poco para transformarse en una red con un tamaño superior a los 10 mil nodos en activos. Naturalmente, la meta de Bitcoin es diferente al de una red como Gnutella, mas los principios del protocolo se mantienen: comunicar a 2 partes sin mediadores.

Bitcoin y sus nodos en el planeta

Ventajas y Desventajas de esta tecnología

Ventajas

  1. Una red Peer to Peer es resistente a la censura. Una red Peer to Peer enormemente descentralizada es casi imposible de censurar.
  2. Ofrecen un resiliencia incomparable. Si un nodo cae, otro nodo puede tomar su sitio. De ahí que afirman que las redes Peer to Peer pueden subsistir a una catástrofe nuclear, pues estas pueden destruir muchos nodos, mas si solo uno subsiste, la red puede reconstruirse por completo.
  3. Las redes Peer to Peer pueden llevar a soluciones de escalabilidad potentes para presentar servicios únicos con alcance global.
  4. Al no depender de entidades centrales, las Peer to Peer producen más confianza en sus usuarios. 
  5. Ofrecen un nivel alto de ancho de banda. Esto merced a que aprovechan el ancho de banda de cada participantes, para convertirlo en propio de la red.
  6. Sirven para trasmitir información digital de cualquier tipo. Desde tu canción preferida a cientos y cientos de millones de dólares estadounidenses, en segundos.

Desventajas

  1. Una red Peer to Peer es resistente a la censura, mas no te hace anónimo salvo que esté desarrollada para esto, aun, si esa red utiliza cifrado. El mejor ejemplo es BitTorrent, donde los ISP pueden advertir el empleo del protocolo, y con esto advertir a las autoridades de la descarga ilegal por la parte de un usuario.
  2. El diseño de las redes Peer to Peer producen que a mayor tamaño aumente la latencia. O sea, a fin de que una información llegue a todas y cada una de las partes que forma la red, se va a tomar más tiempo en una red Peer to Peer de importante tamaño que en una de menor tamaño. De allá que se procuren nuevos algoritmos y protocolos que asistan a superar este inconveniente.
  3. Los protocolos Peer to Peer tienen una serie de inconvenientes estructurales conocidos. Casos como los ataques MITM para tomar el control de nodos, debido a que estos han de estar conectados todo el tiempo de forma pública son uno de estos fallos. Asimismo los protocolos son susceptibles a ataques de enrutamiento o bien cosas tan silenciosas como un ataque Eclipse o bien un ataque Erebus.

Bitcoin, una red Peer to Peer para manejar valor

Bitcoin es una de las redes Peer to Peer más grandes que existen hoy en día, con sus más de 10 mil nodos activos,Bitcoin es una red global que deja a sus usuarios manejar valor sin mediadores. Lo único que debe hacerse es descargar un software que deje interaccionar con esta red, y ya vas a poder hacer empleo de exactamente la misma.

La construcción de Bitcoin como una red Peer to Peer responde a la necesidad de descentralizar sus capacidades. De nada sirve crear una moneda con criptografía, si esta entonces es manejada por una entidad central. Eso sería sencillamente crear un nuevo banco central. En su sitio, Satoshi Nakamoto deseaba una red global, incensurable, segura y privada que dejara manejar valor. Con lo que para esto, Nakamoto diseño Bitcoin sobre la base de una red Peer to Peer utilizando un protocolo propio desarrollado bajo los principios del protocolo Kademlia y protocolo Gossip.

El resultado, es que Bitcoin es una red Peer to Peer que, prácticamente, no se puede detener. Aun con sus fallas estructurales, el protocolo Peer to Peer fue la mejor resolución que Nakamoto pudo tomar en el diseño de Bitcoin. Con esto se aseguró de crear un dinero digital que sirviese a los intereses del planeta y de sus usuarios.

P2P para solucionar los inconvenientes del dinero digital

Lo mejor de todo, es que Bitcoin con su sistema Peer to Peer ha conseguido crear un sistema de contabilidad distribuido en el que inconvenientes como el doble gasto son cosas del pasado. El doble gasto, era uno de los inconvenientes primordiales del dinero digital. La posibilidad de duplicar el dinero y falsificarlo, era algo que no había tenido solución hasta el momento en que Satoshi Nakamoto diseño la blockchain y su protocolo Peer to Peer para Bitcoin.

Desde entonces somos capaces de utilizar criptomonedas con toda seguridad a sabiendas de que nuestro dinero no solo está en un protocolo abierto, transparente y libre, sino asimismo nunca va a poder ser falsificado. Y todo ello por el hecho de que cada nodo tiene un historial de transacciones de la red, siendo testigo de cada operación en exactamente la misma. Esta enorme red de testigos, continúa como un registro inmodificable de todo lo que pasa y nos da la seguridad de que el sistema no es manipulable.

Algo verdaderamente útil y que deja convertir a Bitcoin en un dinero digital seguro, el más seguro y transparente de todos.

¿Cuánto sabes, criptonauta?

¿Las redes Peer to Peer por si acaso mismas garantizan nuestra privacidad y anonimato?

Otros acontecimientos esenciales en el origen de P2P

El nacimiento del IRC

En mil novecientos ochenta y ocho, un joven llamado Jarkko Oikarinen diseñó el protocolo IRC, con el objetivo de sustituir un programa llamado MUT (MultiUser Talk) en un BBS llamado OuluBox en la Universidad de Oulu en Finlandia, donde trabajaba en el Departamento de Ciencia de Procesamiento de Información.

Su pretensión era extender el software BBS que administraba, para permitir noticias al estilo de USENET, discusiones en tiempo real y peculiaridades afines al BBS. La primera parte que incorporó fue la una parte del chat, que hizo con partes prestadas escritas por sus amigos Jyrki Kuoppala y Jukka Pihl. La primera red IRC se estaba ejecutando en un solo servidor llamado tolsun.oulu.fi.

El hecho de que el protocolo fuera desarrollado para utilizar TCP/IP le dio una gran flexibilidad a futuro. En verdad, para mil novecientos noventa se fundaba la primera red IRC de importante tamaño, la EFNet. El papel de EFNet fue vital para las comunicaciones globales a lo largo del enfrentamiento del Golfo Pérsico. En verdad, fue la red preferida para conocer en tiempo real lo que pasaba en el campo de batalla. Mostraba con lo que el potencial de IRC frente al correo era superior, por lo menos en inmediatez y también interactividad  de comunicaciones. Lo mismo ocurrió con la Caída de la Unión Soviética, donde el IRC asimismo fue vital en el papel de comunicar lo que pasaba al planeta en tiempo real.

Desde entonces, el protocolo IRC padeció una gran expansión y aceptación naciendo redes como UnderNet, DALnet, Freenode (muy utilizada para proyectos de software libre), Rizon y también Immortal-Anime (ahora Xertion). La ampliación en su aceptación trajo más desarrollo al protocolo, y de allá nació uno de los primeros sistemas Peer to Peer sobre Internet, el IRC-DCC, o bien IRC Direct Client-to-Client.  El sistema dejaba comunicaciones directas entre las partes sin intercesores, compartir ficheros, comunicación cifrada punto a punto (OTR) y más.

Nacimiento de HotLine Connect

Para mil novecientos noventa y seis, vendría otra creación  en el planeta del Peer to Peer, creada Adam Hinkley. HotLine Connect era una red Peer to Peer para compartir ficheros que emplea un sistema de trackers para dejar que 2 usuarios pudiesen intercambiar información. Muy utilizado hasta finales de dos mil, cayó en desuso merced a la aparición de otros protocolos más flexibles y el esencial ascenso del IRC-DCC.

Gnutella

Gnutella es un desarrollo de red Peer to Peer para compartir ficheros desarrollado en el año dos mil por Justin Frankel y Tom Pepper. Frankel y Pepper eran trabajadores de Nullsoft, la compañía autora del reproductor Winamp y el servicio de streaming de audio Shoutcast.

Desde ese entonces y hasta el momento, Gnutella es la mayor red Peer to Peer que existe en el planeta. En verdad, está red cuenta con más de doce millones de nodos en funcionamiento en el mundo entero.

El nacimiento de Napster

Napster fue un software desarrollado por Shawn Fanning en mil novecientos noventa y ocho y dejaba la descarga de  música de manera gratuita. Aunque Napster no era una red Peer to Peer pura (como el caso asimismo de IRC), dejaba que 2 personas pudiesen intercambiar música sin intercesores externos a los que existían en internet y sus servidores. Mas Napster tocó los bolsillos de la industria musical y tras un largo juicio fue cerrado en el mes de julio de dos mil uno.

Sin embargo, lo que Napster había hecho llamó al planeta a desarrollar sistemas más descentralizados.

bitcoin
Bitcoin (BTC) $ 61,073.00
ethereum
Ethereum (ETH) $ 3,851.63
binance-coin
Binance Coin (BNB) $ 469.93
tether
Tether (USDT) $ 1.00
cardano
Cardano (ADA) $ 2.16
xrp
XRP (XRP) $ 1.13
solana
Solana (SOL) $ 162.80
polkadot
Polkadot (DOT) $ 41.72
usd-coin
USD Coin (USDC) $ 1.00
dogecoin
Dogecoin (DOGE) $ 0.237904