lançamento do framework , destinado à construção de redes P2P descentralizadas e seguras. As redes criadas com o GNUnet não possuem um único ponto de falha e podem garantir a privacidade das informações dos usuários, incluindo a exclusão de possíveis abusos por parte de agências de segurança e administradores que têm acesso aos nós da rede. O lançamento é marcado por mudanças significativas no protocolo, que quebram a compatibilidade retroativa com versões 0.11.x.
GNUnet suporta a criação de redes P2P sobre TCP, UDP, HTTP/HTTPS, Bluetooth e WLAN, podendo operar no modo F2F (Friend-to-friend). O contorno de NAT é suportado, incluindo o uso de UPnP e ICMP. Para endereçamento de localização de dados, é possível utilizar uma tabela hash distribuída (DHT). São fornecidos meios para a implantação de redes mesh. Para a concessão seletiva e revogação de direitos de acesso, é aplicado um serviço de troca descentralizada de atributos de identificação , GNS (GNU Name System) e criptografia baseada em atributos ().
O sistema se destaca por seu baixo consumo de recursos e pela utilização de uma arquitetura multiprocessada para garantir isolamento entre os componentes. Fornece ferramentas flexíveis para registro de logs e acumulação de estatísticas. Para o desenvolvimento de aplicativos finais, o GNUnet disponibiliza uma API para a linguagem C e bindings para outras linguagens de programação. Para simplificar o desenvolvimento, sugere-se o uso de loops de eventos em vez de threads e processos. Inclui uma biblioteca de testes para a implantação automática de redes experimentais que abrangem dezenas de milhares de pares.
Principais inovações do GNUnet 0.12:
- No sistema descentralizado de nomes de domínio GNS (GNU Name System), foram feitas alterações nos protocolos de formação de chave (para conformidade com o padrão em desenvolvimento futuro). Nomes de domínio e etiquetas estão em UTF-8, sem a utilização da notação punycode IDNA. Para tratamento de nomes IDNA não padrão, foi proposto um plugin NSS. Também foi adicionado um plugin para bloquear solicitações do root (o GNUnet nunca deve ser executado com privilégios de root).
- No GNS e (Estimativa de Tamanho da Rede) o algoritmo de prova de trabalho (proof of work) utilizado na revogação de zonas de domínio foi alterado. As mudanças estão relacionadas à complexidade dos cálculos em ASICs especializados.
- O plugin que implementa o transporte sobre UDP foi classificado como experimental devido a problemas de estabilidade;
- e foi documentado o formato binário para chaves públicas RSA;
- hashing redundante em assinaturas digitais EdDSA;
- Foi adicionada a possibilidade de instalar o script gnunet-logread para a auditoria de logs;
- A implementação do ECDH foi convertida para código ;
- Muitos problemas no sistema de compilação foram resolvidos. A dependência
(GNU Linear Programming Kit) foi removida. Foi adicionada uma descrição correta do pacote para distribuições baseadas no gerenciador de pacotes .
Vários aplicativos prontos estão sendo desenvolvidos com base nas tecnologias GNUnet:
- Serviço para troca anônima de arquivos, que não permite a análise das informações ao transmitir dados apenas de forma criptografada e não permite rastrear quem enviou, buscou ou baixou arquivos, graças ao uso do protocolo GAP.
- Um sistema VPN para a criação de serviços ocultos no domínio “.gnu” e para o encaminhamento de túneis IPv4 e IPv6 sobre a rede P2P. Suporte adicional é fornecido para a translação IPv4-para-IPv6 e IPv6-para-IPv4, bem como a criação de túneis IPv4 sobre IPv6 e IPv6 sobre IPv4.
- O Sistema de Nomes de Domínio GNS (GNU Name System) atua como uma alternativa totalmente descentralizada e imune à censura ao DNS. O GNS pode ser utilizado em conjunto com o DNS e aplicado em aplicativos tradicionais, como navegadores web. A integridade e a imutabilidade dos registros são garantidas pelo uso de métodos criptográficos. Ao contrário do DNS, o GNS utiliza um grafo direcionado em vez de uma hierarquia de servidores em árvore. A resolução de nomes é semelhante ao DNS, mas as solicitações e respostas são executadas de forma a preservar a privacidade — o nó que processa a solicitação não sabe para quem a resposta está sendo enviada, e nós de trânsito e observadores externos não conseguem decifrar as solicitações e respostas;
- O serviço GNUnet Conversation para realização de chamadas de voz sobre GNUnet. A identificação dos usuários é feita por meio do GNS, e o conteúdo do tráfego de voz é transmitido de forma criptografada. A anonimidade ainda não é garantida — outros peers podem rastrear a conexão entre dois usuários e determinar seus endereços IP.
- Uma plataforma para a construção de redes sociais descentralizadas , utilizando o protocolo e suportando a disseminação de notificações em modo multicast com a aplicação de criptografia ponta a ponta para que apenas os usuários autorizados (aqueles a quem as mensagens não são endereçadas, incluindo administradores de nós, não poderão lê-las) tenham acesso a mensagens, arquivos, chats e discussões;
- Um sistema para organizar e-mails criptografados , aplicando o GNUnet para proteger os metadados e suportando diversos para verificação de chaves;
- Um sistema de pagamentos , proporcionando anonimato para compradores, mas rastreando transações de vendedores para garantir transparência e fornecimento de relatórios fiscais. Suporta a operação com várias moedas existentes e dinheiro eletrônico, incluindo dólares, euros e bitcoins.
Fonte: opennet.ru
