Lançamento do ZeroNet 0.7, plataforma para criação de sites descentralizados

Após um ano de desenvolvimento, foi lançado o lançamento de uma plataforma web descentralizada ZeroNet 0.7, que propõe o uso dos mecanismos de endereçamento e verificação do Bitcoin em combinação com as tecnologias de entrega distribuída do BitTorrent para criar sites que não podem ser censurados, falsificados ou bloqueados. O conteúdo dos sites é armazenado em rede P2P nas máquinas dos visitantes e verificado por meio da assinatura digital do proprietário. Um sistema de servidores DNS raiz alternativos é usado para endereçar Namecoin. O projeto é escrito em Python e distribuído por licenciado sob GPLv2.

Os dados postados no site são verificados e vinculados à conta do dono do site, à semelhança da vinculação das carteiras Bitcoin, o que também permite controlar a relevância das informações e atualizar o conteúdo em tempo real. Para ocultar endereços IP, a rede Tor anônima pode ser usada, cujo suporte está integrado no ZeroNet. O usuário participa da distribuição de todos os sites que acessou. Depois de baixados para o sistema local, os arquivos são armazenados em cache e disponibilizados para distribuição na máquina atual usando métodos que lembram o BitTorrent.

Para visualizar sites ZeroNet, basta executar o script zeronet.py, após o qual você pode abrir sites no navegador através da URL “http://127.0.0.1:43110/zeronet_address” (por exemplo, “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Ao abrir um site, o programa encontra peers próximos e baixa os arquivos associados à página solicitada (html, css, imagens, etc.).
Para criar o seu site, basta executar o comando “zeronet.py siteCreate”, após o qual será gerado um identificador do site e uma chave privada para confirmar a autoria por meio de uma assinatura digital.

Para o site criado, será criado um diretório vazio no formato “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. Após alterar o conteúdo deste diretório, a nova versão deve ser certificada através do comando “zeronet.py siteSign site_identifier” e inserindo a chave privada. Uma vez verificado o novo conteúdo, ele precisa ser anunciado com o comando “zeronet.py sitePublish site_id” para que a versão alterada fique disponível aos pares (a API WebSocket é usada para anunciar as alterações). Ao longo da cadeia, os pares verificarão a integridade da nova versão por meio de uma assinatura digital, baixarão o novo conteúdo e o transferirão para outros pares.

O principal capacidades:

  • Não existe um ponto único de falha – o site permanece acessível se houver pelo menos um peer na distribuição;
  • Falta de armazenamento de referência para o site - o site não pode ser fechado desligando a hospedagem, pois os dados estão localizados em todas as máquinas dos visitantes;
  • Todas as informações visualizadas anteriormente ficam no cache e podem ser acessadas na máquina atual em modo offline, sem acesso à rede global.
  • Suporta atualização de conteúdo em tempo real;
  • Possibilidade de endereçamento através de registo de domínio na zona “.bit”;
  • Trabalhe sem configuração preliminar - basta descompactar o arquivo com o software e executar um script;
  • Capacidade de clonar sites com um clique;
  • Autenticação sem senha baseada em formato BIP32: a conta é protegida pelo mesmo método criptográfico da criptomoeda Bitcoin;
  • Servidor SQL integrado com funções de sincronização de dados P2P;
  • A capacidade de usar o Tor para anonimato e suporte total para o uso de serviços ocultos do Tor (.onion) em vez de endereços IPv4;
  • Suporte para criptografia TLS;
  • Acessibilidade automática via uPnP;
  • Possibilidade de anexar ao site vários autores com assinaturas digitais diferentes;
  • Disponibilidade de plugin para criação de configurações multiusuário (openproxy);
  • Suporte para transmissão de feeds de notícias;
  • Funciona em qualquer navegador e sistema operacional.

Principais mudanças no ZeroNet 0.7

  • O código foi retrabalhado para suportar Python3, garantindo compatibilidade com Python 3.4-3.8;
  • Um modo protegido de sincronização de banco de dados foi implementado;
  • Sempre que possível, a distribuição principal de bibliotecas de terceiros foi descontinuada em favor de dependências externas;
  • O código para verificação de assinaturas digitais foi acelerado de 5 a 10 vezes (a biblioteca libsecp256k1 é usada;
  • Adicionada randomização de certificados já gerados para contornar filtros;
  • O código P2P foi atualizado para usar o protocolo ZeroNet;
  • Adicionado modo offline;
  • Adicionado plugin UiPluginManager para instalação e gerenciamento de plugins de terceiros;
  • É fornecido suporte completo para OpenSSL 1.1;
  • Ao conectar-se a pares, registros fictícios SNI e ALPN são usados ​​para tornar as conexões mais semelhantes às chamadas para sites regulares por HTTPS;

No mesmo dia do lançamento do ZeroNet 0.7.0 formado atualização 0.7.1, que elimina uma vulnerabilidade perigosa que potencialmente permite a execução de código no lado do cliente. Devido a um erro no código de renderização de variáveis ​​de template, um site externo aberto pode estabelecer uma conexão com o sistema cliente via WebSocket com direitos ADMIN/NOSANDBOX ilimitados, o que possibilita alterar parâmetros de configuração e executar seu código no computador do usuário através manipulações com o parâmetro open_browser.
A vulnerabilidade aparece no branch 0.7, bem como em compilações experimentais a partir da revisão 4188 (alteração feita há 20 dias).

Fonte: opennet.ru

Adicionar um comentário