Llega la nueva versión del framework para la creación de redes descentralizadas, GNUnet 0.12
Se ha liberado la nueva versión de GNUnet 0.12, el cual es un framework diseñado para construir redes P2P descentralizadas y seguras. Las redes creadas con GNUnet no tienen un solo punto de falla y pueden garantizar la privacidad de la información privada de los usuarios, incluida la eliminación de posibles abusos por parte de los servicios de seguridad y los administradores con acceso a los nodos de la red.
GNUnet admite la creación de redes P2P a través de TCP, UDP, HTTP / HTTPS, Bluetooth y WLAN, ademas de que puede funcionar en modo F2F. Se admite el bypass NAT, incluido el uso de UPnP e ICMP. Para abordar la ubicación de los datos, es posible usar una tabla hash distribuida (DHT). Se proporcionan medios para desplegar redes de malla.
Para otorgar y revocar selectivamente los derechos de acceso, se utiliza un intercambio descentralizado de atributos de identificación reclaimID, utilizando el GNS (Sistema de nombres GNU) y el cifrado basado en atributos.
El sistema se caracteriza por un bajo consumo de recursos y el uso de una arquitectura multiproceso para proporcionar aislamiento entre componentes. Se proporcionan herramientas flexibles para el registro y las estadísticas. Para desarrollar aplicaciones de usuario final, GNUnet proporciona una API para el lenguaje C y carpetas para otros lenguajes de programación.
Principales novedades de GNUnet 0.12
Esta nueva versión está marcada como importante, ya que contiene cambios significativos en el protocolo que violan la compatibilidad con versiones anteriores 0.11.x. Ademas de que en términos de usabilidad, los usuarios deben tener en cuenta que todavía hay una gran cantidad de problemas abiertos conocidos, en particular con respecto a la facilidad de uso, pero también algunos problemas críticos de privacidad, especialmente para usuarios móviles.
En esta nueva versión el sistema de nombres de dominio descentralizado GNS (Sistema de nombres GNU), tuvo diferentes cambios en los protocolos de generación de claves (para cumplir con las especificaciones cambiantes del futuro estándar).
Los nombres de dominio y las etiquetas están representados en UTF-8, sin el uso de la notación IDNA punycode. Se ha propuesto un complemento NSS para manejar nombres IDNA no estándar. También se ha agregado un complemento para bloquear solicitudes de root (GNUnet nunca debe ejecutarse con privilegios de root).
GNS y NSE (Estimación del tamaño de la red) cambiaron el algoritmo de prueba de trabajo utilizado para revocar una zona de dominio. Los cambios están relacionados con la complejidad de los cálculos en ASIC especializados.
El complemento con la implementación del transporte sobre UDP se transfiere a la categoría experimental debido a problemas de estabilidad, ademas de que el formato binario fue mejorado y documentado para claves públicas RSA junto con la eliminación del hashing innecesario en las firmas digitales EdDSA.
Ademas se agregó la capacidad de instalar el script gnunet-logread para registros de auditoría. Y se han resuelto muchos problemas en el sistema de ensamblaje. GLPK (Kit de programación lineal GNU) eliminado de las dependencias.
¿Como instalar GNUnet 1.2 en Ubuntu y derivados?
Para realizar la instalación vamos a abrir una terminal y en ella tecleamos lo siguiente:
sudo apt install git libtool autoconf autopoint \ build-essential libgcrypt-dev libidn11-dev zlib1g-dev \ libunistring-dev libglpk-dev miniupnpc libextractor-dev \ libjansson-dev libcurl4-gnutls-dev gnutls-bin libsqlite3-dev \ openssl libnss3-tools libmicrohttpd-dev libopus-dev libpulse-dev \ libogg-dev
Hecho esto vamos a crear la carpeta donde se realizara la instalación:
mkdir ~/gnunet_installation cd ~/gnunet_installation
Obtenemos el código de GNUnet:
git clone --depth 1 https://gnunet.org/git/gnunet.git
Y procedemos a realizar la compilación:
cd ~/gnunet_installation/gnunet export GNUNET_PREFIX=/usr/local # for example, other locations possible ./bootstrap ./configure --prefix=$GNUNET_PREFIX --disable-documentation --with-microhttpd=/opt/libmicrohttpd sudo addgroup gnunetdns sudo adduser --system --group --disabled-login --home /var/lib/gnunet gnunet sudo usermod -aG gnunet $USER make -j$(nproc || echo -n 1) sudo make install
Y listo con ello ya tendremos GNUnet instalado en el sistema. Pero antes de comenzar, necesitamos crear un archivo de configuración, el cual por defecto, GNUnet busca en nuestro directorio de inicio en la siguiente ruta `~ / .config / gnunet.conf`.
Por lo que podemos comenzar crear un archivo vacío con el siguiente comando:
mkdir -p ~/.config $ touch ~/.config/gnunet.conf