Estatísticas de Desempenho do I2P
Testei o i2p ...
Funciona, mas o desempenho, anonimato e confiabilidade são questionáveis…
TL;DR
Para resumir
- Testei 3 tipos de implantações para medir como funcionam como proxies (muito similares)
- Testei 3 tipos de implantações de serviço oculto (i2p+ foi o melhor)
- A participação no flood não afeta o desempenho da rede i2p, mas aumenta o consumo de recursos.
I2P é lento. Um ping leva 5-10 segundos. E não está garantido que não time-out, mesmo que você tenha uma boa conexão.
Breve o que é
I2P é um protocolo de rede sobre IP, ele usa tanto TCP quanto UDP, tanto IPv6 quanto IPv4.
A ideia principal é como a TOR - passar os pacotes da rede criptografando-os em tempo real, de forma que
- o nó que passa o pacote não sabe o que está dentro
- o nó que recebe o pacote não sabe o remetente original.
I2P não tem um método padrão para visualizar a “internet grande” (clearnet), existem outproxies, mas vamos lá… 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 qualquer coisa hospedada lá, API REST, servidor XMPP ou de e-mail.
E não há muitos serviços lá. Aproximadamente 200 sites? Ou 300?
Propósito, forma, aspectos morais e legais.
Eu vejo duas motivações para hospedar um serviço oculto
- Garantir (certificar-se) da própria anonimia e privacidade
- Escapar do olhar direto do Big Brother - nem todos vivem em países democráticos, alguns governos tirânicos oprimem e reprimem quem quer que possa. Mas nesse balde (“escapar”) eu colocaria qualquer atividade ilegal. É apenas uma motivação.
Os aspectos morais e legais são complicados. Minha visão (não sou um especialista legal, então não tome isso como conselho):
As pessoas têm o [moral] direito à privacidade. Elas têm o [moral] direito de dizer “F.U. Não é da sua conta”. Elas têm o [moral] direito de não estar feliz quando alguns programas ou celulares publicam sua localização, satélites tiram fotos de seus quintais e publicam essas fotos no Google Street View, e governos ignoram essa atividade e essa falta de felicidade. Ao mesmo tempo, o governo tem, AFAIK, [legal] direito de invadir a privacidade das pessoas, existem algumas condições, às vezes. Por exemplo, na Austrália, um policial pode exigir que você desbloqueie seu celular, o que tem grandes implicações morais. Veja a história de Monica Smith, que de alguma forma foi exigida para desbloquear seu celular, onde a polícia obteria contatos de manifestantes pró-liberdade. (Esses eram os tempos de lockdowns por causa da COVID em Melbourne, os mais difíceis do mundo). A polícia recuou, mas Monica então correu o risco de passar tempo na prisão por não cumprir.
A anonimia é 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 claras e procedimentos quando qualquer um é permitido usá-las.
Desempenho
OK. Aqui vamos nós.
Medi quanto tempo leva para completar o ping. (HEAD {site}.i2p)
Abaixo está a dispersão do atraso de resposta.
Este gráfico de dispersão mostra que a duração esperada da chamada seria em torno de 5 segundos.
Defini o tempo limite para 90 segundos, e como você pode ver, algumas solicitações não completaram absolutamente nada. 30 segundos e 60 segundos, acho que são alguns tempos limite do lado do serviço ou do lado do roteador.
Sites principais são sites bem estabelecidos http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p e similares, totalizando 25 desses. Grupo Extra - conjunto de outros 100+ sites.
Assumi que os proprietários 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 duração média da chamada). E! os sites principais ainda estavam temporariamente falhando ocasionalmente, como você vê no primeiro gráfico (dispersão da duração da solicitação).
Abaixo está o gráfico de usabilidade do tipo de proxy.
Medi as durações do ping dos sites do grupo principal a partir de diferentes proxies. I2P+ em um e I2Pd em duas implantações diferentes estão mostrando resultados bastante similares.
Agora a adequação para hospedagem de serviço.
O vermelho mais grosso aqui é I2P+.
Anonimato
Havia de 4000 a 10000 roteadores online, seus endereços IP públicos são bem visíveis. Então não podemos falar de um grande anonimato aqui.
Consumo de recursos
No meu experimento, o I2Pd consumiu ~130MB de RAM + ~7% de CPU.
O I2P+ estava consumindo ~350+MB de RAM + ~70+% de CPU.
Na configuração do I2P+, aumentei um pouco a alocação de RAM, esperando que desempenhasse melhor. Então, aqui estamos.
Na minha experiência, a participação no flood não afetou o desempenho da rede i2p, mas aumentou a carga da CPU aproximadamente +20%.
Então, se você planeja hospedar I2Pd - 1vCPU+512MB funcionaria, acredito. E para I2P+ - 2vCPU+1GB no mínimo.
A sensação
É como um Fido, BBS e bons tempos antigos. Quando a internet é tão pequena que todos se conhecem apenas por apelidos.
É lento. E vazio.
Mas a sensação é tão analógica.