Estatísticas de Desempenho do I2P
Testei o i2p....
Funciona, mas o desempenho, o anonimato e a confiabilidade são muito questionáveis…

TL;DR (Resumo)
Para ser breve:
- Testei 3 tipos de implantação para medir como funcionam como proxies (muito similares)
- Testei 3 tipos de implantação de serviços ocultos (o i2p+ foi o melhor)
- A participação Flood não afeta o desempenho da rede i2p, mas aumenta o consumo de recursos.
O I2P é lento. Um único ping leva de 5 a 10 segundos. E não há garantia de que não ocorra tempo limite (timeout), mesmo que você tenha uma boa conexão.
Breve explicação do que é
O I2P é um protocolo de rede sobre o IP, que usa tanto TCP quanto UDP, tanto IPv6 quanto IPv4.
A ideia principal é semelhante à do TOR - fazer os pacotes de rede passarem sendo criptografados em tempo real, de modo que:
- o nó que encaminha o pacote não sabe o que está dentro dele
- o nó que recebe o pacote não sabe quem é o remetente original.
O I2P não tem uma maneira padrão de visualizar a “grande internet” (clearnet); existem outproxies, mas vamos lá… o TOR é muito melhor nisso. O que o i2p tem são “serviços ocultos”. Teoricamente, esses serviços não sabem quem os chama e os usuários não sabem em qual nó cada serviço está localizado.
Os serviços podem ser qualquer programa padrão da internet - servidor IRC, servidor web com o que for hospedado lá, API REST, XMPP ou servidor de e-mail.
E não há muitos serviços lá. Aproximadamente 200 sites? Ou 300?
Propósito, Método, Aspectos Morais e Legais.
Eu poderia ver duas motivações para hospedar um serviço oculto:
- Garantir (assegurar) o próprio anonimato e privacidade
- Fugir do olhar direto do Grande Irmão - nem todas as pessoas vivem em países democráticos, alguns governos tirânicos oprimem e reprimem quem puderem. Mas, neste bucket (“fuga”), eu colocaria qualquer atividade ilegal. É apenas um motivo.
Os aspectos morais e legais são complicados. Minha visão (não sou um especialista em direito, então não tome isso como conselho):
As pessoas têm o [direito moral] à privacidade. Elas têm o [direito moral] de dizer: “Fuja. Não é da sua conta”. Elas têm o [direito moral] de ser… digamos… infelizes, quando alguns programas ou telefones móveis publicam sua localização, satélites tiram fotos de seus quintais e publicam essas imagens no Google Street View, e os governos ignoram essa atividade e essa infelicidade. Ao mesmo tempo, o governo tem, que eu saiba, o [direito legal] de invadir a privacidade das pessoas, sob certas condições, às vezes. Por exemplo, na Austrália, um policial pode exigir que você desbloqueie seu telefone celular, o que tem implicações morais enormes. Veja a história de Monica Smith, que de alguma forma foi exigida a desbloquear seu telefone, onde a polícia obteria contatos de manifestantes pró-liberdade. (Esses foram os dias de lockdown da COVID em Melbourne, os mais duros do mundo). A polícia recuou, mas Monica então correu o risco de prisão por não cumprimento.
O anonimato é outro grande aspecto da vida das pessoas. Minha visão é que a vigilância e a desanonimização são usadas com muita frequência apenas para doxxing, invasão de privacidade e bullying. E é melhor ter regras e procedimentos claros sobre quando alguém pode usá-los.
Desempenho
OK. Aqui vamos nós.
Eu meci quanto tempo leva para completar o ping. (HEAD {site}.i2p)
Abaixo está a distribuição do atraso de resposta.

Este gráfico de distribuição mostra que a duração esperada da chamada seria de cerca de 5 segundos.
Eu defini o tempo limite para 90 segundos e, como você vê, algumas solicitações não foram concluídas de forma alguma. Acho que 30 segundos e 60 segundos são alguns tempos limite do lado do serviço ou do roteador.

Os sites principais são sites bem estabelecidos http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p e similares, total de 25 desses. Grupo Extra - conjunto de outros 100+ sites.
Eu assumi que os proprietores dos sites principais sabem o que estão fazendo e, de fato, o desempenho de seus sites é melhor do que o do grupo extra. Mas a diferença não é enorme - apenas 1 segundo (~5 segundos vs ~6 segundos de duração mediana da chamada). E! os sites principais ainda estavam com tempo limite ocasionalmente, como você vê no primeiro gráfico (distribuição de duração da solicitação).
Abaixo está o gráfico de usabilidade do tipo de proxy.

Durações de ping medidas de sites do grupo Principal de diferentes proxies. O I2P+ em um e o I2Pd em duas implantações diferentes estão mostrando resultados bem similares.
Agora, adequação de hospedagem de serviços.

O vermelho grosso aqui é o I2P+.
Anonimato
Havia de 4.000 a 10.000 roteadores online, seus endereços IP públicos são bem visíveis. Então, não podemos falar de um anonimato enorme aqui.
Consumo de recursos
O I2Pd em meus experimentos consumiu ~130MB de RAM + ~7% de CPU.

O I2P+ estava consumindo ~350+MB de RAM + ~70+% de CPU.
Na configuração do I2P+ eu aumentei um pouco a permissão de RAM, esperando que ele se comportasse melhor. Então, eis aqui estamos.
A participação Flood em meus experimentos não afetou o desempenho da rede i2p, mas aumentou a carga de CPU em aproximadamente +20%.
Então, se você está planejando hospedar o I2Pd - 1 vCPU + 512MB seria suficiente, acredito. E para o I2P+ - 2 vCPU + 1GB, pelo menos.
A sensação
É como um Fido, BBS e os bons tempos antigos. Quando a rede é tão pequena que quase todos se conhecem, apenas pelos nomes de usuário (nicks).
É lento. E vazio.
Mas a sensação é tão analógica.