Estatísticas de Desempenho do I2P

Testei o i2p....

Conteúdo da página

Funciona, mas o desempenho, o anonimato e a confiabilidade são muito questionáveis…

i2p+ desktop

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.

i2p ping times spread

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.

i2p overall ping delays spread

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.

i2p proxy type usability

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.

i2p service hosting usability

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.

Very Nice!

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.