Lanzamiento de ZeroNet 0.7, una plataforma para crear sitios web descentralizados

Después de un año de desarrollo, se lanzó el lanzamiento de una plataforma web descentralizada CeroNet 0.7, que propone utilizar los mecanismos de direccionamiento y verificación de Bitcoin en combinación con las tecnologías de entrega distribuida de BitTorrent para crear sitios que no puedan ser censurados, falsificados ni bloqueados. El contenido de los sitios se almacena en una red P2P en las máquinas de los visitantes y se verifica mediante la firma digital del propietario. Se utiliza un sistema de servidores DNS raíz alternativos para direccionar Namecoin. El proyecto está escrito en Python y distribuido por licenciado bajo GPLv2.

Los datos publicados en el sitio se verifican y se vinculan a la cuenta del propietario del sitio, similar a la vinculación de las billeteras Bitcoin, lo que también permite controlar la relevancia de la información y actualizar el contenido en tiempo real. Para ocultar direcciones IP, se puede utilizar la red Tor anónima, cuyo soporte está integrado en ZeroNet. El usuario participa en la distribución de todos los sitios a los que accedió. Una vez descargados en el sistema local, los archivos se almacenan en caché y están disponibles para su distribución desde la máquina actual utilizando métodos que recuerdan a BitTorrent.

Para ver los sitios ZeroNet, simplemente ejecute el script zeronet.py, después de lo cual podrá abrir sitios en el navegador a través de la URL “http://127.0.0.1:43110/zeronet_address” (por ejemplo, “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Al abrir un sitio web, el programa busca pares cercanos y descarga archivos asociados con la página solicitada (html, css, imágenes, etc.).
Para crear su sitio, simplemente ejecute el comando "zeronet.py siteCreate", después de lo cual se generará un identificador del sitio y una clave privada para confirmar la autoría mediante una firma digital.

Para el sitio creado, se creará un directorio vacío con el formato “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. Después de cambiar el contenido de este directorio, se debe certificar la nueva versión usando el comando “zeronet.py siteSign site_identifier” e ingresando la clave privada. Una vez que se ha verificado el nuevo contenido, es necesario anunciarlo con el comando "zeronet.py sitePublish site_id" para que la versión modificada esté disponible para los pares (la API WebSocket se utiliza para anunciar cambios). A lo largo de la cadena, los pares verificarán la integridad de la nueva versión mediante una firma digital, descargarán el nuevo contenido y lo transferirán a otros pares.

El principal capacidades:

  • No existe un único punto de falla: el sitio sigue siendo accesible si hay al menos un igual en la distribución;
  • Falta de almacenamiento de datos del sitio: el sitio no se puede cerrar desconectando el alojamiento, ya que los datos se encuentran en todas las máquinas de los visitantes;
  • Toda la información vista anteriormente está en el caché y es accesible desde la máquina actual en modo fuera de línea, sin acceso a la red global.
  • Admite actualización de contenido en tiempo real;
  • Posibilidad de direccionamiento mediante registro de dominio en la zona “.bit”;
  • Trabaje sin configuración preliminar: simplemente descomprima el archivo con el software y ejecute un script;
  • Posibilidad de clonar sitios web con un solo clic;
  • Autenticación sin contraseña basada en formato BIP32: la cuenta está protegida por el mismo método criptográfico que la criptomoneda Bitcoin;
  • Servidor SQL incorporado con funciones de sincronización de datos P2P;
  • La capacidad de usar Tor para mantener el anonimato y soporte completo para usar servicios ocultos de Tor (.onion) en lugar de direcciones IPv4;
  • Soporte de cifrado TLS;
  • Accesibilidad automática a través de uPnP;
  • Posibilidad de adjuntar al sitio varios autores con diferentes firmas digitales;
  • Disponibilidad de un complemento para crear configuraciones multiusuario (openproxy);
  • Soporte para la transmisión de noticias;
  • Funciona en cualquier navegador y sistema operativo.

Cambios importantes en ZeroNet 0.7

  • El código ha sido reelaborado para admitir Python3, lo que garantiza la compatibilidad con Python 3.4-3.8;
  • Se ha implementado un modo de sincronización de base de datos protegida;
  • Siempre que fue posible, se suspendió la distribución principal de bibliotecas de terceros en favor de dependencias externas;
  • El código para verificar firmas digitales se ha acelerado de 5 a 10 veces (se utiliza la biblioteca libsecp256k1;
  • Se agregó aleatorización de certificados ya generados para evitar filtros;
  • El código P2P se ha actualizado para utilizar el protocolo ZeroNet;
  • Modo sin conexión agregado;
  • Se agregó el complemento UiPluginManager para instalar y administrar complementos de terceros;
  • Se proporciona soporte completo para OpenSSL 1.1;
  • Al conectarse con pares, se utilizan registros SNI y ALPN ficticios para hacer que las conexiones sean más similares a las llamadas a sitios normales a través de HTTPS;

El mismo día del lanzamiento de ZeroNet 0.7.0 formado actualización 0.7.1, que elimina una vulnerabilidad peligrosa que potencialmente permite la ejecución de código en el lado del cliente. Debido a un error en el código para representar variables de plantilla, un sitio externo abierto puede establecer una conexión con el sistema cliente a través de WebSocket con derechos ADMIN/NOSANDBOX ilimitados, lo que permite cambiar los parámetros de configuración y ejecutar su código en la computadora del usuario a través de manipulaciones con el parámetro open_browser.
La vulnerabilidad aparece en la rama 0.7, así como en compilaciones experimentales a partir de la revisión. 4188 (cambio realizado hace 20 días).

Fuente: opennet.ru

Añadir un comentario