Desde los inicios del Internet con ARPANET en los años 60s siempre se pensó bajo un concepto de cliente-servidor, es decir un(a) usuarix se conecta o comunica con una entidad que brinda un(os) servicio(s) especifico(s) o determinado(s) dentro de una misma infraestructura y en una misma plataforma centralizada.
¿Pero qué tal si además de solicitar aquél servicio(s) dichx usuarix al mismo tiempo también pudiese brindarlo, entregarlo y compartirlo con otrxs? Así nace P2P (Peer-to-Peer, o Par a Par en español). P2P es un modelo de red en donde el/los servicio(s) y la información no se encuentra(n) almacenadx(s), gestionadx(s), controladx(s) y administradx(s) en un único lugar sino que es/son brindadx(s), entregadx(s) y compartidx(s) libremente por todxs quienes lx(s) solicitan, llamándose estxs últimos como «nodos», «pares» o «amigxs», que se refiere a cada usuarix conectado a dicha red. ¿Qué genera esto? Descentralización, no dependemos de un único punto para acceder a la información o el/los servicio(s) requeridx(s).
Si no dependemos de un único punto, porque la información o el/los servicio(s) es/son brindadx(s), entregadx(s) y compartidx(s) por muchos nodos, pares o amigxs siendo almacenadx(s) y alojadx(s) por una cantidad indeterminada de usuarios arbitrarios dentro de la red que también comparten y se comunican mediante la misma, ¿cómo sabemos a quién o en donde solicitar la/el/los susodichx(s) información o servicio(s)? Por la DHT (Distributed Hash Table, o también Tabla de Hash Distribuida en español). La DHT es como el DNS en P2P y consiste en una base de datos distribuida, abierta y compartida libremente por toda la red P2P que le compete y su principal objetivo radica en mantener un registro actualizado de todos lxs usuarixs y nodos conectados con sus respectivas direcciones IP (como es el caso de Torrent y por ello se recomienda el uso de VPN con protocolo UDP en tales situaciones) y la información o el/los servicio(s) que están ayudando a almacenar, alojar, distribuir, brindar, entregar y compartir cada uno de ellxs así como la/el/los información y servicio(s) brindadx(s), entregadx(s) y compartidx(s) por toda la red en disputa, el tipo de material que sea y su peso (memoria virtual en almacenamiento de datos digitales en internet, una computadora o red de ellas). De esa forma, cuando unx(s) usuarix(s) desea(n) solicitar, buscar, conectar, consultar, acceder a o comunicarse con algún(xs) servicio(s) o plataforma(s) determinadx(s), primero consultan a la DHT para saber en donde se encuentra alojado y por quiénes o cuáles nodos el mencionado es compartido, distribuido y servido para toda la red.
¿Y para qué sirve? Según la llamada Triada de Seguridad dentro del campo de la Ciberseguridad o la Seguridad de la Información, dicho modelo garantiza sin lugar a dudas y de manera infalible la integridad y la disponibilidad de la información inclusive aunque el autor original de ésta ya no exista dentro de la mencionada red.
Como podremos apreciar y hemos mencionado anteriormente, tenemos integridad y disponibilidad. ¿Qué nos falta? Confidencialidad. Para ello nace el P2P anónimo y su implementación más conocida es el F2F (Friend-to-Friend, o también Amigo a Amigo en español). El P2P anónimo se trata de una red P2P en donde la dirección IP de cada usuarix es oculta y cifrada para los demás pares, nodos y amigxs de la red, por lo que éstx(s) es conocidx(s) bajo un hash variable, aleatorio por cada vez que se conecta, único para cada usuarix y la(s) información y comunicacion(es) viajan protegida(s) bajo cifrado asimétrico, híbrido, de curva elíptica, en flujo, por bloques y/o E2E (Extreme-to-Extreme, o Extremo a Extremo), por lo cual así no es posible interceptar dicha comunicación, conocer o rastrear a lxs interlocutorxs de la misma u obtener información con detalles y especificaciones de sus equipos. Un ejemplo de esto son las redes obscuras de I2P, CJDNS y Freenet.
Frente a esto, F2F es una implementación del mencionado P2P anónimo que permite una red invisible, indetectable, cerrada, cifrada, privada y anónima en donde solamente pueden ingresar personas bajo autorización previa de lxs participantes de la susodicha y que se encuentren conectadxs a la red mediante un código o clave de acceso o de lo contrario ni siquiera es posible encontrarla ni detectarla ya que es en lo absoluto desconocida para todo el resto de Internet o quienes no participan en ella, como por ejemplo algo similar al P2P privado. En otras palabras, una nueva Internet totalmente cerrada, privada y aislada de la misma, como una VPN (Virtual Private Network, o también Red Privada Virtual), excepto que ésta última no sigue el modelo Par a Par (P2P), sino que por el contrario, funciona y opera bajo una estructura cliente-servidor, por lo que no es una invisible ni indetectable como F2F.
Por otra parte ahora en consecuencia, RetroShare es un cliente F2F que permite conectarse y comunicarse con estas redes cerradas, cifradas, privadas y anónimas, mientras que TOX es un protocolo que implementa el mismo concepto y funcionamiento de F2F, y por consiguiente también de P2P anónimo ya que como sabemos F2F es una implementación del mismo. No obstante, como hemos mencionado, TOX es un protocolo y por tanto requiere de un cliente (interfaz o aplicación de escritorio para interactuar con la plataforma que opera sobre dicho protocolo), del cual existen bastantes que pueden encontrarse en Internet e instalarse de múltiples formas según sea el caso del sistema operativo utilizado. Poniendo todo esto en un metafórico ejemplo, no necesitamos subir la montaña para no accidentarnos en el mar, sino que podemos ir a una isla pudiendo gozar de los detalles y delicias del mar mientras disfrutamos de la seguridad, tranquilidad y privacidad de nuestra isla sin que nadie se entere, pueda vernos ni descubrir en donde nos encontramos o qué hacemos.
En efecto, para instalar los susodichos en disputa, primero nos dirigimos a sus respectivos sitios web de RetroShare y TOX (siguiendo cada hiperenlace, encontrarán la página oficial de los respectivos proyectos en donde, en el caso de TOX, sugieren varios posibles clientes para elegir si no se desea buscar algo personalizado en Internet), donde podemos descargar el binario precompilado como en Windows (RetroShare/qTox para arquitecturas de 32 y 64 bits y uTox para ambas arquitecturas), TOX en Android y iOS, también Mac OSX (Retroshare/qTox y uTox) y algunos casos en GNU/Linux (RetroShare/qTox), o en éste último compilar todo desde 0, como es el caso de RetroShare por ejemplo, y también instalar desde los repositorios, como es el caso de TOX en Debian GNU/Linux (qTox/uTox) y Arch Linux (qTox en el repositorio oficial de la comunidad/qTox en el repositorio de AUR/uTox en el repositorio oficial de la comunidad/uTox en el repositorio de AUR/Toxic en el repositorio oficial de la comunidad/Toxic en el repositorio de AUR/Toxygen en el repositorio de AUR/Ricin en el repositorio de AUR/Venom en el repositorio de AUR/Ratox en el repositorio de AUR/Complemento de TOX para WeeChat en el repositorio de AUR y Complemento de TOX para Pidgin en el repositorio de AUR), además desde el mismo AUR («Arch User Repository», en inglés, o «Repositorio de Usuarix de Arch» en español) también se puede instalar RetroShare.
Comandos de instalación de paquetes en GNU/Linux y derivados
Arch Linux
sudo yay -Syu nombre-de-paquete-1 nombre-de-paquete-2…
Debian GNU/Linux
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install nombre-de-paquete-1 nombre-de-paquete-2…
Luego finalmente ejecutamos los nuevos softwares instalados desde el menú de aplicaciones o la terminal de comandos, que abrirá una ventana en GUI, y con ello podrán apreciar una interfáz interactiva que los guiará por el camino para comunicarse de forma segura, anónima y descentralizada sin servidores ni medios de control que intercepten o manipulen la información y datos transferidos.
Sin otro particular, nos despedimos dejándoles los repositorios GIT de las mencionadas aplicaciones que nos convocan: Retroshare y TOX.