Lanzamento de ZeroNet 0.7, unha plataforma para crear sitios web descentralizados

Despois dun ano de desenvolvemento, lanzouse o lanzamento dunha plataforma web descentralizada ZeroNet 0.7, que propón usar os mecanismos de direccionamento e verificación de Bitcoin en combinación coas tecnoloxías de entrega distribuídas de BitTorrent para crear sitios que non poden ser censurados, falsificados ou bloqueados. O contido dos sitios almacénase nunha rede P2P nas máquinas dos visitantes e verifícase mediante a sinatura dixital do propietario. Para o enderezo úsase un sistema de servidores DNS raíz alternativos Namecoin. O proxecto está escrito en Python e distribuído por licenciado baixo GPLv2.

Os datos publicados no sitio son verificados e ligados á conta do propietario do sitio, de xeito similar á ligazón de carteiras Bitcoin, o que tamén permite controlar a relevancia da información e actualizar o contido en tempo real. Para ocultar enderezos IP, pódese usar a rede Tor anónima, cuxa compatibilidade está integrada en ZeroNet. O usuario participa na distribución de todos os sitios aos que accedeu. Unha vez descargados no sistema local, os ficheiros son almacenados na caché e están dispoñibles para a súa distribución desde a máquina actual mediante métodos que lembran a BitTorrent.

Para ver os sitios ZeroNet, só tes que executar o script zeronet.py, despois do cal podes abrir sitios no navegador a través do URL "http://127.0.0.1:43110/zeronet_address" (por exemplo, "http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Ao abrir un sitio web, o programa atopa pares próximos e descarga ficheiros asociados á páxina solicitada (html, css, imaxes, etc.).
Para crear o teu sitio, só tes que executar o comando "zeronet.py siteCreate", despois de que se xerará un identificador do sitio e unha clave privada para confirmar a autoría mediante unha sinatura dixital.

Para o sitio creado, crearase un directorio baleiro do formulario "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". Despois de cambiar o contido deste directorio, a nova versión debe certificarse mediante o comando "zeronet.py siteSign site_identifier" e introducindo a clave privada. Unha vez verificado o novo contido, debe anunciarse co comando "zeronet.py sitePublish site_id" para que a versión modificada estea dispoñible para os compañeiros (utilízase a API de WebSocket para anunciar cambios). Ao longo da cadea, os compañeiros comprobarán a integridade da nova versión mediante unha sinatura dixital, descargarán o novo contido e transferirán a outros compañeiros.

O principal capacidades:

  • Non hai un único punto de falla: o sitio segue sendo accesible se hai polo menos un par na distribución;
  • Falta de almacenamento de referencia para o sitio: o sitio non se pode pechar desconectando o hospedaxe, xa que os datos están localizados en todas as máquinas dos visitantes;
  • Toda a información visualizada anteriormente está na caché e é accesible desde a máquina actual en modo sen conexión, sen acceso á rede global.
  • Admite actualización de contido en tempo real;
  • Posibilidade de direccionar mediante rexistro de dominio na zona “.bit”;
  • Traballa sen configuración preliminar: só tes que descomprimir o arquivo co software e executar un script;
  • Capacidade de clonar sitios web cun só clic;
  • Autenticación sen contrasinal baseada en formato BIP32: a conta está protexida polo mesmo método criptográfico que a criptomoeda Bitcoin;
  • Servidor SQL integrado con funcións de sincronización de datos P2P;
  • A capacidade de usar Tor para o anonimato e soporte total para usar os servizos ocultos de Tor (.onion) en lugar de enderezos IPv4;
  • Soporte de cifrado TLS;
  • Accesibilidade automática a través de uPnP;
  • Posibilidade de achegar ao sitio varios autores con diferentes sinaturas dixitais;
  • Dispoñibilidade dun complemento para a creación de configuracións multiusuario (openproxy);
  • Soporte para a difusión de fontes de noticias;
  • Funciona en calquera navegador e sistema operativo.

Principais cambios en ZeroNet 0.7

  • O código foi reelaborado para admitir Python3, garantindo a compatibilidade con Python 3.4-3.8;
  • Implementouse un modo de sincronización de base de datos protexida;
  • Cando foi posible, interrompeuse a distribución principal de bibliotecas de terceiros en favor das dependencias externas;
  • O código para verificar sinaturas dixitais acelerouse de 5 a 10 veces (utilízase a biblioteca libsecp256k1;
  • Engadiuse a aleatorización de certificados xa xerados para evitar filtros;
  • Actualizouse o código P2P para utilizar o protocolo ZeroNet;
  • Engadido modo sen conexión;
  • Engadiuse o complemento UiPluginManager para instalar e xestionar complementos de terceiros;
  • Ofrécese soporte completo para OpenSSL 1.1;
  • Cando se conecta a pares, utilízanse rexistros falsos SNI e ALPN para facer conexións máis semellantes ás chamadas a sitios habituais a través de HTTPS;

O mesmo día que o lanzamento de ZeroNet 0.7.0 formado actualización 0.7.1, que elimina unha perigosa vulnerabilidade que potencialmente permite a execución de código no lado do cliente. Debido a un erro no código para renderizar as variables do modelo, un sitio externo aberto pode establecer unha conexión co sistema cliente a través de WebSocket con dereitos de ADMIN/NOSANDBOX ilimitados, o que fai posible cambiar os parámetros de configuración e executar o seu código no ordenador do usuario mediante manipulacións co parámetro open_browser.
A vulnerabilidade aparece na rama 0.7, así como en compilacións experimentais a partir da revisión 4188 (cambio feito hai 20 días).

Fonte: opennet.ru

Engadir un comentario